Sending boolean value using qdbus always yields true

Christian Esken esken at
Sun Dec 27 09:47:33 GMT 2009

 Thiago Macieira wrote:
> > Em Quinta-feira 24. Dezembro 2009, às 13.10.36, Christian Esken escreveu:
> > > Hello,
> > >
> > > I have a problem with qdbus. No matter what I pass on the command
> > > line, I always receive true. Details are on b.k.o. (Bug 201940), and
> > > Thiago says, it is not a Qt issue.
> > >
> > > I added a debug statement to KMix [1], and it shows the effect
> > > clearly [2].
> > >
> > > Does anybody know what is going on here? This is for a long time (bug
> > >  report from July 2009), and also for recent builds  (via the
> > > openSUSE build: KDE:Qt46 and KDE:KDE4:UNSTABLE:Desktop).
>> >
>> > Run both apps (qdbus and kmix) with QDBUS_DEBUG=1.
>> Done.
>> The terminal with qdbus shows contents=("Front:0", false)
>> The terminal with kmix shows contents=("Front:0", true)
>Well, I can't reproduce this. My suspect is it's an optimisation bug in
> the D-Bus data marshaller.
>Can you retry with a debug build of QtDBus? It has to be -O0.


I have used "-developer-build", see [1]. Is it enough, or must I somehow pass 
-O0 explicitly? 

After that I did a test:

Test scenario: KMix is running with the openSUSE build of Qt, qdbus is running 
with my build.

Result: It works as expected: false yields false, true yields true

So I think you are right. It looks like it is on marshalling (client side). 
Probably the build for openSUSE is using more esoteric optimization flags.


[1] Build option for  Qt taken from todays GIT 

(git:// qt-kde)

./configure -qt-gif -debug -fast -developer-build -system-libpng -system-
libjpeg -system-zlib -dbus -webkit -plugin-sql-mysql -nomake examples -nomake 

make[1]: Entering directory `/SVN/qt-kde/tools/qdbus/qdbus'
g++ -c -m64 -pipe -g -g -Wall -W -D_REENTRANT 
[...] -o .obj/debug-shared/qdbus.o qdbus.cpp

More information about the kde-core-devel mailing list