Review Request 128473: Avoid recursive calls to QPlatformTheme::createPlatformSystemTrayIcon()

Martin Gräßlin mgraesslin at kde.org
Mon Jul 18 15:08:08 UTC 2016



> On July 18, 2016, 7:49 a.m., Martin Gräßlin wrote:
> > I acknowledge the problem in general, but I think the solution is wrong as this creates now a race condition on startup where apps don't show up in the systray at all. That is if an application tries to create a systray icon before Plasma is started.
> 
> Martin Tobias Holmedahl Sandsmark wrote:
>     it still creates a systray icon, it just creates an "old style" tray icon.
> 
> Martin Gräßlin wrote:
>     > it still creates a systray icon, it just creates an "old style" tray icon.
>     
>     Which won't work on Wayland. And yes that's a valid point as we need to think further than 3 months ;-)

actually it won't even work on X11 as if Plasma is not up yet, neither will be the xembed proxy. Which means no systray and Qt won't create it.


- Martin


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


On July 17, 2016, 10:14 p.m., Martin Tobias Holmedahl Sandsmark wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128473/
> -----------------------------------------------------------
> 
> (Updated July 17, 2016, 10:14 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-integration
> 
> 
> Description
> -------
> 
> If the status notifier item host is not available, KSNI tries to create a normal QSystemTrayIcon.
> 
> The plasma platform plugin uses KSNI when it is called to create a QPlatformSystemTrayIcon.
> 
> So if the status notifier item host for any reason was unavailable, this would recursively run forever (assuming a turing machine with infinite memory).
> 
> 
> Diffs
> -----
> 
>   src/platformtheme/kdeplatformsystemtrayicon.h 6825b4d 
>   src/platformtheme/kdeplatformsystemtrayicon.cpp 0e82385 
>   src/platformtheme/kdeplatformtheme.cpp 5f0407c 
> 
> Diff: https://git.reviewboard.kde.org/r/128473/diff/
> 
> 
> Testing
> -------
> 
> Now it is possible to run applications that have tray icons with the plasma platform plugin even when the status notifier item host is down or unavailable.
> 
> 
> Thanks,
> 
> Martin Tobias Holmedahl Sandsmark
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160718/a1011300/attachment-0001.html>


More information about the Plasma-devel mailing list