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 );
}
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 );
}
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) {
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) {