<table><tr><td style="">i.Dark_Templar created this revision.<br />Restricted Application added a project: Plasma.<br />Restricted Application added a subscriber: plasma-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7260" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This is a fix for a bug I recently reported at: <a href="https://bugs.kde.org/show_bug.cgi?id=383202" class="remarkup-link" target="_blank" rel="noreferrer">https://bugs.kde.org/show_bug.cgi?id=383202</a></p>

<p>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.</p>

<p>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).</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>I've attached test application to the mentioned bug, it started working correctly with this patch on plasma-workspace-5.9.5.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7260" rel="noreferrer">https://phabricator.kde.org/D7260</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>libdbusmenuqt/dbusmenuimporter.cpp</div></div></div><br /><div><strong>To: </strong>i.Dark_Templar<br /><strong>Cc: </strong>plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas<br /></div>