diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-08-08 14:21:14 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-08-08 14:14:31 +0000 |
commit | 30eecdf6d8e593027542df8e809dc2b5f33cc60e (patch) | |
tree | 001d9c48df029fb64ec4102465e7f5a8dbe19f24 /src/plugins | |
parent | 815a41f714df007eeee8726ada650a0aeb81ffc7 (diff) |
Fix QGtk3Menu::removeMenuItem()
The if-condition was broken, so items weren't removed from
the container as appropriate. Accessing such dangling items
caused a crash later on exit.
Task-number: QTBUG-54432
Task-number: QTBUG-54462
Change-Id: I98fd9f29a93d72e3e4a8f0fb6bac40ad4728ba6f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platformthemes/gtk3/qgtk3menu.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp index 288978ae84..52757587b4 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp @@ -371,7 +371,7 @@ void QGtk3Menu::insertMenuItem(QPlatformMenuItem *item, QPlatformMenuItem *befor void QGtk3Menu::removeMenuItem(QPlatformMenuItem *item) { QGtk3MenuItem *gitem = static_cast<QGtk3MenuItem *>(item); - if (!gitem && !m_items.removeOne(gitem)) + if (!gitem || !m_items.removeOne(gitem)) return; GtkWidget *handle = gitem->handle(); |