fix crash when using wxDataViewListStore::DeleteAllItems

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi 2009-03-06 00:01:11 +00:00
parent bfb9ad8b60
commit 8af28fabff
2 changed files with 6 additions and 3 deletions

View File

@ -986,7 +986,7 @@ public:
void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
void DeleteItem( unsigned pos );
void DeleteItem( unsigned int pos );
void DeleteAllItems();
// override base virtuals

View File

@ -1415,7 +1415,8 @@ void wxDataViewListStore::PrependItem( const wxVector<wxVariant> &values, wxClie
RowPrepended();
}
void wxDataViewListStore::InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data )
void wxDataViewListStore::InsertItem( unsigned int row, const wxVector<wxVariant> &values,
wxClientData *data )
{
wxDataViewListStoreLine *line = new wxDataViewListStoreLine( data );
line->m_values = values;
@ -1424,7 +1425,7 @@ void wxDataViewListStore::InsertItem( unsigned int row, const wxVector<wxVarian
RowInserted( row );
}
void wxDataViewListStore::DeleteItem( unsigned row )
void wxDataViewListStore::DeleteItem( unsigned int row )
{
wxVector<wxDataViewListStoreLine*>::iterator it = m_data.begin() + row;
m_data.erase( it );
@ -1441,6 +1442,8 @@ void wxDataViewListStore::DeleteAllItems()
delete line;
}
m_data.clear();
Reset( 0 );
}