Showing the changes to libraries/script-engine/src/v8/ScriptObjectV8Proxy.cpp (1 of 4 files). Show all
Unified · Split
| @@ -78,6 +78,9 @@ private: // storage · 77 unmodified lines | |||
| 78 | 78 | ||
| 79 | ScriptObjectV8Proxy::ScriptObjectV8Proxy(ScriptEngineV8* engine, QObject* object, bool ownsObject, const ScriptEngine::QObjectWrapOptions& options) : | 79 | ScriptObjectV8Proxy::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) |