From a308f430f694423064ebc86fd0506c8c6fdb3d93 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 19 Apr 2015 22:30:21 -0400 Subject: Imported Upstream version 3.0.5 --- SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp') diff --git a/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp b/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp index 90f9075..4a22e83 100644 --- a/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp @@ -12,8 +12,11 @@ bool SignalWait::wait(int msTimeout) { QTime timer(0, 0, 0, msTimeout); timer.start(); - while (!called && timer.elapsed() < msTimeout) - qApp->processEvents(QEventLoop::ExcludeUserInputEvents); + while (!called && !failed && timer.elapsed() < msTimeout) + QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); + + if (failed) + return false; return called; } @@ -23,7 +26,17 @@ void SignalWait::reset() called = false; } +void SignalWait::addFailSignal(QObject* object, const char* signal) +{ + connect(object, signal, this, SLOT(handleFailSignal())); +} + void SignalWait::handleSignal() { called = true; } + +void SignalWait::handleFailSignal() +{ + failed = true; +} -- cgit v1.2.3