Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc 4.0.1 (Gentoo 4.0.1, pie-8.7.8) OS: Linux Korundum scripts that use connectDCOPSignal() to listen for DCOP signals crash when the signal is emitted, with the following message (as tested with the example applications dcopsignal.rb and dcopslot.rb): kde-cvs@broadway ~/kdesvn/build/kdebindings/korundum/rubylib/examples/dcop $ /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1063:in `method_missing': Cannot handle 'const QByteArray&' as argument of virtual method DCOPObject::process (ArgumentError) from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1063:in `exec' from /usr/lib/ruby/site_ruby/1.8/KDE/korundum.rb:408:in `exec' from ./dcopslot.rb:88 Mutex destroy failure: Device or resource busy This happens with every script I use that connects to DCOP signals. In fact, I first noticed when re-testing a script you can find here (http://grammarian.homelinux.net/~kde-cvs/showPlaying-signals.rb), which can be used in conjunction with KDE 3.5's JuK application, which gives the following error: kde-cvs@broadway ~/kdesvn/build/kdebindings $ ~/public_html/showPlaying-signals.rb /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1063:in `method_missing': Cannot handle 'const QByteArray&' as argument of virtual method DCOPObject::process (ArgumentError) from /usr/lib/ruby/site_ruby/1.8/Qt/qtruby.rb:1063:in `exec' from /usr/lib/ruby/site_ruby/1.8/KDE/korundum.rb:395:in `exec' from /home/kde-cvs/public_html/showPlaying-signals.rb:178 Mutex destroy failure: Device or resource busy I just recently upgraded Ruby to 1.8.3. I tried reinstalling qtruby and korundum but that didn't seem to help. I will try downgrading Ruby back to 1.8.1 I suppose and see if that works, but I'm not sure when the behavior started to break as I haven't used the script in question in awhile.
Gentoo only seems to go as far back as 1.8.2, but it seems to crash as well.
On Friday 07 October 2005 05:07, Michael Pyne wrote: [bugs.kde.org quoted mail] I made a recent change to how QByteArrays are marshalled. It involved changes to both Korundum and the code generation for the Smoke library. You need to update the kdebindings/kalyptus directory, and the 'make clean; make' in kdebindings/smoke/qt and kdebindings/smoke/kde, reinstall the Smoke libraries, and it should be ok -- Richard
As an FYI, This code works for me (using Gentoo): hello = MainWindow.new(nil) app.mainWidget = hello hello.connectDCOPSignal("gina","MessageHandlerBase","EStop(bool)","EStopSlot(bool)",false)
Richard: Thanks, that worked.