[kdebase-workspace/f16] unbreak systray icons for non-KDE apps

Lukas Tinkl ltinkl at fedoraproject.org
Wed Jan 11 13:29:14 UTC 2012


commit 67ab4bed185cb282ddec093fb3995101320f938e
Author: Lukas Tinkl <lukas at kde.org>
Date:   Wed Jan 11 14:29:10 2012 +0100

    unbreak systray icons for non-KDE apps

 kdebase-workspace-4.7.5-systraycategories.patch |   51 +++++++++++++++++++++++
 kdebase-workspace.spec                          |    8 +++-
 2 files changed, 58 insertions(+), 1 deletions(-)
---
diff --git a/kdebase-workspace-4.7.5-systraycategories.patch b/kdebase-workspace-4.7.5-systraycategories.patch
new file mode 100644
index 0000000..e65fee7
--- /dev/null
+++ b/kdebase-workspace-4.7.5-systraycategories.patch
@@ -0,0 +1,51 @@
+diff --git a/plasma/generic/applets/systemtray/core/task.cpp b/plasma/generic/applets/systemtray/core/task.cpp
+index 1df51c9..1a02c24 100644
+--- a/plasma/generic/applets/systemtray/core/task.cpp
++++ b/plasma/generic/applets/systemtray/core/task.cpp
+@@ -22,7 +22,7 @@
+ #include "task.h"
+ 
+ #include <QtGui/QGraphicsWidget>
+-#include "../ui/applet.h"
++
+ 
+ namespace SystemTray
+ {
+@@ -85,13 +85,13 @@ QGraphicsWidget *Task::widget(Plasma::Applet *host, bool createIfNecessary)
+     return widget;
+ }
+ 
+-bool Task::isEmbeddable(SystemTray::Applet *host)
++bool Task::isEmbeddable(Plasma::Applet *host)
+ {
+     if (!host) {
+         return false;
+     }
+ 
+-    return (d->widgetsByHost.value(host) || isEmbeddable()) && host->shownCategories().contains(category());
++    return d->widgetsByHost.value(host) || isEmbeddable();
+ }
+ 
+ QHash<Plasma::Applet *, QGraphicsWidget *> Task::widgetsByHost() const
+diff --git a/plasma/generic/applets/systemtray/core/task.h b/plasma/generic/applets/systemtray/core/task.h
+index ae4324d..cdf2ba9 100644
+--- a/plasma/generic/applets/systemtray/core/task.h
++++ b/plasma/generic/applets/systemtray/core/task.h
+@@ -36,8 +36,6 @@ namespace Plasma
+ namespace SystemTray
+ {
+ 
+-    class Applet;
+-
+ /**
+  * @short System tray task base class
+  *
+@@ -89,7 +87,7 @@ public:
+      * @return whether this task is embeddable; true if there is already a widget
+      * for this host.
+      */
+-    bool isEmbeddable(SystemTray::Applet *host);
++    bool isEmbeddable(Plasma::Applet *host);
+ 
+     /**
+      * Returns whether this task can be embeddable
diff --git a/kdebase-workspace.spec b/kdebase-workspace.spec
index ee4e071..c1081c3 100644
--- a/kdebase-workspace.spec
+++ b/kdebase-workspace.spec
@@ -9,7 +9,7 @@
 Summary: KDE Workspace
 Name:    kdebase-workspace
 Version: 4.7.4
-Release: 6%{?dist}
+Release: 7%{?dist}
 
 License: GPLv2
 Group:   User Interface/Desktops
@@ -89,6 +89,8 @@ Patch100: kdebase-workspace-4.7.5-batteryplasmoid.patch
 Patch101: kde-workspace-4.7.5-kdebug288802.patch
 # followup ^^
 Patch102: kde-workspace-4.7.5-kdebug288802-2.patch
+# fix broken systray for non-KDE apps
+Patch103: kdebase-workspace-4.7.5-systraycategories.patch
 
 ## plasma active patches
 # adapted version of fix-wetab-power-button-freeze.patch
@@ -399,6 +401,7 @@ Requires: akonadi
 %patch100 -p1 -b .batteryplasmoid
 %patch101 -p1 -b .kdebug288802
 %patch102 -p1 -b .kdebug288802-2
+%patch103 -p1 -b .systrayborkage
 
 # plasma-active
 %patch150 -p1 -b .fix-wetab-power-button-freeze
@@ -878,6 +881,9 @@ fi
 
 
 %changelog
+* Wed Jan 11 2012 Lukas Tinkl <ltinkl at redhat.com> 4.7.4-7
+- unbreak systray icons for non-KDE apps
+
 * Tue Jan 03 2012 Rex Dieter <rdieter at fedoraproject.org> 4.7.4-6
 - kdm overwrites ~/.Xauthority with wrong SELinux context on logout (#567914,kde#242065)
 - BR: libjpeg-devel


More information about the scm-commits mailing list