aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Englund <marc@vaadin.com>2012-11-12 09:58:29 +0000
committerVaadin Code Review <review@vaadin.com>2012-11-12 09:58:29 +0000
commiteb110315cd15e886b0c995de9e3e81a9d1a0bbdc (patch)
tree33e2ca08d92c3ab45896961149e505cf51703e09
parentef3e77f84ece173ebd34c29fbbcf11f499fe80ef (diff)
parent0ff6013e1afd0e11e0f324275b044381960e5dc4 (diff)
downloadvaadin-framework-eb110315cd15e886b0c995de9e3e81a9d1a0bbdc.tar.gz
vaadin-framework-eb110315cd15e886b0c995de9e3e81a9d1a0bbdc.zip
Merge "Fixes #9545 SASS mixin nesting bugs with mixin. Fixes issue with blocknodes showing up in the wrong order"
-rw-r--r--theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java b/theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java
index efbfc4b8ff..d338cb0843 100644
--- a/theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java
+++ b/theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java
@@ -17,12 +17,15 @@
package com.vaadin.sass.visitor;
import java.util.ArrayList;
+import java.util.HashMap;
import com.vaadin.sass.tree.BlockNode;
import com.vaadin.sass.tree.Node;
public class BlockNodeHandler {
+ private static HashMap<Node, Node> lastNodeAdded = new HashMap<Node, Node>();
+
public static void traverse(BlockNode node) {
Node parent = node.getParentNode();
@@ -57,7 +60,15 @@ public class BlockNodeHandler {
}
node.setSelectorList(newList);
- node.getParentNode().getParentNode()
- .appendChild(node, node.getParentNode());
+ Node oldParent = node.getParentNode();
+ if (lastNodeAdded.get(oldParent) != null) {
+ node.getParentNode().getParentNode()
+ .appendChild(node, lastNodeAdded.get(oldParent));
+ } else {
+ node.getParentNode().getParentNode()
+ .appendChild(node, node.getParentNode());
+ }
+
+ lastNodeAdded.put(oldParent, node);
}
}