SHA256
1
0
forked from pool/fcitx
Dominique Leuenberger 2016-03-07 12:27:44 +00:00 committed by Git OBS Bridge
commit dcabecbf0c
3 changed files with 79 additions and 0 deletions

64
boo954623.patch Normal file
View File

@ -0,0 +1,64 @@
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) {

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Mar 4 14:57:37 UTC 2016 - i@marguerite.su
- 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
-------------------------------------------------------------------
Sun Feb 28 09:25:28 CET 2016 - tiwai@suse.de

View File

@ -38,6 +38,8 @@ Patch1: fcitx-use-basename-for-log.patch
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 @@ You can either use this package for download from kde-look.org using knewstaff i
%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 \