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
5656 using namespace recording;
5757
5858 auto loader = ClipCache::instance().getClipLoader(url);
59− QEventLoop loop;
60− QObject::connect(loader.data(), &Resource::loaded, &loop, &QEventLoop::quit);
61− QObject::connect(loader.data(), &Resource::failed, &loop, &QEventLoop::quit);
62− loop.exec();
59+ if (!loader->isLoaded()) {
60+ QEventLoop loop;
61+ QObject::connect(loader.data(), &Resource::loaded, &loop, &QEventLoop::quit);
62+ QObject::connect(loader.data(), &Resource::failed, &loop, &QEventLoop::quit);
63+ loop.exec();
64+ }
6365
6466 if (!loader->isLoaded()) {
6567 qWarning() << "Clip failed to load from " << url;