summaryrefslogtreecommitdiff
path: root/daemon/jskitmanager.cpp
diff options
context:
space:
mode:
authorTomasz Sterna <tomek@xiaoka.com>2015-04-17 13:07:16 +0200
committerTomasz Sterna <tomek@xiaoka.com>2015-04-17 13:11:32 +0200
commitdc899d978eaf0ad2afc2768ab8b731974b791966 (patch)
tree1e1a20cb0330ea98a321f92351b5534f9571cd04 /daemon/jskitmanager.cpp
parent1eac0ebec1db39c74fdd998ce07246ed3f576cbe (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.cpp16
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;
}