summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/cocoa
diff options
context:
space:
mode:
authorSilenio Quarti <silenio_quarti@ca.ibm.com>2013-05-10 14:58:45 -0400
committerSilenio Quarti <silenio_quarti@ca.ibm.com>2013-05-10 14:58:45 -0400
commit9a80949a18eff49434f46c96af608ae42a363d3e (patch)
treeeb926902f70df05ebe9ec37408d6b05c06d2002c /bundles/org.eclipse.swt/Eclipse SWT/cocoa
parentc660730bd911adbdda866a00c1ace2ec715d90d6 (diff)
downloadeclipse.platform.swt-9a80949a18eff49434f46c96af608ae42a363d3e.tar.gz
eclipse.platform.swt-9a80949a18eff49434f46c96af608ae42a363d3e.tar.xz
eclipse.platform.swt-9a80949a18eff49434f46c96af608ae42a363d3e.zip
Bug 407555 - StackOverflowError in SWT widgets on Mac OS
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/cocoa')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
index 946473f8df..d27ffa40f2 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
@@ -4915,7 +4915,12 @@ public void update () {
void update (boolean all) {
// checkWidget();
- if (display.isPainting.containsObject(view)) return;
+ NSArray isPainting = display.isPainting;
+ if (isPainting.containsObject(view)) return;
+ for (int i = 0, length = (int)/*64*/isPainting.count(); i < length; i++) {
+ NSView view = new NSView(isPainting.objectAtIndex(i));
+ if (view.isDescendantOf(this.view)) return;
+ }
if (isResizing()) return;
Shell shell = getShell();
NSWindow window = shell.deferFlushing && shell.scrolling ? view.window() : null;