----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/123746/ -----------------------------------------------------------
(Updated May 22, 2015, 4:30 p.m.) Status ------ This change has been discarded. 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
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel