From 8504e095478b1c922055fc4ae6c736472708fddd Mon Sep 17 00:00:00 2001 From: Stefano Crocco Date: Mon, 13 Apr 2020 10:53:06 +0200 Subject: [PATCH] Fix crash due to changes in KBookmarkMenu Summary: Since version 5.69, KBookmarkMenu doesn't automatically create an action collection. This causes Konqueror to crash when going on a submenu in the Bookmarks menu. To avoid it, manually create the action collection. Also, avoid calling the version of KBookmarkMenu construction which takes a KActionCollection, as it's deprecated. Test Plan: Open the bookmarks menu and hover with the mouse on a submenu. Check that it crashes. Do the same after this change and check it doesn't crash anymore. Reviewers: dfaure, nicolasfella Reviewed By: nicolasfella Subscribers: poboiko Differential Revision: https://phabricator.kde.org/D28789 * asturm, 2020-04-23: This *is* KF-5.69 so no need to check for the version wrt commit b61086cf. --- src/konqbookmarkmenu.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/konqbookmarkmenu.h b/src/konqbookmarkmenu.h index 4898c3a..45bdb84 100644 --- a/src/konqbookmarkmenu.h +++ b/src/konqbookmarkmenu.h @@ -25,6 +25,8 @@ #include "kbookmarkactionmenu.h" #include "kbookmarkcontextmenu.h" +#include + #if KBOOKMARKS_ENABLE_DEPRECATED_SINCE(5, 0) #include "kbookmarkowner.h" // for SC reasons @@ -56,8 +58,9 @@ public: */ KBOOKMARKS_DEPRECATED_VERSION(5, 65, "This class has moved to Konqueror") KonqBookmarkMenu(KBookmarkManager *mgr, KBookmarkOwner *owner, KBookmarkActionMenu *parentMenu, KActionCollection *collec) - : KBookmarkMenu(mgr, owner, parentMenu->menu(), collec) + : KBookmarkMenu(mgr, owner, parentMenu->menu()) { + m_actionCollection = collec; } ~KonqBookmarkMenu() override {} @@ -71,6 +74,7 @@ public: KonqBookmarkMenu(KBookmarkManager *mgr, KBookmarkOwner *owner, KBookmarkActionMenu *parentMenu, QString parentAddress) : KBookmarkMenu(mgr, owner, parentMenu->menu(), parentAddress) { + m_actionCollection = new KActionCollection(this); } protected: -- 2.26.2