File 0032-guard-against-menu-being-deleted-whilst-updating.patch of Package plasma5-workspace
From 4c1962de47f0fa7ad24820ba8382fd4319e709cf Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Tue, 17 Jan 2017 22:18:57 +0000
Subject: [PATCH 32/44] guard against menu being deleted whilst updating
---
libdbusmenuqt/dbusmenuimporter.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libdbusmenuqt/dbusmenuimporter.cpp b/libdbusmenuqt/dbusmenuimporter.cpp
index 07f62acd..951ddbae 100644
--- a/libdbusmenuqt/dbusmenuimporter.cpp
+++ b/libdbusmenuqt/dbusmenuimporter.cpp
@@ -477,20 +477,20 @@ void DBusMenuImporter::slotAboutToShowDBusCallFinished(QDBusPendingCallWatcher *
watcher->deleteLater();
QMenu *menu = d->menuForId(id);
+ if (!menu) {
+ return;
+ }
QDBusPendingReply<bool> reply = *watcher;
if (reply.isError()) {
qWarning() << "Call to AboutToShow() failed:" << reply.error().message();
- if (menu) {
- menuUpdated(menu);
- }
+ menuUpdated(menu);
return;
}
//Note, this isn't used by Qt's QPT - but we get a LayoutChanged emitted before
//this returns, which equates to the same thing
bool needRefresh = reply.argumentAt<0>();
-
if (needRefresh || menu->actions().isEmpty()) {
d->m_idsRefreshedByAboutToShow << id;
d->refresh(id);
--
2.12.0