aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)