summaryrefslogtreecommitdiff
path: root/src/messagedialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/messagedialog.cpp')
-rw-r--r--src/messagedialog.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/messagedialog.cpp b/src/messagedialog.cpp
index 78a5dd4d..1244e8c6 100644
--- a/src/messagedialog.cpp
+++ b/src/messagedialog.cpp
@@ -86,11 +86,23 @@ void MessageDialog::showMessage(const QString &text, QWidget *reference, bool br
{
log::debug("{}", text);
- if (reference != nullptr) {
- if (bringToFront || (qApp->activeWindow() != nullptr)) {
- MessageDialog *dialog = new MessageDialog(text, reference);
- dialog->show();
- reference->activateWindow();
+ if (!reference) {
+ for (QWidget* w : qApp->topLevelWidgets()) {
+ if (dynamic_cast<QMainWindow*>(w)) {
+ reference = w;
+ break;
+ }
}
}
+
+ if (!reference) {
+ return;
+ }
+
+ MessageDialog *dialog = new MessageDialog(text, reference);
+ dialog->show();
+
+ if (bringToFront) {
+ reference->activateWindow();
+ }
}