aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2015-04-19 22:30:43 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2015-04-19 22:30:43 -0400
commit094918f048c81474b22f9ba2940c96dc4033d753 (patch)
tree2b89c77ad7dc9c55e9ba383f23f9f25b82df358e /SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp
parent640fff60ceecde402131937dddb3458f7a003e9c (diff)
parenta308f430f694423064ebc86fd0506c8c6fdb3d93 (diff)
Merge tag 'upstream/3.0.5'
Upstream version 3.0.5 # gpg: Signature made Sun 19 Apr 2015 10:30:41 PM EDT using RSA key ID EBE9BD91 # gpg: Good signature from "Unit 193 <unit193@gmail.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.org>" # gpg: aka "Unit 193 <unit193@ubuntu.com>" # gpg: aka "Unit 193 <unit193@ninthfloor.com>"
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/common/signalwait.cpp17
1 files changed, 15 insertions, 2 deletions
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;
+}