summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@pelagicore.com>2018-03-29 17:18:11 +0200
committerDominik Holland <dominik.holland@pelagicore.com>2018-04-03 07:58:17 +0000
commit3673317ff514b4b50ab619ac0636accfcb7a57c4 (patch)
treeccf9b9534088f08413e8fff6a1550f067c91d559
parent3e6746e9b9d8962c564ec0fa969ee129620fa542 (diff)
Make sure to handle openUrl requests in the main thread
Change-Id: If065f14517e3445b0f1a16b1d750aa9e6f569e1d Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
-rw-r--r--src/manager-lib/applicationmanager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp
index 6af11897..29a46b9e 100644
--- a/src/manager-lib/applicationmanager.cpp
+++ b/src/manager-lib/applicationmanager.cpp
@@ -46,6 +46,7 @@
#include <QDir>
#include <QTimer>
#include <QUuid>
+#include <QThread>
#include <QMimeDatabase>
#if defined(QT_GUI_LIB)
# include <QDesktopServices>
@@ -1424,6 +1425,10 @@ void ApplicationManager::shutDown()
void ApplicationManager::openUrlRelay(const QUrl &url)
{
+ if (QThread::currentThread() != thread()) {
+ staticMetaObject.invokeMethod(this, "openUrlRelay", Qt::QueuedConnection, Q_ARG(QUrl, url));
+ return;
+ }
openUrl(url.toString());
}