diff options
author | Silenio Quarti <silenio> | 2006-05-19 15:21:47 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2006-05-19 15:21:47 +0000 |
commit | a78bd8c86782ece101e5688eb120f603ed56824f (patch) | |
tree | 64e684d5569fb49604cfae2cafa3209cfe216dee | |
parent | dfbe7c2d7cf0f2d3be2adf45733da0d13c966992 (diff) | |
download | eclipse.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-x | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java | 22 |
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 (); |