diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-04-17 13:07:16 +0200 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-04-17 13:11:32 +0200 |
| commit | dc899d978eaf0ad2afc2768ab8b731974b791966 (patch) | |
| tree | 1e1a20cb0330ea98a321f92351b5534f9571cd04 /daemon/jskitmanager.cpp | |
| parent | 1eac0ebec1db39c74fdd998ce07246ed3f576cbe (diff) | |
Better JSKit memory management
Attach context objects as _engine children, so they
get destroyed by parent when engine is deleted.
Diffstat (limited to 'daemon/jskitmanager.cpp')
| -rw-r--r-- | daemon/jskitmanager.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/daemon/jskitmanager.cpp b/daemon/jskitmanager.cpp index a5be709..2da1986 100644 --- a/daemon/jskitmanager.cpp +++ b/daemon/jskitmanager.cpp @@ -132,12 +132,12 @@ void JSKitManager::startJsApp() } _engine = new QJSEngine(this); - _jspebble = new JSKitPebble(_curApp, this); - _jsconsole = new JSKitConsole(this); - _jsstorage = new JSKitLocalStorage(_curApp.uuid(), this); - _jsgeo = new JSKitGeolocation(this); + _jspebble = new JSKitPebble(_curApp, this, _engine); + _jsconsole = new JSKitConsole(_engine); + _jsstorage = new JSKitLocalStorage(_curApp.uuid(), _engine); + _jsgeo = new JSKitGeolocation(this, _engine); - qCDebug(l) << "starting JS app"; + qCDebug(l) << "starting JS app" << _curApp.shortName(); QJSValue globalObj = _engine->globalObject(); @@ -196,10 +196,4 @@ void JSKitManager::stopJsApp() _engine->deleteLater(); _engine = 0; - _jsstorage->deleteLater(); - _jsstorage = 0; - _jsgeo->deleteLater(); - _jsgeo = 0; - _jspebble->deleteLater(); - _jspebble = 0; } |
