diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index 152ae1e63e7..0ed4d4cc8a5 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -688,7 +688,7 @@ QWidget *ICore::dialogParent() QWidget *active = QApplication::activeModalWidget(); if (!active) active = QApplication::activeWindow(); - if (!active || (active && active->windowFlags().testFlag(Qt::SplashScreen))) + if (!active || (active && active->windowFlags().testAnyFlags(Qt::SplashScreen | Qt::Popup))) active = m_mainwindow; return active; } diff --git a/src/plugins/squish/squishperspective.cpp b/src/plugins/squish/squishperspective.cpp index a4e80aa280e..a5c52049996 100644 --- a/src/plugins/squish/squishperspective.cpp +++ b/src/plugins/squish/squishperspective.cpp @@ -126,7 +126,7 @@ SquishControlBar::SquishControlBar(SquishPerspective *perspective) , m_perspective(perspective) { setWindowTitle(Tr::tr("Control Bar")); - setWindowFlags(Qt::Widget | Qt::WindowCloseButtonHint | Qt::WindowStaysOnTopHint); + setWindowFlags(Qt::Tool | Qt::WindowCloseButtonHint | Qt::WindowStaysOnTopHint); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->setContentsMargins(0, 0, 0, 0); diff --git a/src/plugins/squish/squishtools.cpp b/src/plugins/squish/squishtools.cpp index b9a5d62b341..dab4907d5f7 100644 --- a/src/plugins/squish/squishtools.cpp +++ b/src/plugins/squish/squishtools.cpp @@ -367,7 +367,7 @@ void SquishTools::setState(SquishTools::State state) QDir(m_suitePath).dirName(), &error); if (!error.isEmpty()) - QMessageBox::critical(Core::ICore::mainWindow(), Tr::tr("Error"), error); + QMessageBox::critical(Core::ICore::dialogParent(), Tr::tr("Error"), error); logrotateTestResults(); } else { m_xmlOutputHandler->clearForNextRun();