History

V8 fixes

ksuprynowicz committed 3 years ago

Commit 5cf32a91 parent f65e72c14 files · +140 −15Browse files

Showing the changes to libraries/script-engine/src/AssetScriptingInterface.cpp (1 of 14 files). Show all

Unified · Split

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

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t