diff options
author | Marc Englund <marc@vaadin.com> | 2012-11-12 09:58:29 +0000 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2012-11-12 09:58:29 +0000 |
commit | eb110315cd15e886b0c995de9e3e81a9d1a0bbdc (patch) | |
tree | 33e2ca08d92c3ab45896961149e505cf51703e09 | |
parent | ef3e77f84ece173ebd34c29fbbcf11f499fe80ef (diff) | |
parent | 0ff6013e1afd0e11e0f324275b044381960e5dc4 (diff) | |
download | vaadin-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.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); } } |