aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2012-12-12 22:10:50 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2012-12-13 00:09:22 +0100
commitd6fcbdbf5182dcd549ef685cfeb2e3e90d3e81c7 (patch)
treea6429af78e78f9868ae779f4da00b7b4553e73ff
parent22b5ff5b93822da3d08861400415200068cd0756 (diff)
Fix ObjectCtor::call
Change-Id: Ifa74ba46ed5213661d009fcd748d66f2b5670814 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r--qv4ecmaobjects.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/qv4ecmaobjects.cpp b/qv4ecmaobjects.cpp
index fc428e6c83..1a95c14603 100644
--- a/qv4ecmaobjects.cpp
+++ b/qv4ecmaobjects.cpp
@@ -537,7 +537,9 @@ Value ObjectCtor::construct(ExecutionContext *ctx)
Value ObjectCtor::call(ExecutionContext *ctx)
{
- return Value::fromObject(ctx->engine->newObject());
+ if (!ctx->argumentCount || ctx->argument(0).isUndefined() || ctx->argument(0).isNull())
+ return Value::fromObject(ctx->engine->newObject());
+ return __qmljs_to_object(ctx->argument(0), ctx);
}
Value ObjectCtor::__get__(ExecutionContext *ctx, String *name)