summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/AbsoluteLayout.java
diff options
context:
space:
mode:
authorHenri Sara <henri.sara@itmill.com>2011-03-16 08:31:31 +0000
committerHenri Sara <henri.sara@itmill.com>2011-03-16 08:31:31 +0000
commit722adf8a3efca33301bf67a9932ae0b22f19847e (patch)
tree6a220a0be02df76f1221a8146e56161f23560434 /src/com/vaadin/ui/AbsoluteLayout.java
parent153e258ba43ed46ffb8865ea58051b7719483a61 (diff)
downloadvaadin-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.java19
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;
+ }
}
/**