[Kde-bindings] Ruby bindings 4.4 regressions
Richard Dale
rdale at foton.es
Thu Jan 28 12:17:42 UTC 2010
On Wednesday 27 January 2010 11:18:47 pm David Palacio wrote:
> Here is a list of regressions/crashes for the 4.4 branch.
>
> QVariant:
> This one is known for some time. Methods that take them no longer accept
> implicit conversions. Though this feature was not properly implemented in
> the past.
Well the overloaded method resolution code and MethodCall class in the JSmoke
bindings now handle implicit type conversion of arguments in a completely
general way, not just for QVariants, but for all types. It can match
constructor methods like 'QVariant::QVariant(bool)' as well as operator
methods like 'operator QBrush()'. It needs no change to the Smoke libs, and
shouldn't slow down normal method calls which don't need implicit type
conversions. The format of the resolved method call is a QVector of
Smoke::ModuleIndexs, and it should be possible to cache those in the QtRuby
method selector cache.
So what I really want to do is to port that code to QtRuby for release with
KDE 4.5. For KDE 4.4 you've posted a list of which methods need special casing
to handle conversions to QVariants, and there are quite a lot of them. But we
could implement that as a temporary measure is there is time.
> Ruboids:
> Every ruby plasmoid crashes plasma or the plasmoid viewer. Backtraces may
> differ.
I haven't even tried Plasma yet. It is possible that it is the same casting
problem that Stefano had with the actionCollection() method, as the
QGraphicsView classes have multiple inheritance.
> Constants on modules:
> KIO::NoReload, KIO::HideProgressInfo for example, are not resolved in 4.4.
I've just added KIO to the list of classes for the KIO Smoke lib in the
smokeconfig.xml file, and I'll see if that fixes it.
-- Richard
More information about the Kde-bindings
mailing list