Hello community,

here is the log from the commit of package fcitx for openSUSE:Factory checked 
in at 2016-03-07 13:27:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fcitx (Old)
 and      /work/SRC/openSUSE:Factory/.fcitx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fcitx"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fcitx/fcitx.changes      2016-03-01 
10:21:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fcitx.new/fcitx.changes 2016-03-07 
13:29:02.000000000 +0100
@@ -1,0 +2,12 @@
+Fri Mar  4 14:57:37 UTC 2016 - [email protected]
+
+- backport a upstream fix:
+  * boo#954623: fcitx prevents dropbox system tray
+    loading in KDE Plasma 5
+  * commit#c73761 : avoid unnecessary xembed tray
+    icon fallback, try harder to avoid touch tray
+    protocol related code when notification is
+    available or kimpanel is available.
+  * add patch boo954623.patch, delete next update
+
+-------------------------------------------------------------------

New:
----
  boo954623.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fcitx.spec ++++++
--- /var/tmp/diff_new_pack.UcVvh2/_old  2016-03-07 13:29:03.000000000 +0100
+++ /var/tmp/diff_new_pack.UcVvh2/_new  2016-03-07 13:29:03.000000000 +0100
@@ -38,6 +38,8 @@
 Patch2:         fcitx-autostart-check-INPUT_METHOD.patch
 # PATCH-FIX-OPENSUSE fcitx-autostart-desktop-no-display.patch boo#968486
 Patch3:         fcitx-autostart-desktop-no-display.patch
+# PATCH-FIX-UPSTREAM boo#964623
+Patch4:         boo954623.patch
 BuildRequires:  cairo-devel
 BuildRequires:  dbus-1-devel
 BuildRequires:  dbus-1-glib-devel
@@ -363,6 +365,7 @@
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 # hack to fix incompatibility of gtk-query-immodules-2.0 (bnc#845860)
 %if %suse_version < 1310
 sed -i \

++++++ boo954623.patch ++++++
Index: fcitx-4.2.9.1/src/module/notificationitem/notificationitem.c
===================================================================
--- fcitx-4.2.9.1.orig/src/module/notificationitem/notificationitem.c
+++ fcitx-4.2.9.1/src/module/notificationitem/notificationitem.c
@@ -565,8 +565,17 @@ void FcitxNotificationItemUpdateIMList(v
 
 boolean FcitxNotificationItemEnable(FcitxNotificationItem* notificationitem, 
FcitxNotificationItemAvailableCallback callback, void* data)
 {
-    if (!callback || notificationitem->callback)
+    if (!callback)
         return false;
+
+    if (notificationitem->callback == callback) {
+        return true;
+    }
+
+    if (notificationitem->callback) {
+        return false;
+    }
+
     if (notificationitem->serviceName) {
         FcitxLog(ERROR, "This should not happen, please report bug.");
         return false;
Index: fcitx-4.2.9.1/src/ui/classic/TrayWindow.c
===================================================================
--- fcitx-4.2.9.1.orig/src/ui/classic/TrayWindow.c
+++ fcitx-4.2.9.1/src/ui/classic/TrayWindow.c
@@ -226,11 +226,11 @@ boolean TrayEventHandler(void *arg, XEve
         if (event->xclient.message_type == trayWindow->atoms[ATOM_MANAGER]
             && event->xclient.data.l[1] == trayWindow->atoms[ATOM_SELECTION]
             && trayWindow->dockWindow == None) {
-            if (classicui->notificationItemAvailable)
-                return true;
             trayWindow->dockWindow = event->xclient.data.l[2];
             TrayWindowRelease(trayWindow);
-            TrayWindowInit(trayWindow);
+            if (!classicui->notificationItemAvailable && 
!classicui->isSuspend) {
+                TrayWindowInit(trayWindow);
+            }
             return true;
         }
         break;
Index: fcitx-4.2.9.1/src/ui/classic/classicui.c
===================================================================
--- fcitx-4.2.9.1.orig/src/ui/classic/classicui.c
+++ fcitx-4.2.9.1/src/ui/classic/classicui.c
@@ -168,7 +168,7 @@ void* ClassicUICreate(FcitxInstance* ins
 void ClassicUIDelayedInitTray(void* arg) {
     FcitxClassicUI* classicui = (FcitxClassicUI*) arg;
     // FcitxLog(INFO, "yeah we delayed!");
-    if (!classicui->bUseTrayIcon)
+    if (!classicui->bUseTrayIcon || classicui->isSuspend)
         return;
     /*
      * if this return false, something wrong happened and callback
@@ -187,7 +187,7 @@ void ClassicUIDelayedShowTray(void* arg)
 {
     FcitxClassicUI* classicui = (FcitxClassicUI*) arg;
     classicui->trayTimeout = 0;
-    if (!classicui->bUseTrayIcon)
+    if (!classicui->bUseTrayIcon || classicui->isSuspend)
         return;
 
     if (!classicui->trayWindow->bTrayMapped) {

Reply via email to