fix the code to not use dangling pointers resulting in asserts about invalid Unicode strings mentioned in the bug 1880411

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-01-26 22:20:45 +00:00
parent 5bd623e1ea
commit da603a6786

View File

@@ -1312,11 +1312,10 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event )
#if wxUSE_CHOICE #if wxUSE_CHOICE
static const wxChar *GetDataString(wxClientData *data) static wxString GetDataString(wxClientData *data)
{ {
return ( return data ? wx_static_cast(wxStringClientData *, data)->GetData()
data ? wx_static_cast(wxStringClientData *, data)->GetData() : wxString("none") : wxString("none");
).c_str();
} }
void MyPanel::OnChoice( wxCommandEvent &event ) void MyPanel::OnChoice( wxCommandEvent &event )
@@ -1334,8 +1333,8 @@ void MyPanel::OnChoice( wxCommandEvent &event )
_T("data \"%s\"/\"%s\""), _T("data \"%s\"/\"%s\""),
(int)event.GetInt(), (int)event.GetInt(),
sel, sel,
event.GetString().c_str(), event.GetString(),
choice->GetStringSelection().c_str(), choice->GetStringSelection(),
GetDataString(dataEvt), GetDataString(dataEvt),
GetDataString(dataCtrl)); GetDataString(dataCtrl));
} }