Review Request 123746: Workaround DBusMenuQt's design

Aleix Pol Gonzalez aleixpol at kde.org
Wed May 13 02:49:57 UTC 2015


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


Has DBusMenuQt been fixed? Or is it beyond our reach for a weird reason?

- Aleix Pol Gonzalez


On May 13, 2015, 3: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, 3: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/20150513/ffb6f885/attachment.html>


More information about the Plasma-devel mailing list