[Kde-bindings] Qyoto DBUS

Arno Rehn arno at arnorehn.de
Thu Jan 11 13:17:21 UTC 2007


Am Donnerstag, 11. Januar 2007 11:36 schrieb Richard Dale:
> On Wednesday 10 January 2007 22:38, Arno Rehn wrote:
> > Am Mittwoch, 10. Januar 2007 23:14 schrieb Richard Dale:
> > > On Wednesday 10 January 2007 21:59, Arno Rehn wrote:
> > > > > I'm not sure what can be going wrong.
> > > > >
> > > > > I've added some more code to print out the reply value of the dbus
> > > > > call, and it looks like the code for marshalling QStringLists and
> > > > > QLists of QVariants is all working fine:
> > > > >
> > > > > [cut]
> > > >
> > > > Uhmm, do you have any code you haven't committed yet? I have also
> > > > tried it with a SuSE 10.2 in VMware - no chance, the error is the
> > > > same. So with Gentoo and SuSE 10.2 it doesn't work.
> > >
> > > No I don't think so. Is it something to do with your build of the smoke
> > > library - does QtRuby work with the listnames example?
> >
> > Hmm, the QtRuby example doesn't work, too. I had to change "require 'Qt'"
> > to "require 'Qt4'" - but that shouldn't be the problem.
> > I get the following error:
> > /usr/lib/ruby/site_ruby/1.8/Qt/qtruby4.rb:1925:in `do_method_missing':
> > undefined method `name' for nil:NilClass (NoMethodError)
> >         from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby4.rb:1928:in
> > `do_method_missing'
> >         from listnames.rb:56:in `method_missing'
> >         from listnames.rb:56
> >
> > I don't know much about ruby, but to me it seems, as there is something
> > returning Nil (or null) - so the same error as with Qyoto.
> > Does this work with qt4-qtruby-1.4.7 or are there major changes to smoke
> > in SVN?
>
> No, nothing about Smoke has changed for a while. The only thing I can think
> of is to try and hack the generated Smoke sources to see what is going on.
> Here is the code that calls sessionBus(), in x_4.cpp in my version of
> Smoke:
>
>     static void x_46(Smoke::Stack x) {
> 	// sessionBus()
> 	QDBusConnection xret = QDBusConnection::sessionBus();
> 	x[0].s_class = (void*)new QDBusConnection(xret);
>     }
>
> See if you can call 'isConnected()' on 'xret'. Is the problem that 'xret'
> can't be copied via the copy constructor? As x[0].s_class must be NULL (ie
> 0), but a value type like 'xret' can't ever be NULL, it should never
> happen.

Uhm, well, I think I found the problem with my PC: There is absolutley nothing 
in the x_*.cpp files that has to do with dbus. It is just not generated by 
kalyptus.
I've ran ./configure and then a 'make'. Now I 'grep' through the x_*.cpp's and 
there is just nothing that has to do with dbus.

pumphaus at biergarten ~/src/qt4-qtruby-1.4.7/smoke/qt $ grep -i dbus x_*.cpp
pumphaus at biergarten ~/src/qt4-qtruby-1.4.7/smoke/qt $

A bug in kalyptus? Qt is definitively compiled with dbus support, I can run 
the C++ examples. Shall I recompile it with 'debug'?

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list