From 30eecdf6d8e593027542df8e809dc2b5f33cc60e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 8 Aug 2016 14:21:14 +0200 Subject: [PATCH] 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 Reviewed-by: Mitch Curtis --- src/plugins/platformthemes/gtk3/qgtk3menu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/platformthemes/gtk3/qgtk3menu.cpp b/src/plugins/platformthemes/gtk3/qgtk3menu.cpp index 288978ae844..52757587b48 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(item); - if (!gitem && !m_items.removeOne(gitem)) + if (!gitem || !m_items.removeOne(gitem)) return; GtkWidget *handle = gitem->handle();