]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't use any icon for items inserted without one in wxMSW wxListCtrl.
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 27 Aug 2013 22:49:23 +0000 (22:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 27 Aug 2013 22:49:23 +0000 (22:49 +0000)
Previously we erroneously used the first icon in the image list for them
instead. This was inconsistent with wxGTK and didn't make much sense, even if
it is the default behaviour of the native control, so don't do this any more
and explicitly specify I_IMAGENONE for the icon if it wasn't given.

Closes #15421.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/msw/listctrl.cpp

index cfe97ea217474909fca28665a426116f7dac9302..1b45e3c7fca299ba3840f7a483b8998504d9086d 100644 (file)
@@ -576,6 +576,7 @@ wxMSW:
 
 - It is now possible to tab into radio boxes again.
 - Fix launching some types of files under Windows 7 and later (Steven Houchins).
+- Don't use an icon for items inserted without one into wxListCtrl (Chuddah).
 
 wxOSX:
 
index 97388cd847dc9f74d6d2dfcbf146ce90801c14f6..4ffa6e596d87ab3b485ca5888862bd6ab8554e2f 100644 (file)
@@ -952,7 +952,7 @@ bool wxListCtrl::SetItemColumnImage(long item, long column, int image)
 
     info.m_mask = wxLIST_MASK_IMAGE;
     info.m_image = image;
-    info.m_itemId = item;
+    info.m_itemId = item == -1 ? I_IMAGENONE : image;
     info.m_col = column;
 
     return SetItem(info);
@@ -1751,11 +1751,9 @@ long wxListCtrl::InsertItem(long index, int imageIndex)
 long wxListCtrl::InsertItem(long index, const wxString& label, int imageIndex)
 {
     wxListItem info;
-    info.m_image = imageIndex;
+    info.m_image = imageIndex == -1 ? I_IMAGENONE : imageIndex;
     info.m_text = label;
-    info.m_mask = wxLIST_MASK_TEXT;
-    if (imageIndex > -1)
-        info.m_mask |= wxLIST_MASK_IMAGE;
+    info.m_mask = wxLIST_MASK_TEXT | wxLIST_MASK_IMAGE;
     info.m_itemId = index;
     return InsertItem(info);
 }