diff options
author | Steve Northover <steve> | 2005-05-25 17:24:57 +0000 |
---|---|---|
committer | Steve Northover <steve> | 2005-05-25 17:24:57 +0000 |
commit | 84354eb015de1037d88d721d76e721c858728b72 (patch) | |
tree | 8172aab64f4465a3e3889222116b4585f9479a2b /bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse | |
parent | 3a837bfd2c5baa36d08031da0ce7ccda5b5dd6ee (diff) | |
download | eclipse.platform.swt-84354eb015de1037d88d721d76e721c858728b72.tar.gz eclipse.platform.swt-84354eb015de1037d88d721d76e721c858728b72.tar.xz eclipse.platform.swt-84354eb015de1037d88d721d76e721c858728b72.zip |
96635 - SWT.HIDE_SELECTION causes cheese when selection lost
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse')
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java | 17 |
1 files changed, 17 insertions, 0 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 ab39b65805..401395f9d4 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 @@ -3210,6 +3210,23 @@ LRESULT WM_KEYDOWN (int wParam, int lParam) { return result; } +LRESULT WM_KILLFOCUS (int wParam, int lParam) { + LRESULT result = super.WM_KILLFOCUS (wParam, lParam); + /* + * Bug in Windows. When LVS_SHOWSELALWAYS is not specified, + * Windows hides the selection when focus is lost but does + * not redraw anything other than the text, leaving the image + * and check box appearing selected. The fix is to redraw + * the table. + */ + if ((style & SWT.HIDE_SELECTION) != 0) { + if (imageList != null || (style & SWT.CHECK) != 0) { + OS.InvalidateRect (handle, null, false); + } + } + return result; +} + LRESULT WM_LBUTTONDBLCLK (int wParam, int lParam) { /* |