Order array has to have the same size as item list in wxRearrangeList

Number of indices stored in the internal order array has to be the same as
number of the items, so whenever item is added or removed, order array
has to be adjusted accordingly.

Closes #17836.
This commit is contained in:
Artur Wieczorek
2017-04-28 21:03:23 +02:00
parent 7542632302
commit 7e1b64a2eb
2 changed files with 46 additions and 2 deletions

View File

@@ -99,6 +99,10 @@ public:
// Override this to keep our m_order array in sync with the real item state.
virtual void Check(unsigned int item, bool check = true) wxOVERRIDE;
int DoInsertOneItem(const wxString& item, unsigned int pos) wxOVERRIDE;
void DoDeleteOneItem(unsigned int n) wxOVERRIDE;
void DoClear() wxOVERRIDE;
private:
// swap two items at the given positions in the listbox
void Swap(int pos1, int pos2);