]> git.saurik.com Git - wxWidgets.git/commitdiff
Preserve client data in wxComboBox::SetString() in wxOSX/Cocoa.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 2 Jul 2012 15:03:04 +0000 (15:03 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 2 Jul 2012 15:03:04 +0000 (15:03 +0000)
Don't reset the client data to NULL when we're just changing the item text.

Closes #14146.

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

src/osx/combobox_osx.cpp

index 3dc89288eef738433a799689245c74ef3e0cb240..9a1f1b75e22ddada20d7fdb0c237eedd0072327d 100644 (file)
@@ -189,8 +189,11 @@ wxString wxComboBox::GetStringSelection() const
 
 void wxComboBox::SetString(unsigned int n, const wxString& s)
 {
-    Delete(n);
-    Insert(s, n);
+    // Notice that we shouldn't delete and insert the item in this control
+    // itself as this would also affect the client data which we need to
+    // preserve here.
+    GetComboPeer()->RemoveItem(n);
+    GetComboPeer()->InsertItem(n, s);
     SetValue(s); // changing the item in the list won't update the display item
 }