[PyKDE] segfault in kdecore using dcop call

Miguel Angel Alvarez maacruz at gmail.com
Thu Apr 6 21:28:17 BST 2006


El Jueves, 6 de Abril de 2006 21:14, Ismail Donmez escribió:
> Perşembe 6 Nisan 2006 21:45 tarihinde, Miguel Angel Alvarez şunları 
yazmıştı:
> > Hi,
> >
> > Trying to use a dcop call with a bool argument causes a segfault.
> > dcop calls with other argument types work nicely
> > What can I do?
> >
> > I'm using suse 10, kde 3.5.1/2, python-qt 3.5.1/2, kdebindings-python
> > 3.5.1/2, python 2.4.1
>
> Well you should use PyKDE snapshot from
> http://www.riverbankcomputing.com/Downloads/PyKDE3/PyKDE-snapshot20060122.t
>ar.gz ( it won't compile with sip 4.4.1 so you should use older sip
> snapshots ).
Hi,
Thanks for your reply, but unfortunately I can't do so. I'm developing a 
script for amarok used by many people (the replaygain script), so I can't ask 
them to use a PyKDE not shipped with their distro or kde official packages (I 
could suggest to patch and recompile their current 
kdebindings3-python-3.4/3.5, though).
> > This is the sample code:
> >
> > ..... python code .....
> > import sys
> > import kdecore
> > import dcopext
> > _kaboutdata = kdecore.KAboutData('amarok_replaygain.py','Amarok
> > replaygain script','0.8.1')
> > kdecore.KCmdLineArgs.init(sys.argv[:1], _kaboutdata)
> > _kapp = kdecore.KApplication()
> > amarok_dcop = dcopext.DCOPApp ("amarok", _kapp.dcopClient())
> >
> > amarok_dcop.player.enableOSD(True)
> > ...... end .....
>
> Second, noticed two things: first you didn't call KCmdLineArgs.init() and
> you didn't call _kapp.exec_loop() . Hope this helps.
Look again, I do call KCmdLineArgs.init():
kdecore.KCmdLineArgs.init(sys.argv[:1], _kaboutdata)
Why should I call _kapp.exec_loop()? The application has no kde interface, so 
it simply seems to hang if I do so.
> Regards,
> ismail
Regards,
Miguel Angel
-- 
Don't see the world through a window, be open{source}minded, and be free :-)




More information about the PyQt mailing list