diff options
-rw-r--r-- | qv4ecmaobjects.cpp | 4 |
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) |