[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    More Information => Qt bug? (was Re: Multiple style plugins loaded)
From:       François-Denis_Gonthier <neumann () lostwebsite ! net>
Date:       2005-11-27 18:50:42
Message-ID: 200511271350.46466.neumann () lostwebsite ! net
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On 27 November 2005 11:36, you wrote:
> On Saturday 26 November 2005 03:30, François-Denis Gonthier wrote:
> > Hello all,
> >
> > I've got a strange bug with style plugins in my self-built KDE 3.5.
> > I'm using it along with some Debian packages of KDE 3.5 RC1.
> > Whenever I run a KDE app that was installed by the Debian packages,
> > many style plugins get loaded, like this lsof output seem to prove:

I've pinpointed the bug more accuretly yesterday night.  I've dug into kdelibs 
code first and then Qt but could not push very far due to my lack of 
knowledge of Qt plugins and Qt in general.

The problem happens when any KDE application is moved out of the KDE root path 
(out of $HOME/KDE in my case), the plastik style plugin refuses to load and 
the highcontrast theme is then loaded as a replacement.

In the KDE code, kapplication.cpp, starting at line 1899:

      //**** This doesn't go through (sp = 0 after that line)
      QStyle* sp = QStyleFactory::create( styleStr );

      // If there is no default style available, try falling back any 
available style
      if ( !sp && styleStr != defaultStyle) {
          sp = QStyleFactory::create( defaultStyle );
      } if ( !sp ) 
	  //*** Due to the later sp = 0, this applies the first style in the list, 
which is highcontrast.
          sp = QStyleFactory::create( *(QStyleFactory::keys().begin()) );

I've traced the local variable in that procedure and they all seem valid.  The 
problem is now that I cannot explain why the first call the 
QStyleFactory::create(...) fails and not the second.

More information: 
- when I run /usr/bin/konsole with xterm, *there is no problem at all*!  The 
problem only happens when I start Debian's KDE apps with my any application 
in my self-built KDE.
- Of course, if I choose a them that is internal in Qt, there is no problem 
either.

> I think I found a bug in Qt's plugin code. Are you running Sid and would
> you like to test a patched Qt?

I run Sid Qt but also KDE SVN qt-copy. 

I'm willing to test the patched KDE please send me the patch.

[Attachment #5 (application/pgp-signature)]

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic