diff options
author | Lars Knoll <lars.knoll@qt.io> | 2019-10-30 11:42:58 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2019-10-30 11:52:22 +0100 |
commit | bc4e7aecc0db534ad4e52691f70c98f5ad643230 (patch) | |
tree | 00edef3047739d3a85c14152b765aa0d68524a2a /src/gui/util | |
parent | cd04181b2ba20e98a29a1782b3736539f70f6607 (diff) |
Don't try to insert items out of bounds
The q_items list is only used to hold a full list of all items in the
layout. They are kept in order for a linear layout, so that users see
them in the right order, but there's no real guarantee for that anyway
if combined with spacers and other non-items.
Continue to try keeping the order, but ensure indices that are out of
bounds are treated as appends to the list.
Change-Id: I22721c1fa8b329c5d16ad00c5cb780e099693cda
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/gui/util')
-rw-r--r-- | src/gui/util/qgridlayoutengine.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/util/qgridlayoutengine.cpp b/src/gui/util/qgridlayoutengine.cpp index 33adac40b2..bff5b4ddde 100644 --- a/src/gui/util/qgridlayoutengine.cpp +++ b/src/gui/util/qgridlayoutengine.cpp @@ -960,7 +960,7 @@ void QGridLayoutEngine::insertItem(QGridLayoutItem *item, int index) { maybeExpandGrid(item->lastRow(), item->lastColumn()); - if (index == -1) + if (index < 0 || index >= q_items.size()) q_items.append(item); else q_items.insert(index, item); |