Give our builtins a prototype, so toString() doesn't assert
authorLars Knoll <lars.knoll@digia.com>
Mon, 14 Jan 2013 15:28:32 +0000 (16:28 +0100)
committerSimon Hausmann <simon.hausmann@digia.com>
Mon, 14 Jan 2013 17:24:13 +0000 (18:24 +0100)
Change-Id: I43ff797787187caf8f5a01dee7b2dcc1008fd06f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
main.cpp

index d115ee0..748294b 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -350,10 +350,14 @@ int main(int argc, char *argv[])
         QQmlJS::VM::ExecutionContext *ctx = vm.rootContext;
 
         QQmlJS::VM::Object *globalObject = vm.globalObject.objectValue();
+        QQmlJS::VM::Object *print = new (ctx->engine->memoryManager) builtins::Print(ctx);
+        print->prototype = ctx->engine->objectPrototype;
         globalObject->__put__(ctx, vm.identifier(QStringLiteral("print")),
-                                  QQmlJS::VM::Value::fromObject(new (ctx->engine->memoryManager) builtins::Print(ctx)));
+                                  QQmlJS::VM::Value::fromObject(print));
+        QQmlJS::VM::Object *gc = new (ctx->engine->memoryManager) builtins::GC(ctx);
+        gc->prototype = ctx->engine->objectPrototype;
         globalObject->__put__(ctx, vm.identifier(QStringLiteral("gc")),
-                                  QQmlJS::VM::Value::fromObject(new (ctx->engine->memoryManager) builtins::GC(ctx)));
+                                  QQmlJS::VM::Value::fromObject(gc));
 
         bool errorInTestHarness = false;
         if (!qgetenv("IN_TEST_HARNESS").isEmpty())