History

Fix occasional deadlock in loading recordings

Brad Davis committed 10 years ago

Commit 3738f211 parent 64ba5b41 file · +6 −4Browse files

Showing the changes to libraries/script-engine/src/RecordingScriptingInterface.cpp (1 of 1 file). Show all

Unified · Split

libraries/script-engine/src/RecordingScriptingInterface.cpp+6−4
@@ -56,10 +56,12 @@ bool RecordingScriptingInterface::loadRecording(const QString& url) { · 55 unmodified lines
56 using namespace recording;56 using namespace recording;
57 57
58 auto loader = ClipCache::instance().getClipLoader(url);58 auto loader = ClipCache::instance().getClipLoader(url);
59 QEventLoop loop;59 if (!loader->isLoaded()) {
60 QObject::connect(loader.data(), &Resource::loaded, &loop, &QEventLoop::quit);60 QEventLoop loop;
61 QObject::connect(loader.data(), &Resource::failed, &loop, &QEventLoop::quit);61 QObject::connect(loader.data(), &Resource::loaded, &loop, &QEventLoop::quit);
62 loop.exec();62 QObject::connect(loader.data(), &Resource::failed, &loop, &QEventLoop::quit);
63 loop.exec();
64 }
63 65
64 if (!loader->isLoaded()) {66 if (!loader->isLoaded()) {
65 qWarning() << "Clip failed to load from " << url;67 qWarning() << "Clip failed to load from " << url;