Showing the changes to libraries/script-engine/src/AssetScriptingInterface.cpp (1 of 14 files). Show all
Unified · Split
| @@ -73,6 +73,7 @@ void AssetScriptingInterface::uploadData(QString data, const ScriptValue& callba · 72 unmodified lines | ||
| 73 | 73 | auto upload = DependencyManager::get<AssetClient>()->createUpload(dataByteArray); |
| 74 | 74 | |
| 75 | 75 | Promise deferred = makePromise(__FUNCTION__); |
| 76 | + Q_ASSERT(engine); | |
| 76 | 77 | auto scriptEngine = engine(); |
| 77 | 78 | deferred->ready([=](QString error, QVariantMap result) { |
| 78 | 79 | auto url = result.value("url").toString(); |
| @@ -96,6 +97,7 @@ void AssetScriptingInterface::setMapping(QString path, QString hash, const Scrip · 17 unmodified lines | ||
| 96 | 97 | auto handler = jsBindCallback(thisObject(), callback); |
| 97 | 98 | auto setMappingRequest = assetClient()->createSetMappingRequest(path, hash); |
| 98 | 99 | Promise deferred = makePromise(__FUNCTION__); |
| 100 | + Q_ASSERT(engine); | |
| 99 | 101 | auto scriptEngine = engine(); |
| 100 | 102 | deferred->ready([=](QString error, QVariantMap result) { |
| 101 | 103 | jsCallback(handler, scriptEngine->newValue(error), result); |
| @@ -133,6 +135,7 @@ void AssetScriptingInterface::downloadData(QString urlString, const ScriptValue& · 31 unmodified lines | ||
| 133 | 135 | auto assetRequest = assetClient->createRequest(hash); |
| 134 | 136 | |
| 135 | 137 | Promise deferred = makePromise(__FUNCTION__); |
| 138 | + Q_ASSERT(engine); | |
| 136 | 139 | auto scriptEngine = engine(); |
| 137 | 140 | deferred->ready([=](QString error, QVariantMap result) { |
| 138 | 141 | // FIXME: to remain backwards-compatible the signature here is "callback(data, n/a)" |
| @@ -196,6 +199,7 @@ void AssetScriptingInterface::getMapping(QString asset, const ScriptValue& callb · 57 unmodified lines | ||
| 196 | 199 | JS_VERIFY(AssetUtils::isValidFilePath(path), "invalid ATP file path: " + asset + "(path:"+path+")"); |
| 197 | 200 | JS_VERIFY(callback.isFunction(), "expected second parameter to be a callback function"); |
| 198 | 201 | Promise promise = getAssetInfo(path); |
| 202 | + Q_ASSERT(engine); | |
| 199 | 203 | auto scriptEngine = engine(); |
| 200 | 204 | promise->ready([=](QString error, QVariantMap result) { |
| 201 | 205 | jsCallback(handler, scriptEngine->newValue(error), scriptEngine->newValue(result.value("hash").toString())); |
| @@ -229,6 +233,7 @@ Promise AssetScriptingInterface::jsPromiseReady(Promise promise, const ScriptVal · 27 unmodified lines | ||
| 229 | 233 | if (!jsVerify(handler.isValid(), "jsPromiseReady -- invalid callback handler")) { |
| 230 | 234 | return nullptr; |
| 231 | 235 | } |
| 236 | + Q_ASSERT(engine); | |
| 232 | 237 | auto scriptEngine = engine(); |
| 233 | 238 | return promise->ready([this, handler, scriptEngine](QString error, QVariantMap result) { |
| 234 | 239 | jsCallback(handler, scriptEngine->newValue(error), result); |
| @@ -238,6 +243,7 @@ Promise AssetScriptingInterface::jsPromiseReady(Promise promise, const ScriptVal · 3 unmodified lines | ||
| 238 | 243 | void AssetScriptingInterface::jsCallback(const ScriptValue& handler, |
| 239 | 244 | const ScriptValue& error, const ScriptValue& result) { |
| 240 | 245 | Q_ASSERT(thread() == QThread::currentThread()); |
| 246 | + Q_ASSERT(engine); | |
| 241 | 247 | auto errorValue = !error.toBool() ? engine()->nullValue() : error; |
| 242 | 248 | JS_VERIFY(handler.isObject() && handler.property("callback").isFunction(), |
| 243 | 249 | QString("jsCallback -- .callback is not a function (%1)") |
| @@ -536,6 +542,7 @@ void AssetScriptingInterface::loadFromCache(const ScriptValue& options, const Sc · 292 unmodified lines | ||
| 536 | 542 | } |
| 537 | 543 | |
| 538 | 544 | bool AssetScriptingInterface::canWriteCacheValue(const QUrl& url) { |
| 545 | + Q_ASSERT(engine); | |
| 539 | 546 | auto scriptManager = engine()->manager(); |
| 540 | 547 | if (!scriptManager) { |
| 541 | 548 | return false; |