Preserve client data in wxComboBox::SetString() in wxOSX/Cocoa.
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
This commit is contained in:
@@ -189,8 +189,11 @@ wxString wxComboBox::GetStringSelection() const
|
|||||||
|
|
||||||
void wxComboBox::SetString(unsigned int n, const wxString& s)
|
void wxComboBox::SetString(unsigned int n, const wxString& s)
|
||||||
{
|
{
|
||||||
Delete(n);
|
// Notice that we shouldn't delete and insert the item in this control
|
||||||
Insert(s, n);
|
// 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
|
SetValue(s); // changing the item in the list won't update the display item
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user