Handle client data correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2004-01-17 22:14:38 +00:00
parent 990ef031fd
commit e94e2e952b
4 changed files with 10 additions and 6 deletions

View File

@@ -327,8 +327,7 @@ void wxComboBox::DoSetItemClientObject( int n, wxClientData* clientData )
wxList::compatibility_iterator node = m_clientObjectList.Item( n );
if (!node) return;
wxClientData *cd = (wxClientData*) node->GetData();
if (cd) delete cd;
// wxItemContainer already deletes data for us
node->SetData( (wxObject*) clientData );
}

View File

@@ -327,8 +327,7 @@ void wxComboBox::DoSetItemClientObject( int n, wxClientData* clientData )
wxList::compatibility_iterator node = m_clientObjectList.Item( n );
if (!node) return;
wxClientData *cd = (wxClientData*) node->GetData();
if (cd) delete cd;
// wxItemContainer already deletes data for us
node->SetData( (wxObject*) clientData );
}

View File

@@ -162,7 +162,10 @@ END_EVENT_TABLE()
wxComboBox::~wxComboBox()
{
// delete the controls now, don't leave them alive even though they would
// delete client objects
FreeData();
// delete the controls now, don't leave them alive even though they would
// still be eventually deleted by our parent - but it will be too late, the
// user code expects them to be gone now
if (m_text != NULL) {

View File

@@ -162,7 +162,10 @@ END_EVENT_TABLE()
wxComboBox::~wxComboBox()
{
// delete the controls now, don't leave them alive even though they would
// delete client objects
FreeData();
// delete the controls now, don't leave them alive even though they would
// still be eventually deleted by our parent - but it will be too late, the
// user code expects them to be gone now
if (m_text != NULL) {