summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets
diff options
context:
space:
mode:
authorSteve Northover <steve>2005-05-25 17:24:57 +0000
committerSteve Northover <steve>2005-05-25 17:24:57 +0000
commit84354eb015de1037d88d721d76e721c858728b72 (patch)
tree8172aab64f4465a3e3889222116b4585f9479a2b /bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets
parent3a837bfd2c5baa36d08031da0ce7ccda5b5dd6ee (diff)
downloadeclipse.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/swt/widgets')
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java17
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) {
/*