System tray issues (WAS: Re: KDE/kdebase/workspace/plasma/applets/systemtray)

Matthias Kretz kretz at kde.org
Tue Aug 5 12:46:00 CEST 2008


On Tuesday 05 August 2008 10:36:15 Matthias Kretz wrote:
> On Saturday 02 August 2008 17:48:23 Alex Merry wrote:
> > On Saturday 02 August 2008 15:17:44 Alex Merry wrote:
> > > On Saturday 02 August 2008 13:56:49 Alexis Ménard wrote:
> > > > SVN commit 841018 by menard:
> > > >
> > > > This fix seems to fix the systray, it's works just fine here
> > >
> > > I still get no icons.  I've tried putting raise()s just about
> > > everywhere, and they still won't come out...
> >
> > A little more work shows that the problem is not raising.
> >
> > Current situation:
> >
> > When adding a system tray to an already existing panel, or using Qt
> > 4.4.0, everything works as expected.
> >
> > When loading plasma using Qt 4.4.1 with a system tray on the panel, the
> > icons don't appear, although space is reserved for them.
> >
> > Setting the autoFillBackground properties (and setting different
> > backgroundRoles) on SystemTrayWidget and SystemTrayContainer shows that
> > the SystemTrayWidget appears on top of the panel, and a
> > SystemTrayContainer appears on top of that for each icon that should be
> > there.  It's just the icons themselves that don't display.
> >
> > At this point, I'm stuck.  The changelog for 4.4.1 is at
> > <http://trolltech.com/developer/resources/notes/changes/changes-4.4.1>. 
> > A fix about QX11Embed is mentioned:
> > [207800] Fixed a regression from 4.3 to 4.4 where putting a
> >       QX11EmbedContainer into a QWidgetStack would case the container
> >       stay visible permanently.
> > However, qt-copy shows no changed between 4.4.0 and 4.4.1 to
> > src/gui/kernel/qx11embed_x11.*
> >
> > Anyone any clue?
>
> cd qt-copy/src/gui/kernel/
> svn merge -c-840168 qwidget.cpp
> cd ..
> makeobj
>
> and the icons are back

Here's the last remainder of the above merge that I needed to see the systray 
icons:

Index: src/gui/kernel/qwidget.cpp
===================================================================
--- src/gui/kernel/qwidget.cpp  (revision 841835)
+++ src/gui/kernel/qwidget.cpp  (working copy)
@@ -9095,8 +9095,6 @@
         break;
 #endif
     case Qt::WA_NativeWindow:
-        if (!qApp->testAttribute(Qt::AA_DontCreateNativeWidgetSiblings) && 
parentWidget())
-            parentWidget()->d_func()->enforceNativeChildren();
         if (on && !internalWinId() && testAttribute(Qt::WA_WState_Created))
             d->createWinId();
         break;

-- 
________________________________________________________
Matthias Kretz (Germany)                            <><
http://Vir.homelinux.org/
MatthiasKretz at gmx.net, kretz at kde.org,
Matthias.Kretz at urz.uni-heidelberg.de



More information about the Plasma-devel mailing list