Merge pull request #9013 from huffman/fix/max-retry-blocked

Fix failed script includes from locking the ScriptEngine up
This commit is contained in:
Seth Alves 2016-11-06 08:29:24 -08:00 committed by GitHub
commit e9194619bd
3 changed files with 5 additions and 2 deletions

View file

@ -55,7 +55,8 @@ void BatchLoader::start() {
// Use a proxy callback to handle the call and emit the signal in a thread-safe way.
// If BatchLoader is deleted before the callback is called, the subsequent "emit" call will not do
// anything.
ScriptCacheSignalProxy* proxy = new ScriptCacheSignalProxy(scriptCache.data());
ScriptCacheSignalProxy* proxy = new ScriptCacheSignalProxy();
connect(scriptCache.data(), &ScriptCache::destroyed, proxy, &ScriptCacheSignalProxy::deleteLater);
connect(proxy, &ScriptCacheSignalProxy::contentAvailable, this, [this](const QString& url, const QString& contents, bool isURL, bool success) {
if (isURL && success) {

View file

@ -24,7 +24,6 @@
class ScriptCacheSignalProxy : public QObject {
Q_OBJECT
public:
ScriptCacheSignalProxy(QObject* parent) : QObject(parent) { }
void receivedContent(const QString& url, const QString& contents, bool isURL, bool success);
signals:

View file

@ -222,6 +222,9 @@ void ScriptCache::scriptContentAvailable() {
});
} else {
// Dubious, but retained here because it matches the behavior before fixing the threading
allCallbacks = scriptRequest.scriptUsers;
scriptContent = _scriptCache[url];
finished = true;
qCWarning(scriptengine) << "Error loading script from URL " << url;