Author: ek.kato
Date: Mon Jan  5 17:12:14 2009
New Revision: 5692

Modified:
   uim-chewing-trunk/NEWS
   uim-chewing-trunk/src/chewing.c

Log:
* NEWS : Update.
* src/chewing.c : Fix candidate window behavior with 'J' and 'K'
  keys in selection mode.


Modified: uim-chewing-trunk/NEWS
==============================================================================
--- uim-chewing-trunk/NEWS      (original)
+++ uim-chewing-trunk/NEWS      Mon Jan  5 17:12:14 2009
@@ -1,6 +1,11 @@
 Overview of changes from 0.0.3.x to 0.0.4
 ==
-* Support API of libchewing = 0.3.2
+* New
+  * Support API of libchewing = 0.3.2
+
+* Fix
+  * Fix candidate window behavior with 'J' and 'K' keys in
+    selection mode.


 Overview of changes from 0.0.3.1 to 0.0.3.2

Modified: uim-chewing-trunk/src/chewing.c
==============================================================================
--- uim-chewing-trunk/src/chewing.c     (original)
+++ uim-chewing-trunk/src/chewing.c     Mon Jan  5 17:12:14 2009
@@ -63,6 +63,7 @@
   ChewingContext *cc;
   int slot_id;
   int prev_page;
+  int prev_cursor;
   int has_active_candwin;
 } uim_chewing_context;

@@ -176,6 +177,7 @@
   if (ucc) {
     ucc->cc = chewing_new();
     ucc->prev_page = -1;
+    ucc->prev_cursor = -1;
     ucc->has_active_candwin = 0;
   }

@@ -394,7 +396,7 @@
   n_page = chewing_cand_TotalPage(cc);
   page_no = chewing_cand_CurrentPage(cc);
   if (!chewing_cand_CheckDone(cc) && n_page != 0) {
-    if (page_no == 0 && ucc->prev_page == -1) {
+ if (page_no == 0 && ucc->prev_page == -1 || ucc->prev_cursor != cursor_pos) {
       activate_candwin(ucc);
       ucc->has_active_candwin = 1;
     } else if ((page_no == ucc->prev_page + 1) ||
@@ -417,6 +419,7 @@
     ucc->prev_page = -1;
     ucc->has_active_candwin = 0;
   }
+  ucc->prev_cursor = cursor_pos;

   /* msgs */
   buf_len = 0;

Reply via email to