aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-16 13:08:37 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-16 19:20:03 +0100
commit5d15f9704783e5eafc9ba77740aae85aeac01d24 (patch)
tree9dc30ad9c586ea16efba81c78da58df109cfa931 /src/qml
parent73f4fdbef816ff623142bee6c235f06c4bdf58d3 (diff)
Fix failing context->next != 0x1 assertion
After commit bf173fe5da381c88343296ca33ef6b06389c6d20 context objects are always on the GC heap and no more in that special linked list or stack allocated, so the next pointer became dangling/uninitialized and asserting on it was bound to fail randomly. Since we no more allocate contexts on the stack, we can safely remove the assertion. Task-number: QTBUG-35917 Change-Id: I104bd129c6c32f46a6302052f563abdf926cb879 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/jsruntime/qv4context.cpp6
-rw-r--r--src/qml/jsruntime/qv4context_p.h1
-rw-r--r--src/qml/jsruntime/qv4functionobject.cpp3
3 files changed, 0 insertions, 10 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp
index 05a0e66e09..c2c9aefd5f 100644
--- a/src/qml/jsruntime/qv4context.cpp
+++ b/src/qml/jsruntime/qv4context.cpp
@@ -83,9 +83,6 @@ CallContext *ExecutionContext::newCallContext(FunctionObject *function, CallData
c->strictMode = function->strictMode;
c->outer = function->scope;
-#ifndef QT_NO_DEBUG
- assert(c->outer->next != (ExecutionContext *)0x1);
-#endif
c->activation = 0;
@@ -229,9 +226,6 @@ CallContext::CallContext(ExecutionEngine *engine, ObjectRef qml, FunctionObject
strictMode = true;
outer = function->scope;
-#ifndef QT_NO_DEBUG
- assert(outer->next != (ExecutionContext *)0x1);
-#endif
activation = qml.getPointer();
diff --git a/src/qml/jsruntime/qv4context_p.h b/src/qml/jsruntime/qv4context_p.h
index 4eb89ad905..334d033193 100644
--- a/src/qml/jsruntime/qv4context_p.h
+++ b/src/qml/jsruntime/qv4context_p.h
@@ -106,7 +106,6 @@ struct Q_QML_EXPORT ExecutionContext : public Managed
ExecutionContext *outer;
Lookup *lookups;
CompiledData::CompilationUnit *compilationUnit;
- ExecutionContext *next; // used in the GC
struct EvalCode
{
diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp
index 6e5c137e0b..ce81282aa3 100644
--- a/src/qml/jsruntime/qv4functionobject.cpp
+++ b/src/qml/jsruntime/qv4functionobject.cpp
@@ -133,9 +133,6 @@ void FunctionObject::init(const StringRef n, bool createProto)
type = Type_FunctionObject;
needsActivation = true;
strictMode = false;
-#ifndef QT_NO_DEBUG
- assert(scope->next != (ExecutionContext *)0x1);
-#endif
if (createProto) {
Scoped<Object> proto(s, scope->engine->newObject(scope->engine->protoClass));