diff options
author | Steve Northover | 2007-01-18 16:13:26 +0000 |
---|---|---|
committer | Steve Northover | 2007-01-18 16:13:26 +0000 |
commit | 1e270e99b517422346725b7e99b7435bcf5b0c4e (patch) | |
tree | 457063a33134049e470ee8917f2686a7a73805f1 | |
parent | 309bea1517713afe0f7624890d76981eaca9a1b2 (diff) | |
download | eclipse.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-x | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java | 10 |
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); |