summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2006-05-19 15:21:47 +0000
committerSilenio Quarti <silenio>2006-05-19 15:21:47 +0000
commita78bd8c86782ece101e5688eb120f603ed56824f (patch)
tree64e684d5569fb49604cfae2cafa3209cfe216dee
parentdfbe7c2d7cf0f2d3be2adf45733da0d13c966992 (diff)
downloadeclipse.platform.swt-a78bd8c86782ece101e5688eb120f603ed56824f.tar.gz
eclipse.platform.swt-a78bd8c86782ece101e5688eb120f603ed56824f.tar.xz
eclipse.platform.swt-a78bd8c86782ece101e5688eb120f603ed56824f.zip
141489 - TableEditor background color artifacts on scrollingv3232j
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java22
1 files changed, 14 insertions, 8 deletions
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 f17c94836b..5d38be21fe 100755
--- 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
@@ -5083,11 +5083,14 @@ LRESULT WM_HSCROLL (int wParam, int lParam) {
* When there are many columns in a table, scrolling performance
* can be improved by temporarily unsubclassing the window proc
* so that internal messages are dispatched directly to the table.
- * If the application expects to see a paint event, the window
- * proc cannot be unsubclassed or the event will not be seen.
+ * If the application expects to see a paint event or has a child
+ * whose font, foreground or background color might be needed,
+ * the window proc cannot be unsubclassed.
*/
- if (!hooks (SWT.Paint) && !filters (SWT.Paint)) {
- unsubclass ();
+ if (OS.GetWindow (handle, OS.GW_CHILD) == 0) {
+ if (!hooks (SWT.Paint) && !filters (SWT.Paint)) {
+ unsubclass ();
+ }
}
LRESULT result = super.WM_HSCROLL (wParam, lParam);
subclass ();
@@ -5120,11 +5123,14 @@ LRESULT WM_VSCROLL (int wParam, int lParam) {
* When there are many columns in a table, scrolling performance
* can be improved by temporarily unsubclassing the window proc
* so that internal messages are dispatched directly to the table.
- * If the application expects to see a paint event, the window
- * proc cannot be unsubclassed or the event will not be seen.
+ * If the application expects to see a paint event or has a child
+ * whose font, foreground or background color might be needed,
+ * the window proc cannot be unsubclassed.
*/
- if (!hooks (SWT.Paint) && !filters (SWT.Paint)) {
- unsubclass ();
+ if (OS.GetWindow (handle, OS.GW_CHILD) == 0) {
+ if (!hooks (SWT.Paint) && !filters (SWT.Paint)) {
+ unsubclass ();
+ }
}
LRESULT result = super.WM_VSCROLL (wParam, lParam);
subclass ();