summaryrefslogtreecommitdiffstats
path: root/src/script/bridge/qscriptobject.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2009-09-21 10:56:11 (GMT)
committerOlivier Goffart <ogoffart@trolltech.com>2009-09-21 14:29:16 (GMT)
commit65b4ce3c51283adb76dcb73cc654b06359b1ae00 (patch)
treec71e10c6da5f986cc83ab520efce3a5952114efe /src/script/bridge/qscriptobject.cpp
parent1b34feacef7a2d3ac005449a7cfbcb08a6bbf947 (diff)
downloadQt-65b4ce3c51283adb76dcb73cc654b06359b1ae00.zip
Qt-65b4ce3c51283adb76dcb73cc654b06359b1ae00.tar.gz
Qt-65b4ce3c51283adb76dcb73cc654b06359b1ae00.tar.bz2
QtScript: Fix comparing QVariant and QObject.
This add a hook inside JSC to be able to implement our own comparison function when comparing objects. Reviewed-by: Kent Hansen
Diffstat (limited to 'src/script/bridge/qscriptobject.cpp')
-rw-r--r--src/script/bridge/qscriptobject.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/script/bridge/qscriptobject.cpp b/src/script/bridge/qscriptobject.cpp
index d46765a..0807dc2 100644
--- a/src/script/bridge/qscriptobject.cpp
+++ b/src/script/bridge/qscriptobject.cpp
@@ -145,6 +145,15 @@ void QScriptObject::getPropertyNames(JSC::ExecState* exec, JSC::PropertyNameArra
d->delegate->getPropertyNames(this, exec, propertyNames, listedAttributes);
}
+bool QScriptObject::compareToObject(JSC::ExecState* exec, JSC::JSObject *other)
+{
+ if (!d || !d->delegate) {
+ return JSC::JSObject::compareToObject(exec, other);
+ }
+ return d->delegate->compareToObject(this, exec, other);
+}
+
+
void QScriptObject::mark()
{
Q_ASSERT(!marked());
@@ -255,4 +264,9 @@ bool QScriptObjectDelegate::hasInstance(QScriptObject* object, JSC::ExecState* e
return object->JSC::JSObject::hasInstance(exec, value, proto);
}
+bool QScriptObjectDelegate::compareToObject(QScriptObject* object, JSC::ExecState* exec, JSC::JSObject* o)
+{
+ return object->JSC::JSObject::compareToObject(exec, o);
+}
+
QT_END_NAMESPACE