Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover2007-01-18 16:13:26 +0000
committerSteve Northover2007-01-18 16:13:26 +0000
commit1e270e99b517422346725b7e99b7435bcf5b0c4e (patch)
tree457063a33134049e470ee8917f2686a7a73805f1
parent309bea1517713afe0f7624890d76981eaca9a1b2 (diff)
downloadeclipse.platform.swt-1e270e99b517422346725b7e99b7435bcf5b0c4e.tar.gz
eclipse.platform.swt-1e270e99b517422346725b7e99b7435bcf5b0c4e.tar.xz
eclipse.platform.swt-1e270e99b517422346725b7e99b7435bcf5b0c4e.zip
Bug 167831 - check box table images contain extra pixels (3.2 maintenance stream)
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java10
1 files changed, 10 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 b53330ef0c..1cb618ba6a 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
@@ -3424,6 +3424,16 @@ void setCheckboxImageList (int width, int height, boolean fixScroll) {
int hOldStateList = OS.SendMessage (handle, OS.LVM_GETIMAGELIST, OS.LVSIL_STATE, 0);
OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_STATE, hStateList);
if (hOldStateList != 0) OS.ImageList_Destroy (hOldStateList);
+ /*
+ * Bug in Windows. Setting the LVSIL_STATE state image list
+ * when the table already has a LVSIL_SMALL image list causes
+ * pixel corruption of the images. The fix is to reset the
+ * LVSIL_SMALL image list.
+ */
+ if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
+ int hImageList = OS.SendMessage (handle, OS.LVM_GETIMAGELIST, OS.LVSIL_SMALL, 0);
+ OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_SMALL, hImageList);
+ }
if (fixScroll && topIndex != 0) {
setTopIndex (topIndex);
setRedraw (true);

Back to the top