Aleksei Nikiforov
2017-08-11 20:25:00 UTC
i.Dark_Templar created this revision.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
This is a fix for a bug I recently reported at: https://bugs.kde.org/show_bug.cgi?id=383202
Basically, if you make system tray menu with multiple levels of nesting, browse this menu (making sure plasma fetches all data for menu via dbus) and then replace menu by different menu with multiple levels of nesting, plasma uses old data for all menu items, usually except of top level menu.
Proposed patch makes sure that no menus are cached, and if top-level menu is updated, all nested menus are updated as well (on aboutToShow event).
TEST PLAN
I've attached test application to the mentioned bug, it started working correctly with this patch on plasma-workspace-5.9.5.
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D7260
AFFECTED FILES
libdbusmenuqt/dbusmenuimporter.cpp
To: i.Dark_Templar
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
This is a fix for a bug I recently reported at: https://bugs.kde.org/show_bug.cgi?id=383202
Basically, if you make system tray menu with multiple levels of nesting, browse this menu (making sure plasma fetches all data for menu via dbus) and then replace menu by different menu with multiple levels of nesting, plasma uses old data for all menu items, usually except of top level menu.
Proposed patch makes sure that no menus are cached, and if top-level menu is updated, all nested menus are updated as well (on aboutToShow event).
TEST PLAN
I've attached test application to the mentioned bug, it started working correctly with this patch on plasma-workspace-5.9.5.
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D7260
AFFECTED FILES
libdbusmenuqt/dbusmenuimporter.cpp
To: i.Dark_Templar
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas