Review Request 123746: Workaround DBusMenuQt's design

David Edmundson david at davidedmundson.co.uk
Fri May 22 16:17:55 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123746/#review80735
-----------------------------------------------------------


I have a branch of libdbusmenu-qt on launchpad getting ready for review.

I also have a copy of part of the lib in plasma-workspace (davidedmundson/newdbusmenuqt) with it backported, that I'd like to push so we can fix 5.3.2

- David Edmundson


On May 13, 2015, 1:39 a.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123746/
> -----------------------------------------------------------
> 
> (Updated May 13, 2015, 1:39 a.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> DBusMenuImporter by default connects QMenu::aboutToShow to a private
> slot slotMenuAboutToShow,
> in this slot it reloads the menu befre it gets shown
> because the menu shows just after aboutToShow() returns DBusMenuQt in
> it's infinite wisdom spawns a new event loop to
> block the QMenu processing till we get the network reply
> 
> Not only is this rather pointless as all uses in Plamsa calls
> updateMenu() before showing, so we fetch the menu twice
> it also leads to all sorts of crazy crashes as when we process all other
> events we might delete the menu from within QMenu emitting aboutToShow()
> which is a very unexpected thing to do as QMenu::popup ends up with 'this' being destroyed halfway through it's
> frame.
> 
> BUG: 343971
> BUG: 345838
> BUG: 345933
> 
> 
> Ideal fix is in DBusMenuQt, and I /hate/ doing workarounds, but I can't see how to solve it without *significantly* changing the API.
> 
> 
> Diffs
> -----
> 
>   dataengines/statusnotifieritem/statusnotifieritemsource.cpp b6a50279c01076e7242afaf93d1769348ba031ba 
> 
> Diff: https://git.reviewboard.kde.org/r/123746/diff/
> 
> 
> Testing
> -------
> 
> Opened steam
> closed steam from menu
> quickly click on the SNI before it exits.
> Used to crash. Now doesn't.
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150522/7a9ad0df/attachment.html>


More information about the Plasma-devel mailing list