[Kde-bindings] Problem in QtRuby invoking slots with arg types that are typedefs

Richard Dale rdale at foton.es
Sun Feb 21 21:32:39 UTC 2010


I was trying to get a plasma ruby applet example working with a 
'dataUpdated(QString, Plasma::DataEngine::Data)' slot. However, it doesn't 
work because smokegen resolves the typedef for DataEngine::Data to const 
QHash<QString,QVariant>&. So the the data arg is marshalled it's type isn't 
found in the Smoke lib and I get an error:

/home/rdale/kde/src/4/kdeexamples/plasma/ruby/applets/blinker/contents/code/main.rb:19:in 
`qt_metacall': Cannot handle 'Plasma::DataEngine::Data' as slot argument
 (ArgumentError)

I think Qyoto works the same way and it will probably have the same problem. I 
haven't worked out the best way of fixing this - it is quite hard because the 
Smoke lib doesn't have any trace of DataEngine::Data to know what it is.

-- Richard



More information about the Kde-bindings mailing list