[Kde-bindings] korundum: KURL::List as param to DCOP call
Glenn Ergeerts
glenn.ergeerts at telenet.be
Mon Dec 25 08:35:18 UTC 2006
On Sunday 24 December 2006 19:23, Pau Garcia i Quiles wrote:
> Send a Ruby array of KDE::URL items
i tried that already but now i found my mistake:
irb(main):007:0> a = Array.new
=> []
irb(main):008:0> a.push(KDE::URL.new("http://..."))
=>[#<KDE::URL:0xb51e74e4url="http://dl.google.com/earth/kml/kml_samples/Yosemite_topo.kml",protocol="http",host="dl.google.com",port=0>]
irb(main):009:0> dcopRef.send("addTransfers", a, "/tmp")
ArgumentError: NULL pointer given
from /usr/lib/ruby/1.8/KDE/korundum.rb:333:in `dcop_send'
from /usr/lib/ruby/1.8/KDE/korundum.rb:333:in `send'
from (irb):9
irb(main):010:0>
This crashes on the following line (in DCOPRef.send):
return KDE::dcop_send(self, fun, Qt::Internal::getMocArguments(sig), *k )
The problem is that i didnt specifiy the type of the params to the DCOP call
in dcopRef.send(). I looked in the code and when no params are given korundum
tries to retrieve the type from the param given to dcopRef.send() .
Parameter "a" is a ruby Array which gets translated to a QStringList, which
explains the crash..
When i change the code to this:
dcopRef.send("addTransfers(KURL::List, QString)", a, "/tmp")
it works!
thx,
Glenn
More information about the Kde-bindings
mailing list