From 01fb937e284d4d0c7a968555338b97c6c3a53c74 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 30 Aug 2018 16:15:18 +0100 Subject: [PATCH] Only run manual dialog event loop on win32, it can break other platforms --- qrenderdoc/Code/QRDUtils.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index adf169834..28b9af27b 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -900,6 +900,8 @@ void RDDialog::show(QMenu *menu, QPoint pos) int RDDialog::show(QDialog *dialog) { +// workaround for QTBUG-56382 needed on windows only - it can break on other platforms +#if defined(Q_OS_WIN32) dialog->setWindowModality(Qt::ApplicationModal); dialog->show(); QEventLoop loop; @@ -908,6 +910,9 @@ int RDDialog::show(QDialog *dialog) loop.processEvents(QEventLoop::WaitForMoreEvents); QCoreApplication::sendPostedEvents(); } +#else + dialog->exec(); +#endif return dialog->result(); }