diff options
Diffstat (limited to 'theme-compiler/src')
-rw-r--r-- | theme-compiler/src/com/vaadin/sass/visitor/BlockNodeHandler.java | 15 |
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); } } |