diff options
author | Henri Sara <henri.sara@itmill.com> | 2011-03-16 08:31:31 +0000 |
---|---|---|
committer | Henri Sara <henri.sara@itmill.com> | 2011-03-16 08:31:31 +0000 |
commit | 722adf8a3efca33301bf67a9932ae0b22f19847e (patch) | |
tree | 6a220a0be02df76f1221a8146e56161f23560434 /src/com/vaadin/ui/AbsoluteLayout.java | |
parent | 153e258ba43ed46ffb8865ea58051b7719483a61 (diff) | |
download | vaadin-framework-722adf8a3efca33301bf67a9932ae0b22f19847e.tar.gz vaadin-framework-722adf8a3efca33301bf67a9932ae0b22f19847e.zip |
Merged some changes from 6.5
svn changeset:17798/svn branch:6.6
Diffstat (limited to 'src/com/vaadin/ui/AbsoluteLayout.java')
-rw-r--r-- | src/com/vaadin/ui/AbsoluteLayout.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/com/vaadin/ui/AbsoluteLayout.java b/src/com/vaadin/ui/AbsoluteLayout.java index 3b0239af7b..c7a1583d28 100644 --- a/src/com/vaadin/ui/AbsoluteLayout.java +++ b/src/com/vaadin/ui/AbsoluteLayout.java @@ -122,8 +122,23 @@ public class AbsoluteLayout extends AbstractLayout implements * The css position string */ public void addComponent(Component c, String cssPosition) { - addComponent(c); - getPosition(c).setCSSString(cssPosition); + /* + * Create position instance and add it to componentToCoordinates map. We + * need to do this before we call addComponent so the attachListeners + * can access this position. #6368 + */ + ComponentPosition position = new ComponentPosition(); + position.setCSSString(cssPosition); + componentToCoordinates.put(c, position); + + try { + addComponent(c); + + } catch (IllegalArgumentException e) { + // Remove component coordinates if adding fails + componentToCoordinates.remove(c); + throw e; + } } /** |