Summary:
libdbusmenu-qt had a quirkin it that meant it would spawn a nested
event loop when updating a menu.
In order to fix StatusNotifierItem I ended up making a fork of the 3
small classes that we needed and applying a fix, whilst we waited for
upstream.
We also were including a complicated library+plugin that handled import
and exporting, just to do importing which is rather pointless.
When appmenu support was restored, we ended up re-linking the original
dbusmenu-qt library. The original still had the same bug, manifesting in
a whole new way of Kate's bookmarks menu automatically closing when you
click on it.
This patch shares the same libdbusmenu-qt lib we have for the SNI
dataengine with the one for appmenu.
Test Plan:
Everything compiles after removing the find package for old libdbusmenu-
qt
Menu in the Plasma applet works a lot better, and doesn't have the bug
of menus randomly closing.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3926
This contains a temporary fork of the importer, with the main paths
fixed.
The old code spawned a new event loop in the signal QMenu::aboutToShow()
This refetched the menu, even though we had already fetched it, before
calling show.
Spawning new event loops from a QML function, leads to all sorts of
crashes. This
fixes that, and saves some pointless DBus traffic
BUG: 343971
BUG: 345838
BUG: 345933
REVIEW: 123992