aboutsummaryrefslogtreecommitdiff
path: root/src/qt/guiutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/guiutil.cpp')
-rw-r--r--src/qt/guiutil.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index baa19d7c24..f04e5c86f8 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -405,19 +405,26 @@ bool isObscured(QWidget *w)
void bringToFront(QWidget* w)
{
-#ifdef Q_OS_MACOS
- ForceActivation();
-#endif
-
if (w) {
- // activateWindow() (sometimes) helps with keyboard focus on Windows
- if (w->isMinimized()) {
- w->showNormal();
- } else {
+ if (QGuiApplication::platformName() == "wayland") {
+ auto flags = w->windowFlags();
+ w->setWindowFlags(flags|Qt::WindowStaysOnTopHint);
+ w->show();
+ w->setWindowFlags(flags);
w->show();
+ } else {
+#ifdef Q_OS_MACOS
+ ForceActivation();
+#endif
+ // activateWindow() (sometimes) helps with keyboard focus on Windows
+ if (w->isMinimized()) {
+ w->showNormal();
+ } else {
+ w->show();
+ }
+ w->activateWindow();
+ w->raise();
}
- w->activateWindow();
- w->raise();
}
}