X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ea3479cb58063abf7968d7c6fbaef672e9894a8..462bc04863a27a56a75faf72c20977a2e958c2a5:/src/generic/grid.cpp diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 511bed5c93..001bdbd65e 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -3913,14 +3913,19 @@ bool wxGrid::SetTable( wxGridTableBase *table, bool takeOwnership, { if ( m_created ) { - if (m_ownTable) - delete m_table; + // stop all processing + m_created = FALSE; + + if (m_ownTable) + { + wxGridTableBase *t=m_table; + m_table=0; + delete t; + } delete m_selection; - // stop all processing m_table=0; m_selection=0; - m_created = FALSE; m_numRows=0; m_numCols=0; } @@ -5770,7 +5775,6 @@ bool wxGrid::InsertRows( int pos, int numRows, bool WXUNUSED(updateLabels) ) DisableCellEditControl(); bool done = m_table->InsertRows( pos, numRows ); - m_numRows = m_table->GetNumberRows(); return done; // the table will have sent the results of the insert row @@ -5793,7 +5797,6 @@ bool wxGrid::AppendRows( int numRows, bool WXUNUSED(updateLabels) ) if ( m_table ) { bool done = m_table && m_table->AppendRows( numRows ); - m_numRows = m_table->GetNumberRows(); return done; // the table will have sent the results of the append row // operation to this view object as a grid table message @@ -5818,7 +5821,6 @@ bool wxGrid::DeleteRows( int pos, int numRows, bool WXUNUSED(updateLabels) ) DisableCellEditControl(); bool done = m_table->DeleteRows( pos, numRows ); - m_numRows = m_table->GetNumberRows(); return done; // the table will have sent the results of the delete row // operation to this view object as a grid table message @@ -5843,7 +5845,6 @@ bool wxGrid::InsertCols( int pos, int numCols, bool WXUNUSED(updateLabels) ) DisableCellEditControl(); bool done = m_table->InsertCols( pos, numCols ); - m_numCols = m_table->GetNumberCols(); return done; // the table will have sent the results of the insert col // operation to this view object as a grid table message @@ -5865,7 +5866,6 @@ bool wxGrid::AppendCols( int numCols, bool WXUNUSED(updateLabels) ) if ( m_table ) { bool done = m_table->AppendCols( numCols ); - m_numCols = m_table->GetNumberCols(); return done; // the table will have sent the results of the append col // operation to this view object as a grid table message @@ -5890,7 +5890,6 @@ bool wxGrid::DeleteCols( int pos, int numCols, bool WXUNUSED(updateLabels) ) DisableCellEditControl(); bool done = m_table->DeleteCols( pos, numCols ); - m_numCols = m_table->GetNumberCols(); return done; // the table will have sent the results of the delete col // operation to this view object as a grid table message