<table><tr><td style="">fvogt created this revision.<br />fvogt added a reviewer: Plasma.<br />Restricted Application added a project: Plasma.<br />fvogt requested review of this revision.
</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/D11586">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>The getLayout response handler compares the new list of actions with the<br />
current actions in the menu and calls deleteLater on all actions which aren't<br />
part of the new list anymore.<br />
Then, it adds all actions from the new list which aren't part of the menu yet.</p>

<p>As deleteLater only has an effect after the next event processing, the menu<br />
still contains them together with the added actions.<br />
This resulted in broken size calculations, as even for static menus the item<br />
count changed during aboutToShow.</p>

<p>Note that this is not a proper solution for the resize issue, as the<br />
aboutToShow handler changes the menus content for a reason, the application<br />
is free to add/remove items at any point in time.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>The context menu for SNI items in the system tray shows at the<br />
correct position now. Only tested the wayland session.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>snifix</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D11586">https://phabricator.kde.org/D11586</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>libdbusmenuqt/dbusmenuimporter.cpp</div></div></div><br /><div><strong>To: </strong>fvogt, Plasma<br /><strong>Cc: </strong>plasma-devel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>