aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickmenu.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-06-08 12:05:43 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-06-08 14:26:35 +0000
commitca3b585bbe88feed516870ce3315c77e2f1b8d2e (patch)
tree787f0725b2c9c82ddb6b1d1e2d0e7f4c1b8c8ee0 /src/quicktemplates2/qquickmenu.cpp
parent56c9ce5fac873e5c1e20a6a965eb750a81373968 (diff)
Fix QQuickMenuPrivate::itemSiblingOrderChanged()
QQuickContainer was fixed in the previous commit. Apply the same fix to QQuickMenu, because the code is based on QQuickContainer. I'm not able to make QQuickMenu crash with the same test case adapted to QQuickMenu, though. QQuickMenu already has tests for Repeater in tst_menu.cpp. Task-number: QTBUG-61310 Change-Id: I3fba1b7ef15659724880df080dab5015eae484a3 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickmenu.cpp')
-rw-r--r--src/quicktemplates2/qquickmenu.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
index e6f22e2b..9e8fabe0 100644
--- a/src/quicktemplates2/qquickmenu.cpp
+++ b/src/quicktemplates2/qquickmenu.cpp
@@ -197,10 +197,14 @@ void QQuickMenuPrivate::itemSiblingOrderChanged(QQuickItem *)
// reorder the restacked items (eg. by a Repeater)
Q_Q(QQuickMenu);
QList<QQuickItem *> siblings = contentItem->childItems();
+
+ int to = 0;
for (int i = 0; i < siblings.count(); ++i) {
QQuickItem* sibling = siblings.at(i);
+ if (QQuickItemPrivate::get(sibling)->isTransparentForPositioner())
+ continue;
int index = contentModel->indexOf(sibling, nullptr);
- q->moveItem(index, i);
+ q->moveItem(index, to++);
}
}