public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Steve Cossette <farchord@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/plasma-workspace] epel10: Fix for notifications being partially broken since Qt 6.11.1
Date: Thu, 30 Jul 2026 16:12:43 GMT	[thread overview]
Message-ID: <178542796367.1.3581726000651319209.rpms-plasma-workspace-4614b5477741@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/plasma-workspace
Branch : epel10
Commit : 4614b54777419c01a98cb349b73b2cba4eb81f2a
Author : Steve Cossette <farchord@gmail.com>
Date   : 2026-05-18T15:31:29-04:00
Stats  : +74/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/plasma-workspace/c/4614b54777419c01a98cb349b73b2cba4eb81f2a?branch=epel10

Log:
Fix for notifications being partially broken since Qt 6.11.1

---
diff --git a/6615.patch b/6615.patch
new file mode 100644
index 0000000..d02c8d1
--- /dev/null
+++ b/6615.patch
@@ -0,0 +1,66 @@
+From 4c80f4bde8de04199719b7e5d9b068a9d73ba7bf Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Mon, 18 May 2026 20:13:56 +0200
+Subject: [PATCH] libnotificationmanager: Return something of the correct type
+ for most roles
+
+Qt doesn't like the model not return anything (empty QVariant) when
+put in a required property for a model. For example required property string
+will happily convert to "undefined" as a string which then blows up in
+client code left and right.
+
+Therefore, return something of the correct type for most job properties.
+
+See also 1f246410 which addressed this in one case but seems Qt 6.11.1
+changed it again to be broken in more places.
+
+BUG: 520120
+---
+ libnotificationmanager/jobsmodel.cpp | 29 ++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/libnotificationmanager/jobsmodel.cpp b/libnotificationmanager/jobsmodel.cpp
+index 4bc820288f..459a7c639d 100644
+--- a/libnotificationmanager/jobsmodel.cpp
++++ b/libnotificationmanager/jobsmodel.cpp
+@@ -145,8 +145,37 @@ QVariant JobsModel::data(const QModelIndex &index, int role) const
+     // There's hardly a reason why it should show up as "unread".
+     case Notifications::ReadRole:
+         return true;
++
++    // Qt doesn't like the model not returning anything, for example
++    // casting it to  "undefined" as a string (when put in a required property string)
++    // blowing up in client code left and right.
++    case Notifications::NotifyRcNameRole:
++    case Notifications::OriginNameRole:
++    case Notifications::DefaultActionLabelRole:
++    case Notifications::ConfigureActionLabelRole:
++    case Notifications::ReplyActionLabelRole:
++    case Notifications::ReplyPlaceholderTextRole:
++    case Notifications::ReplySubmitButtonTextRole:
++    case Notifications::ReplySubmitButtonIconNameRole:
++    case Notifications::CategoryRole:
++        return QString();
++
++    case Notifications::ActionNamesRole:
+     case Notifications::ActionLabelsRole:
+         return QStringList();
++
++    case Notifications::HasDefaultActionRole:
++    case Notifications::ResidentRole:
++    case Notifications::TransientRole:
++    case Notifications::UserActionFeedbackRole:
++    case Notifications::HasReplyActionRole:
++        return false;
++
++    case Notifications::UrlsRole:
++        return QVariant::fromValue(QList<QUrl>());
++
++    case Notifications::UrgencyRole:
++        return Notifications::NormalUrgency;
+     }
+ 
+     return {};
+-- 
+GitLab
+

diff --git a/plasma-workspace.spec b/plasma-workspace.spec
index e806cf7..9007dab 100644
--- a/plasma-workspace.spec
+++ b/plasma-workspace.spec
@@ -3,7 +3,7 @@
 Name:    plasma-workspace
 Summary: Plasma workspace, applications and applets
 Version: 6.6.5
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 # Automatically converted from old format: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT - review is highly recommended.
 License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT
@@ -40,6 +40,10 @@ Patch106:       plasma-workspace-5.27.80-enable-open-terminal-action.patch
 # default to enable the lock/logout actions
 Patch107:       plasma-workspace-5.27.80-enable-lock-logout-action.patch
 
+# Notifications are partially broken in Qt 6.11.1
+# https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6615
+Patch108:       6615.patch
+
 # udev
 BuildRequires:  zlib-devel
 BuildRequires:  libGL-devel
@@ -661,6 +665,9 @@ fi
 
 
 %changelog
+* Mon May 18 2026 Steve Cossette <farchord@gmail.com> - 6.6.5-2
+- Fix for notifications being partially broken since Qt 6.11.1
+
 * Thu May 14 2026 Steve Cossette <farchord@gmail.com> - 6.6.5-1
 - 6.6.5
 

                 reply	other threads:[~2026-07-30 16:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=178542796367.1.3581726000651319209.rpms-plasma-workspace-4614b5477741@fedoraproject.org \
    --to=farchord@gmail.com \
    --cc=git-commits@fedoraproject.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