public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/plasma/files/, kde-frameworks/plasma/
Date: Thu, 20 Jan 2022 13:26:32 +0000 (UTC)	[thread overview]
Message-ID: <1642685057.a60d9305d2a70497122ceeb0e32dc2c6ac1f9540.asturm@gentoo> (raw)

commit:     a60d9305d2a70497122ceeb0e32dc2c6ac1f9540
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 20 11:25:24 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jan 20 13:24:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a60d9305

kde-frameworks/plasma: Always sync the setPanelBehavior to wayland

Upstream commit d40d36057a0ee9fcb4badc7ff8b56844da79dfc8
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=426969

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../plasma/files/plasma-5.90.0-KDEBUG-426969.patch | 90 ++++++++++++++++++++++
 kde-frameworks/plasma/plasma-5.90.0-r1.ebuild      |  1 +
 2 files changed, 91 insertions(+)

diff --git a/kde-frameworks/plasma/files/plasma-5.90.0-KDEBUG-426969.patch b/kde-frameworks/plasma/files/plasma-5.90.0-KDEBUG-426969.patch
new file mode 100644
index 000000000000..bccc097a3b99
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.90.0-KDEBUG-426969.patch
@@ -0,0 +1,90 @@
+From d40d36057a0ee9fcb4badc7ff8b56844da79dfc8 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Wed, 12 Jan 2022 22:21:34 +0000
+Subject: [PATCH] Always sync the setPanelBehavior to wayland
+
+Currently this code is in the else statement to if (type !=
+Dialog::Normal) {
+
+This doesn't make sense as panel roles apply explicitly to other types,
+like Dialog::Dock. On X11 the equivalent always applies.
+
+BUG: 426969
+
+* asturm 2022-01-22: Merged with below fixup:
+
+From b882b34d7b55975f679133ef86cfd12869e8bba5 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Thu, 13 Jan 2022 17:03:38 +0000
+Subject: [PATCH] Always sync the setPanelBehavior to wayland
+
+The previous patch moved some code that reapplied setRole in a way that
+caused issues.
+
+BUG: 448373
+
+--- a/src/plasmaquick/dialog.cpp
++++ b/src/plasmaquick/dialog.cpp
+@@ -693,14 +693,13 @@
+ 
+ void DialogPrivate::applyType()
+ {
+-    if (type != Dialog::Normal) {
+         /*QXcbWindowFunctions::WmWindowType*/ int wmType = 0;
+ 
+ #if HAVE_X11
+         if (KWindowSystem::isPlatformX11()) {
+             switch (type) {
+             case Dialog::Normal:
+-                Q_UNREACHABLE();
++                q->setFlags(Qt::FramelessWindowHint | q->flags());
+                 break;
+             case Dialog::Dock:
+                 wmType = QXcbWindowFunctions::WmWindowType::Dock;
+@@ -729,11 +728,15 @@
+         }
+ #endif
+ 
+-        if (!wmType) {
++        if (!wmType && type != Dialog::Normal) {
+             KWindowSystem::setType(q->winId(), static_cast<NET::WindowType>(type));
+         }
+ #if HAVE_KWAYLAND
+         if (shellSurface) {
++            if (q->flags() & Qt::WindowStaysOnTopHint) {
++                type = Dialog::Dock;
++                shellSurface->setPanelBehavior(KWayland::Client::PlasmaShellSurface::PanelBehavior::WindowsGoBelow);
++            }
+             switch (type) {
+                 case Dialog::Dock:
+                 shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Panel);
+@@ -750,27 +753,13 @@
+             case Dialog::CriticalNotification:
+                 shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::CriticalNotification);
+                 break;
++            case Dialog::Normal:
++                shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Normal);
+             default:
+                 break;
+             }
+         }
+ #endif
+-    } else {
+-        q->setFlags(Qt::FramelessWindowHint | q->flags());
+-
+-#if HAVE_KWAYLAND
+-        // Only possible after setup
+-        if (shellSurface) {
+-            if (q->flags() & Qt::WindowStaysOnTopHint) {
+-                shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Panel);
+-                shellSurface->setPanelBehavior(KWayland::Client::PlasmaShellSurface::PanelBehavior::WindowsGoBelow);
+-            } else {
+-                shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Normal);
+-                shellSurface->setPanelBehavior(KWayland::Client::PlasmaShellSurface::PanelBehavior::AlwaysVisible);
+-            }
+-        }
+-#endif
+-    }
+ 
+     // an OSD can't be a Dialog, as qt xcb would attempt to set a transient parent for it
+     // see bug 370433

diff --git a/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
index fa06b05e874f..a59a50636a36 100644
--- a/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
+++ b/kde-frameworks/plasma/plasma-5.90.0-r1.ebuild
@@ -60,6 +60,7 @@ DEPEND="${RDEPEND}
 BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
 
 PATCHES=(
+	"${FILESDIR}/${P}-KDEBUG-426969.patch"
 	"${FILESDIR}/${P}-KDEBUG-447752.patch"
 	"${FILESDIR}/${P}-KDEBUG-448590.patch"
 )


             reply	other threads:[~2022-01-20 13:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-20 13:26 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-04-22 16:21 [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/plasma/files/, kde-frameworks/plasma/ Andreas Sturmlechner
2022-12-10 10:47 Andreas Sturmlechner
2022-11-16 19:17 Andreas Sturmlechner
2022-10-10  8:15 Andreas Sturmlechner
2022-09-24  8:53 Andreas Sturmlechner
2022-06-29 19:53 Andreas Sturmlechner
2022-05-14 11:33 Andreas Sturmlechner
2022-05-04 20:50 Andreas Sturmlechner
2022-04-09 16:07 Andreas Sturmlechner
2021-12-15 11:28 Andreas Sturmlechner
2021-12-08 15:08 Andreas Sturmlechner
2021-09-04 21:01 Andreas Sturmlechner
2021-09-04 21:01 Andreas Sturmlechner
2020-09-29 12:49 Andreas Sturmlechner
2020-06-23 13:49 Andreas Sturmlechner
2020-06-23 13:49 Andreas Sturmlechner
2020-02-13 21:28 Andreas Sturmlechner
2019-12-31 20:09 Andreas Sturmlechner
2019-03-13 10:18 Andreas Sturmlechner
2017-03-13 21:00 Andreas Sturmlechner
2016-11-17 11:35 Michael Palimaka
2016-02-17 11:13 Michael Palimaka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1642685057.a60d9305d2a70497122ceeb0e32dc2c6ac1f9540.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox