commit | 629369874e5cf699fb2c44f9b7218001979a0698 | [log] [tgz] |
---|---|---|
author | Leo Ufimtsev <lufimtse@redhat.com> | Thu Oct 06 11:45:25 2016 -0400 |
committer | Leo Ufimtsev <lufimtse@redhat.com> | Thu Oct 06 11:45:25 2016 -0400 |
tree | bafff7ee61c604220418d23a78f5243d6ff52679 | |
parent | 5bd8251a0b8e24647a27b30b7e47de1426721cab [diff] |
Bug 497812: requestLayout not layout correctly (after a DnD) Backport of: https://git.eclipse.org/r/#/c/80818/ to R4_6. Hand-written (instead of cherry picking) as instance-of was never introduced in maintenance. Change-Id: I7cb40cc4069e947697b74927ade1d9b628252fff Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=497812 Signed-off-by: Leo Ufimtsev <lufimtse@redhat.com>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java index 385b232..ca07d36 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Composite.java
@@ -868,6 +868,9 @@ for (int i=0; i<changed.length; i++) { Control child = changed [i]; Composite composite = child.parent; + // Update layout when the list of children has changed. + // See bug 497812. + child.markLayout(false, false); while (child != this) { if (composite.layout != null) { composite.state |= LAYOUT_NEEDED;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java index 2475336..f8665bb 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
@@ -1176,6 +1176,9 @@ for (int i=0; i<changed.length; i++) { Control child = changed [i]; Composite composite = child.parent; + // Update layout when the list of children has changed. + // See bug 497812. + child.markLayout(false, false); while (child != this) { if (composite.layout != null) { composite.state |= LAYOUT_NEEDED;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java index 0eca1af..cf80097 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java
@@ -845,6 +845,9 @@ for (int i=0; i<changed.length; i++) { Control child = changed [i]; Composite composite = child.parent; + // Update layout when the list of children has changed. + // See bug 497812. + child.markLayout(false, false); while (child != this) { if (composite.layout != null) { composite.state |= LAYOUT_NEEDED;