From b61086cfece0d0f11ecfe9c3309697997cada201 Mon Sep 17 00:00:00 2001 From: Stefano Crocco Date: Tue, 14 Apr 2020 10:21:48 +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: dfaure, nicolasfella Subscribers: arojas, poboiko Differential Revision: https://phabricator.kde.org/D28789 --- src/konqbookmarkmenu.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/konqbookmarkmenu.h b/src/konqbookmarkmenu.h index 9ff4c0f55..d47960f7b 100644 --- a/src/konqbookmarkmenu.h +++ b/src/konqbookmarkmenu.h @@ -26,6 +26,7 @@ #include "kbookmarkcontextmenu.h" #include +#include namespace Konqueror { // to avoid clashing with KF5::Bookmarks which had a KonqBookmarkMenu class. Remove once using KF6. @@ -61,7 +62,10 @@ public: KonqBookmarkMenu(KBookmarkManager *mgr, KBookmarkOwner *owner, KBookmarkActionMenu *parentMenu, QString parentAddress) : KBookmarkMenu(mgr, owner, parentMenu->menu(), parentAddress) { +//KBookmarkMenu doesn't create an action collection only in version 5.69.0 +#if KBOOKMARKS_VERSION == QT_VERSION_CHECK(5, 69, 0) m_actionCollection = new KActionCollection(this); +#endif } protected: -- 2.26.2