[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#688887: unblock: fcitx/1:4.2.4.1-7



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

This is the follow up improvement of the fix intended for RC bug
#684245. This patch avoids all situations that may be encountered to
trigger the bug in gnumeric, fix for that bug has been submitted and
applied to gnumeric upstream repository. More information can be found
at http://bugs.debian.org/687729 and
https://bugzilla.gnome.org/show_bug.cgi?id=684511

unblock: fcitx/1:4.2.4.1-7

diff -Nru fcitx-4.2.4.1/debian/changelog fcitx-4.2.4.1/debian/changelog
--- fcitx-4.2.4.1/debian/changelog	2012-09-15 19:51:00.000000000 +0000
+++ fcitx-4.2.4.1/debian/changelog	2012-09-26 16:23:05.000000000 +0000
@@ -1,3 +1,10 @@
+fcitx (1:4.2.4.1-7) unstable; urgency=low
+
+  * improve 0009-gnumeric_cursor_keys_edit.patch to fix bug
+    completely.
+
+ -- YunQiang Su <wzssyqa@gmail.com>  Wed, 26 Sep 2012 22:08:29 +0800
+
 fcitx (1:4.2.4.1-6) unstable; urgency=low

   * add gbp.conf for wheezy
diff -Nru fcitx-4.2.4.1/debian/patches/0009-gnumeric_cursor_keys_edit.patch
fcitx-4.2.4.1/debian/patches/0009-gnumeric_cursor_keys_edit.patch
--- fcitx-4.2.4.1/debian/patches/0009-gnumeric_cursor_keys_edit.patch	2012-09-15
18:40:35.000000000 +0000
+++ fcitx-4.2.4.1/debian/patches/0009-gnumeric_cursor_keys_edit.patch	2012-09-26
16:23:05.000000000 +0000
@@ -1,8 +1,8 @@
-diff --git a/src/frontend/ipc/ipc.c b/src/frontend/ipc/ipc.c
-index 1d57567..67261fe 100644
---- a/src/frontend/ipc/ipc.c
-+++ b/src/frontend/ipc/ipc.c
-@@ -43,6 +43,7 @@ typedef struct _FcitxIPCIC {
+Index: fcitx/src/frontend/ipc/ipc.c
+===================================================================
+--- fcitx.orig/src/frontend/ipc/ipc.c	2012-09-26 22:01:16.354865405 +0800
++++ fcitx/src/frontend/ipc/ipc.c	2012-09-26 22:02:26.979215609 +0800
+@@ -43,6 +43,7 @@
      char* surroundingText;
      unsigned int anchor;
      unsigned int cursor;
@@ -10,7 +10,7 @@
  } FcitxIPCIC;

  typedef struct _FcitxIPCFrontend {
-@@ -349,6 +350,7 @@ void IPCCreateIC(void* arg, FcitxInputContext*
context, void* priv)
+@@ -349,6 +350,7 @@

      ipcic->id = ipc->maxid;
      ipc->maxid ++;
@@ -18,7 +18,7 @@
      sprintf(ipcic->path, FCITX_IC_DBUS_PATH, ipcic->id);

      uint32_t arg1, arg2, arg3, arg4;
-@@ -930,6 +932,23 @@ static void IPCICSetCursorRect(FcitxIPCFrontend*
ipc, FcitxInputContext* ic, int
+@@ -930,6 +932,23 @@

  void IPCUpdatePreedit(void* arg, FcitxInputContext* ic)
  {
@@ -42,3 +42,56 @@
      if (ic->contextCaps & CAPACITY_FORMATTED_PREEDIT) {
          FcitxIPCFrontend* ipc = (FcitxIPCFrontend*) arg;
          dbus_uint32_t serial = 0; // unique number to associate
replies with requests
+Index: fcitx/data/script/fcitx-configtool
+===================================================================
+--- fcitx.orig/data/script/fcitx-configtool	2012-09-26 22:01:57.235068121 +0800
++++ fcitx/data/script/fcitx-configtool	2012-09-26 22:03:16.283460099 +0800
+@@ -32,7 +32,7 @@
+             exec $command kcm_fcitx
+         fi
+     else
+-        run_gtk $1
++        run_gtk3 $1
+     fi
+ }
+
+Index: fcitx/src/frontend/gtk2/fcitximcontext.c
+===================================================================
+--- fcitx.orig/src/frontend/gtk2/fcitximcontext.c	2012-09-26
22:01:57.235068121 +0800
++++ fcitx/src/frontend/gtk2/fcitximcontext.c	2012-09-26
22:03:16.287460117 +0800
+@@ -465,7 +465,7 @@
+
+             /* set_cursor_location_internal() will get origin from X server,
+             * it blocks UI. So delay it to idle callback. */
+-            g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,
++            gdk_threads_add_idle_full(G_PRIORITY_DEFAULT_IDLE,
+                             (GSourceFunc) _set_cursor_location_internal,
+                             g_object_ref(fcitxcontext),
+                             (GDestroyNotify) g_object_unref);
+@@ -584,8 +584,6 @@
+             /* do nothing */
+         }
+     }
+-
+-    g_signal_emit(context, _signal_preedit_changed_id, 0);
+ }
+
+ static void
+@@ -695,8 +693,6 @@
+             /* do nothing */
+         }
+     }
+-
+-    g_signal_emit(context, _signal_preedit_changed_id, 0);
+ }
+
+ ///
+@@ -727,7 +723,7 @@
+
+     /* set_cursor_location_internal() will get origin from X server,
+      * it blocks UI. So delay it to idle callback. */
+-    g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,
++    gdk_threads_add_idle_full(G_PRIORITY_DEFAULT_IDLE,
+                     (GSourceFunc) _set_cursor_location_internal,
+                     g_object_ref(fcitxcontext),
+                     (GDestroyNotify) g_object_unref);


-- 
Regards,
Aron Xu


Reply to: