summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Komissarov <ABBAPOH@gmail.com>2021-02-07 18:15:28 +0100
committerIvan Komissarov <ABBAPOH@gmail.com>2021-02-08 17:42:40 +0100
commitd4206b21c56e8307d1439a8f10a8cd68bb6c714e (patch)
treed49a25198c233a0a6141b7efe2102902163b4377
parent4672d304a4158fc7f467a471165d4fef7bb336ca (diff)
downloadqtscript-d4206b21c56e8307d1439a8f10a8cd68bb6c714e.tar.gz
Fix object destruction order
The string should be destroyed before its data. Change-Id: I99034c58dd46c4589941aca066b3fae65a406fcd Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/script/bridge/qscriptclassobject.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/script/bridge/qscriptclassobject.cpp b/src/script/bridge/qscriptclassobject.cpp
index 88a3fc3..65a4196 100644
--- a/src/script/bridge/qscriptclassobject.cpp
+++ b/src/script/bridge/qscriptclassobject.cpp
@@ -86,8 +86,8 @@ bool ClassObjectDelegate::getOwnPropertySlot(QScriptObject* object,
return true;
QScriptValue scriptObject = engine->scriptValueFromJSCValue(object);
- QScriptString scriptName;
QScriptStringPrivate scriptName_d(engine, propertyName, QScriptStringPrivate::StackAllocated);
+ QScriptString scriptName;
QScriptStringPrivate::init(scriptName, &scriptName_d);
uint id = 0;
QScriptClass::QueryFlags flags = m_scriptClass->queryProperty(
@@ -160,8 +160,8 @@ void ClassObjectDelegate::put(QScriptObject* object, JSC::ExecState *exec,
QScriptEnginePrivate *engine = scriptEngineFromExec(exec);
QScript::SaveFrameHelper saveFrame(engine, exec);
QScriptValue scriptObject = engine->scriptValueFromJSCValue(object);
- QScriptString scriptName;
QScriptStringPrivate scriptName_d(engine, propertyName, QScriptStringPrivate::StackAllocated);
+ QScriptString scriptName;
QScriptStringPrivate::init(scriptName, &scriptName_d);
uint id = 0;
QScriptClass::QueryFlags flags = m_scriptClass->queryProperty(
@@ -180,8 +180,8 @@ bool ClassObjectDelegate::deleteProperty(QScriptObject* object, JSC::ExecState *
QScriptEnginePrivate *engine = scriptEngineFromExec(exec);
QScript::SaveFrameHelper saveFrame(engine, exec);
QScriptValue scriptObject = engine->scriptValueFromJSCValue(object);
- QScriptString scriptName;
QScriptStringPrivate scriptName_d(engine, propertyName, QScriptStringPrivate::StackAllocated);
+ QScriptString scriptName;
QScriptStringPrivate::init(scriptName, &scriptName_d);
uint id = 0;
QScriptClass::QueryFlags flags = m_scriptClass->queryProperty(