File 0001-make-sure-OSD-doesnt-have-Dialog-flag.patch of Package plasma-framework

From 62b0865492d863cd000814054681ba6a97972cd5 Mon Sep 17 00:00:00 2001
From: Marco Martin <notmart@gmail.com>
Date: Wed, 2 Nov 2016 11:56:40 +0100
Subject: make sure OSD doesn't have Dialog flag

an OSD can't be a Dialog, as qt xcb would attempt to set a
transient parent for it, same as panels, which in turn will
make for invisible osd on autohide panels

Change-Id: I5afea6d4bfa0bfee8b3453e78a1c214a3a0894ec
reviewed-by: Martin Graesslin <mgraesslin@kde.org>
CCMAIL:distributions@kde.org
BUG:370433
---
 src/plasmaquick/dialog.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
index 9afdf60..6e2041a 100644
--- a/src/plasmaquick/dialog.cpp
+++ b/src/plasmaquick/dialog.cpp
@@ -1037,6 +1037,11 @@ void Dialog::setType(WindowType type)
     } else {
         setFlags(Qt::FramelessWindowHint | flags());
     }
+    //an OSD can't be a Dialog, as qt xcb would attempt to set a transient parent for it
+    //see bug 370433
+    if (type == OnScreenDisplay) {
+        setFlags((flags() & ~Qt::Dialog) | Qt::Window);
+    }
 
     if (d->backgroundHints == Dialog::NoBackground) {
         d->frameSvgItem->setImagePath(QString());
-- 
cgit v0.11.2

openSUSE Build Service is sponsored by