davidedmundson created this revision. davidedmundson added a reviewer: Plasma. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY The previous code worked as follows: - when we show a menu we would emit aboutToShow on the root item - we would then recursively load the /entire/ menu structure before emitting we were done. Because we only sent aboutToShow on the root menu, any clients that were connected to a submenu's aboutToShow never got an aboutToShow signal. This patch does the (in retrospect far more obvious) fix of just calling aboutToShow dynamically on each submenu when it's time to show, then updating the menu whilst it's showing. TEST PLAN Dynamic menus now work, DBus traffic is considerably down REPOSITORY R120 Plasma Workspace BRANCH master REVISION DETAIL https://phabricator.kde.org/D4059 AFFECTED FILES libdbusmenuqt/dbusmenuimporter.cpp libdbusmenuqt/dbusmenuimporter.h EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: davidedmundson, #plasma Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, andreaska, sebas