[Qtscript-bindings] QScriptValue::isFunction() in 4.5

syntheticpp at gmx.net syntheticpp at gmx.net
Mon Jan 5 16:41:39 CET 2009


Hello,

I have a qtscript binding of Qt classes which work fine with Qt 4.4
but are not usable with Qt4.5, qtscript warns:

invalid 'instanceof' operand

I've tracked it down to a different behaviour of QScriptValue::isFunction() const
which returns true for 4.4 and false for 4.5:

inline bool QScriptValueImpl::isFunction() const
{
    return (m_type == QScript::ObjectType)
        && (classInfo()->type() & QScriptClassInfo::FunctionBased);
}


The reason is a changed enum value:

class QScriptClassInfo
{
public:
    enum Type {
        FunctionBased   = 0x40000000,

        ObjectType      = 1,
...

Qt 4.4:
        QObjectType     = 11 | FunctionBased,
Qt 4.5:
        QObjectType     = 11,



Is this a Qt regression or my fault?

Peter



-- 
Sensationsangebot verlängert: GMX FreeDSL - Telefonanschluss + DSL 
für nur 16,37 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K1308T4569a


More information about the Qtscript-bindings mailing list