Review Request 128473: Avoid recursive calls to QPlatformTheme::createPlatformSystemTrayIcon()
Martin Tobias Holmedahl Sandsmark
martin.sandsmark at kde.org
Mon Jul 18 21:43:21 UTC 2016
> On July 18, 2016, 5: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 ;-)
>
> Martin Gräßlin wrote:
> 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 Tobias Holmedahl Sandsmark wrote:
> won't it jump into the xembed proxy when it appears? I seem to recall that happening, but I might be wrong.
>
> Martin Tobias Holmedahl Sandsmark wrote:
> and regarding wayland, what does the "normal" platform plugin for wayland do with QPlatformSystemTrayIcon?
well, I looked in qtbase, and apparently Qt has a SNI implementation, so the fallback here should work under wayland?
- Martin Tobias Holmedahl
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128473/#review97514
-----------------------------------------------------------
On July 17, 2016, 8: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, 8: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/5733b77f/attachment.html>
More information about the Plasma-devel
mailing list