History

Fix scriptable resource thread issue

Karol Suprynowicz committed 10 months ago

Commit bb177551 parent 7b64ea14 files · +21 −4Browse files

Showing the changes to libraries/script-engine/src/v8/ScriptObjectV8Proxy.cpp (1 of 4 files). Show all

Unified · Split

libraries/script-engine/src/v8/ScriptObjectV8Proxy.cpp+7−1
@@ -78,6 +78,9 @@ private: // storage · 77 unmodified lines
78 78
79ScriptObjectV8Proxy::ScriptObjectV8Proxy(ScriptEngineV8* engine, QObject* object, bool ownsObject, const ScriptEngine::QObjectWrapOptions& options) :79ScriptObjectV8Proxy::ScriptObjectV8Proxy(ScriptEngineV8* engine, QObject* object, bool ownsObject, const ScriptEngine::QObjectWrapOptions& options) :
80 _engine(engine), _wrapOptions(options), _ownsObject(ownsObject), _object(object) {80 _engine(engine), _wrapOptions(options), _ownsObject(ownsObject), _object(object) {
81 if (_ownsObject) {
82 Q_ASSERT(_engine->thread() == object->thread());
83 }
81 Q_ASSERT(_engine != nullptr);84 Q_ASSERT(_engine != nullptr);
82 investigate();85 investigate();
83}86}
@@ -241,7 +244,10 @@ ScriptObjectV8Proxy::~ScriptObjectV8Proxy() { · 157 unmodified lines
241 v8::HandleScope handleScope(isolate);244 v8::HandleScope handleScope(isolate);
242 _v8Object.Reset();245 _v8Object.Reset();
243 QObject* qobject = _object;246 QObject* qobject = _object;
244 if(qobject) delete qobject;247 if(qobject) {
248 Q_ASSERT(qobject->thread() == QThread::currentThread());
249 delete qobject;
250 }
245 } else {251 } else {
246 v8::HandleScope handleScope(isolate);252 v8::HandleScope handleScope(isolate);
247 if (_object)253 if (_object)