summaryrefslogtreecommitdiff
path: root/daemon/jskitmanager.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-05 23:57:06 +0100
committerJavier <dev.git@javispedro.com>2014-12-05 23:57:06 +0100
commitdeb44cc068f03c7c6bdeb1b8803e58c2ad62a47d (patch)
tree3a17287ae197fa3c12ce48355fd0f676d6d29b4e /daemon/jskitmanager.cpp
parentb1acefc4ef93a0023df62b9ec8b7b9d7aa216535 (diff)
minor changes
Diffstat (limited to 'daemon/jskitmanager.cpp')
-rw-r--r--daemon/jskitmanager.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/daemon/jskitmanager.cpp b/daemon/jskitmanager.cpp
index 9c739fc..d632f7b 100644
--- a/daemon/jskitmanager.cpp
+++ b/daemon/jskitmanager.cpp
@@ -40,6 +40,7 @@ QString JSKitManager::describeError(QJSValue error)
void JSKitManager::showConfiguration()
{
if (_engine) {
+ logger()->debug() << "requesting configuration";
_jspebble->invokeCallbacks("showConfiguration");
} else {
logger()->warn() << "requested to show configuration, but JS engine is not running";
@@ -129,7 +130,11 @@ void JSKitManager::startJsApp()
navigatorObj.setProperty("geolocation", _engine->newQObject(_jsgeo));
globalObj.setProperty("navigator", navigatorObj);
- _engine->evaluate("function XMLHttpRequest() { return Pebble.createXMLHttpRequest(); }");
+ // Shims for compatibility...
+ QJSValue result = _engine->evaluate(
+ "function XMLHttpRequest() { return Pebble.createXMLHttpRequest(); }\n"
+ );
+ Q_ASSERT(!result.isError());
QFile scriptFile(_curApp.path() + "/pebble-js-app.js");
if (!scriptFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
@@ -140,7 +145,7 @@ void JSKitManager::startJsApp()
QString script = QString::fromUtf8(scriptFile.readAll());
- QJSValue result = _engine->evaluate(script, scriptFile.fileName());
+ result = _engine->evaluate(script, scriptFile.fileName());
if (result.isError()) {
logger()->warn() << "error while evaluating JSKit script:" << describeError(result);
}
@@ -158,12 +163,13 @@ void JSKitManager::stopJsApp()
_engine->collectGarbage();
- delete _engine;
+ _engine->deleteLater();
_engine = 0;
- delete _jsstorage;
+ _jsstorage->deleteLater();
_jsstorage = 0;
- delete _jspebble;
- _jspebble = 0;
- delete _jsgeo;
+ _jsgeo->deleteLater();
_jsgeo = 0;
+ _jspebble->deleteLater();
+ _jspebble = 0;
+
}