Fix infinite loop when deleting columns from wxTreeListCtrl.

Wrong variable was checked in the loop adjusting the columns values resulting
in an infinite loop.

Closes #16955.
This commit is contained in:
Vadim Zeitlin
2015-04-22 14:50:33 +02:00
parent 35a3ca5a1e
commit 12b857a329
2 changed files with 7 additions and 1 deletions

View File

@@ -584,6 +584,7 @@ Unix:
All (GUI):
- Fix hang when deleting columns from wxTreeListCtrl.
- Fix several floating point rounding bugs in wxPropertyGrid (Artur Wieczorek).
- Restore support for wxFD_OVERWRITE_PROMPT and wxFD_FILE_MUST_EXIST in
wxGenericFileDialog which was accidentally lost some time ago (Carl Godkin).

View File

@@ -170,10 +170,15 @@ public:
wxScopedArray<wxString> oldTexts(m_columnsTexts);
m_columnsTexts = new wxString[numColumns - 2];
// As above, n is the index in the new column texts array and m is the
// index in the old one.
for ( unsigned n = 1, m = 1; n < numColumns - 1; n++, m++ )
{
if ( n == col )
if ( m == col )
{
// Skip copying the deleted column and keep the new index the
// same (so compensate for "n++" done in the loop).
n--;
}
else // Not the deleted column.