GUI: Fix dangling pointer when _headerEntryList was reallocated

As we know the size of the array in advance we can preallocate it.
This commit is contained in:
Le Philousophe 2022-06-10 07:49:29 +02:00 committed by Eugene Sandulenko
parent 226ab7d8a0
commit ebbc0b09e9
No known key found for this signature in database
GPG key ID: 014D387312D34F08

View file

@ -470,6 +470,9 @@ void GridWidget::sortGroups() {
// No filter -> display everything with group headers // No filter -> display everything with group headers
Common::sort(_groupHeaders.begin(), _groupHeaders.end()); Common::sort(_groupHeaders.begin(), _groupHeaders.end());
// Avoid reallocation during iteration: that would invalidate our _sortedEntryList items
_headerEntryList.reserve(_groupHeaders.size());
for (uint i = 0; i != _groupHeaders.size(); ++i) { for (uint i = 0; i != _groupHeaders.size(); ++i) {
Common::U32String header = _groupHeaders[i]; Common::U32String header = _groupHeaders[i];
Common::U32String displayedHeader; Common::U32String displayedHeader;