summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Gayed <grant_gayed@ca.ibm.com>2013-07-11 12:27:38 -0400
committerGrant Gayed <grant_gayed@ca.ibm.com>2013-07-11 12:28:27 -0400
commit200e62389c669a1f87627fe1ed034f46c7d17ed8 (patch)
treedc06d0f44dcc9f36c96091ad3678f48e788614ff
parent3bd130c31bf829e2454963f915aed0e3e9db5b5b (diff)
downloadeclipse.platform.swt-200e62389c669a1f87627fe1ed034f46c7d17ed8.tar.gz
eclipse.platform.swt-200e62389c669a1f87627fe1ed034f46c7d17ed8.tar.xz
eclipse.platform.swt-200e62389c669a1f87627fe1ed034f46c7d17ed8.zip
Bug 412706 - Widget is disposed using Browser in Section
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Composite.java1
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Control.java1
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ExpandBar.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Label.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Link.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scale.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java2
8 files changed, 14 insertions, 0 deletions
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 c28b83b150..30e43b70f8 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
@@ -1430,6 +1430,7 @@ LRESULT WM_PARENTNOTIFY (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
if ((state & CANVAS) == 0 || (state & FOREIGN_HANDLE) != 0) {
return super.WM_PAINT (wParam, lParam);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Control.java
index 65013a6f5d..e1b859748d 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Control.java
@@ -5170,6 +5170,7 @@ LRESULT WM_NOTIFY (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
return wmPaint (handle, wParam, lParam);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ExpandBar.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ExpandBar.java
index dce62815a0..461c312b8a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ExpandBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/ExpandBar.java
@@ -749,6 +749,8 @@ LRESULT WM_MOUSEWHEEL (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
+
PAINTSTRUCT ps = new PAINTSTRUCT ();
GCData data = new GCData ();
data.ps = ps;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Label.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Label.java
index 9f5814c287..3edfc3e8bc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Label.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Label.java
@@ -550,6 +550,8 @@ LRESULT wmColorChild (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
+
if (OS.IsWinCE) {
boolean drawImage = image != null;
boolean drawSeparator = (style & SWT.SEPARATOR) != 0 && (style & SWT.SHADOW_NONE) == 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Link.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Link.java
index 13554dd732..397afd3a06 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Link.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Link.java
@@ -990,9 +990,11 @@ LRESULT WM_MOUSEMOVE (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
if (OS.COMCTL32_MAJOR >= 6) {
return super.WM_PAINT (wParam, lParam);
}
+
PAINTSTRUCT ps = new PAINTSTRUCT ();
GCData data = new GCData ();
data.ps = ps;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scale.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scale.java
index a0664b7e6f..fa98c04d12 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scale.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Scale.java
@@ -510,6 +510,8 @@ LRESULT WM_MOUSEWHEEL (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
+
/*
* Bug in Windows. For some reason, when WM_CTLCOLORSTATIC
* is used to implement transparency and returns a NULL brush,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
index be969bb048..2c334304e8 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
@@ -6184,6 +6184,8 @@ LRESULT WM_MOUSEHOVER (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
+
_checkShrink();
if (fixScrollWidth) setScrollWidth (null, true);
if (!OS.IsWinCE && OS.COMCTL32_MAJOR < 6) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
index e3fb43415d..4538de6baf 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
@@ -6962,6 +6962,8 @@ LRESULT WM_RBUTTONDOWN (long /*int*/ wParam, long /*int*/ lParam) {
}
LRESULT WM_PAINT (long /*int*/ wParam, long /*int*/ lParam) {
+ if ((state & DISPOSE_SENT) != 0) return LRESULT.ZERO;
+
if (shrink && !ignoreShrink) {
/* Resize the item array to fit the last item */
int count = items.length - 1;