Hello community,

here is the log from the commit of package ibus-chewing for openSUSE:Factory 
checked in at 2012-12-19 10:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibus-chewing (Old)
 and      /work/SRC/openSUSE:Factory/.ibus-chewing.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ibus-chewing", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/ibus-chewing/ibus-chewing.changes        
2012-08-27 15:59:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ibus-chewing.new/ibus-chewing.changes   
2012-12-19 10:57:44.000000000 +0100
@@ -1,0 +2,9 @@
+Tue Dec 18 01:41:09 UTC 2012 - [email protected]
+
+- Update to 1.4.3
+- Fixed GitHub issue #30: Rework decorate_preedit
+  by merging pull request #30 from buganini
+- Fixed GitHub issue #31: Properly refresh property
+  by merging pull request #31 from buganini 
+
+-------------------------------------------------------------------

Old:
----
  ibus-chewing-1.4.2-Source.tar.gz

New:
----
  ibus-chewing-1.4.3-Source.tar.gz

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

Other differences:
------------------
++++++ ibus-chewing.spec ++++++
--- /var/tmp/diff_new_pack.3GUpoC/_old  2012-12-19 10:57:49.000000000 +0100
+++ /var/tmp/diff_new_pack.3GUpoC/_new  2012-12-19 10:57:49.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ibus-chewing
-Version:        1.4.2
+Version:        1.4.3
 Release:        0
 Summary:        The Chewing engine for IBus input platform
 License:        GPL-2.0+

++++++ ibus-chewing-1.4.2-Source.tar.gz -> ibus-chewing-1.4.3-Source.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/CMakeLists.txt 
new/ibus-chewing-1.4.3-Source/CMakeLists.txt
--- old/ibus-chewing-1.4.2-Source/CMakeLists.txt        2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/CMakeLists.txt        2012-11-26 
08:25:20.000000000 +0100
@@ -16,6 +16,12 @@
 # Default support Gnome shell
 SET(GNOME_SHELL 1)
 
+# Libchewing Version
+SET(LIBCHEWING_VER 0.3.3)
+
+# IBUS Version
+SET(IBUS_VER 1.3)
+
 ####################################################################
 # Project specific information
 #
@@ -84,7 +90,7 @@
 SET_COMPILE_ENV(GNOME_SHELL 0 DISPLAY BOOL "Enable GNOME Shell support")
 
 PKG_CHECK_MODULES(GTK2 REQUIRED gtk+-2.0)
-PKG_CHECK_MODULES(IBUS REQUIRED ibus-1.0)
+PKG_CHECK_MODULES(IBUS REQUIRED ibus-1.0>=${IBUS_VER})
 STRING(REGEX REPLACE "^([1-9][0-9]*)\\.([0-9]+)\\.([0-9]+).*" "\\1" 
IBUS_VERSION_MAJOR "${IBUS_VERSION}")
 STRING(REGEX REPLACE "^([1-9][0-9]*)\\.([0-9]+)\\.([0-9]+).*" "\\2" 
IBUS_VERSION_MINOR "${IBUS_VERSION}")
 STRING(REGEX REPLACE "^([1-9][0-9]*)\\.([0-9]+)\\.([0-9]+).*" "\\3" 
IBUS_VERSION_PATCH "${IBUS_VERSION}")
@@ -96,14 +102,14 @@
     DISPLAY STRING "IBUS_COMPAT_VERSION")
 
 PKG_CHECK_MODULES(XTST REQUIRED xtst x11)
-PKG_CHECK_MODULES(CHEWING chewing>=0.3.2)
+PKG_CHECK_MODULES(CHEWING chewing>=${LIBCHEWING_VER})
 EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=datadir chewing
     OUTPUT_VARIABLE CHEWING_DATA_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
 SET_COMPILE_ENV(CHEWING_DATA_DIR "${CHEWING_DATA_DIR}" DISPLAY PATH
     "Chewing data dir")
 
-FIND_PROGRAM(GOB2 gob2)
-IF(${GOB2} STREQUAL "GOB2-NOTFOUND")
+FIND_PROGRAM(GOB2_CMD gob2)
+IF(${GOB2_CMD} STREQUAL "GOB2_CMD-NOTFOUND")
     MESSAGE(FATAL_ERROR "gob2 not found, install gob2 please.")
 ENDIF()
 ####################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/ChangeLog 
new/ibus-chewing-1.4.3-Source/ChangeLog
--- old/ibus-chewing-1.4.2-Source/ChangeLog     2012-08-23 16:49:12.000000000 
+0200
+++ new/ibus-chewing-1.4.3-Source/ChangeLog     2012-11-26 08:57:06.000000000 
+0100
@@ -1,3 +1,9 @@
+* Mon Nov 26 2012 Ding-Yi Chen <dchen at redhat.com> - 1.4.3
+- Fixed GitHub issue #30: Rework decorate_preedit
+  by merging pull request #30 from buganini
+- Fixed GitHub issue #31: Properly refresh property
+  by merging pull request #31 from buganini
+
 * Thu Aug 23 2012 Ding-Yi Chen <dchen at redhat.com> - 1.4.2
 - Fixed GitHub issue #7: highlighted text be cut after switch back to pure ibus
   by merging pull request #24 from buganini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/ChangeLog.prev 
new/ibus-chewing-1.4.3-Source/ChangeLog.prev
--- old/ibus-chewing-1.4.2-Source/ChangeLog.prev        2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/ChangeLog.prev        2012-10-22 
07:32:11.000000000 +0200
@@ -1,3 +1,20 @@
+* Thu Aug 23 2012 Ding-Yi Chen <dchen at redhat.com> - 1.4.2
+- Fixed GitHub issue #7: highlighted text be cut after switch back to pure ibus
+  by merging pull request #24 from buganini
+- Fixed GitHub issue #20: Shift key will send duplicated strings
+  by merging pull request #22 from buganini
+- Fixed GitHub issue #21: somethings wrong with cmake
+- Fixed GitHub issue #25: Weird symbol when input with somethings highlighted
+  by merging pull request #26 from buganini
+- Fixed GitHub issue #27: Local path committed into tree
+- Fixed: Bug 713033 -  [zh_TW] ibus-chewing problem
+- Fixed: Bug 745371 -  ibus-chewing: mode confusion In Temporary English mode 
and Chinese mode later on
+- Fixed: Google Issue 1172: [ibus-chewing] move elf file to standard directory.
+- Fixed: Google Issue 1426: ibus-chewing-1.3.10 installs directory /gconf to 
root filesystem
+- Fixed: Google Issue 1428: ibus-chewing-1.3.10 fails to save it's settings
+- Fixed: Google Issue 1481: Some characters are missing when a long string in 
preedit buffer.
+- Fixed: Google Issue 1490: Cannot change INSTAL prefix for ibus-chewing-1.4.0
+
 * Mon Jul 23 2012 Ding-Yi Chen <dchen at redhat.com> - 1.4.0
 - Merge pull request #13 from hiroshiyui to Fix wrong data type conversion
 - Fixed: Google Issue 1079: Use shift key to switch to English mode in 
ibus-chewing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ibus-chewing-1.4.2-Source/Modules/ManageArchive.cmake 
new/ibus-chewing-1.4.3-Source/Modules/ManageArchive.cmake
--- old/ibus-chewing-1.4.2-Source/Modules/ManageArchive.cmake   2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/Modules/ManageArchive.cmake   2012-11-26 
08:41:07.000000000 +0100
@@ -128,6 +128,11 @@
        SET(CPACK_PACKAGE_VENDOR "${VENDOR}")
        SOURCE_ARCHIVE_GET_CONTENTS()
 
+       SET(SOURCE_ARCHIVE_CONTENTS_ABSOLUTE "")
+       FOREACH(_file ${SOURCE_ARCHIVE_CONTENTS})
+           LIST(APPEND SOURCE_ARCHIVE_CONTENTS_ABSOLUTE 
"${CMAKE_HOME_DIRECTORY}/${_file}")
+       ENDFOREACH(_file ${SOURCE_ARCHIVE_CONTENTS})
+
        INCLUDE(CPack)
 
        # Get relative path of outputDir
@@ -148,7 +153,7 @@
                COMMAND make package_source
                COMMAND cmake -E copy "${SOURCE_ARCHIVE_NAME}" "${outputDir}"
                COMMAND cmake -E remove ${SOURCE_ARCHIVE_NAME}
-               DEPENDS ${SOURCE_ARCHIVE_CONTENTS}
+               DEPENDS ${SOURCE_ARCHIVE_CONTENTS_ABSOLUTE}
                COMMENT "Packing the source as: ${SOURCE_ARCHIVE_FILE}"
                )
        ENDIF("${_outputDir_rel}" STREQUAL ".")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ibus-chewing-1.4.2-Source/Modules/ManageReleaseFedora.cmake 
new/ibus-chewing-1.4.3-Source/Modules/ManageReleaseFedora.cmake
--- old/ibus-chewing-1.4.2-Source/Modules/ManageReleaseFedora.cmake     
2012-08-23 16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/Modules/ManageReleaseFedora.cmake     
2012-11-26 08:41:07.000000000 +0100
@@ -148,14 +148,19 @@
        ENDIF(KOJI_BUILD_SCRATCH_CMD STREQUAL "KOJI_BUILD_SCRATCH_CMD-NOTFOUND")
 
        SET(FEDPKG_PRJ_DIR "${FEDPKG_DIR}/${PROJECT_NAME}")
-       SET(FEDPKG_PRJ_DIR_GIT "${FEDPKG_PRJ_DIR}/.git/description")
-       # In case FEDPKG_PRJ_DIR_GIT be clean by "make clean"
 
-       IF(EXISTS  "${FEDPKG_PRJ_DIR}")
-           IF(NOT EXISTS "${FEDPKG_PRJ_DIR_GIT}")
-               FILE(WRITE ${FEDPKG_PRJ_DIR_GIT} "${PRJ_SUMMARY}")
-           ENDIF(NOT EXISTS "${FEDPKG_PRJ_DIR_GIT}")
-       ENDIF(EXISTS  "${FEDPKG_PRJ_DIR}")
+       ## Don't use what is in git, otherwise it will be cleaned
+       ## By make clean
+       SET(FEDPKG_PRJ_DIR_GIT "${FEDPKG_PRJ_DIR}/.git/.cmake-fedora")
+
+       ADD_CUSTOM_COMMAND(OUTPUT ${FEDPKG_PRJ_DIR_GIT}
+           COMMAND [ -d ${FEDPKG_PRJ_DIR} ] || ${FEDPKG_CMD} clone 
${PROJECT_NAME}
+           COMMAND ${CMAKE_COMMAND} -E touch ${FEDPKG_PRJ_DIR_GIT}
+           COMMENT "Making FedPkg directory"
+           WORKING_DIRECTORY ${FEDPKG_DIR}
+           VERBATIM
+           )
+
     ENDIF(NOT _manage_release_fedora_dependencies_missing)
 
     FUNCTION(RELEASE_ADD_KOJI_BUILD_SCRATCH)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ibus-chewing-1.4.2-Source/Modules/ManageSourceVersionControl.cmake 
new/ibus-chewing-1.4.3-Source/Modules/ManageSourceVersionControl.cmake
--- old/ibus-chewing-1.4.2-Source/Modules/ManageSourceVersionControl.cmake      
2012-08-23 16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/Modules/ManageSourceVersionControl.cmake      
2012-11-26 08:41:07.000000000 +0100
@@ -62,10 +62,15 @@
            DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}"
            )
 
+       ADD_CUSTOM_TARGET(commit_clean
+           COMMAND git diff --exit-code
+           COMMENT "Is git commit clean?"
+           VERBATIM
+           )
+
        ADD_CUSTOM_COMMAND(OUTPUT ${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}
+           COMMAND make commit_clean
            COMMAND make tag_pre
-           COMMAND git commit --short -uno > 
"${CMAKE_FEDORA_TMP_DIR}/git-status" || echo "Is source committed?"
-           COMMAND test ! -s "${CMAKE_FEDORA_TMP_DIR}/git-status"
            COMMAND git tag -a -m "${CHANGE_SUMMARY}" "${PRJ_VER}" HEAD
            COMMENT "Tagging the source as ver ${PRJ_VER}"
            VERBATIM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/RELEASE-NOTES.txt 
new/ibus-chewing-1.4.3-Source/RELEASE-NOTES.txt
--- old/ibus-chewing-1.4.2-Source/RELEASE-NOTES.txt     2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/RELEASE-NOTES.txt     2012-11-26 
08:56:43.000000000 +0100
@@ -1,22 +1,10 @@
-PRJ_VER=1.4.2
-SUMMARY=Fixed RHBZ 713033,745371; GitHub 7,20,21,25,27; Google Issue 1172, 
1426, 1428, 1481, 1490
+PRJ_VER=1.4.3
+SUMMARY=Fixed GitHub issue 30
 BODHI_UPDATE_TYPE=bugfix
-REDHAT_BUGZILLA=713033,745371
+REDHAT_BUGZILLA=
 [Changes]
-- Fixed GitHub issue #7: highlighted text be cut after switch back to pure ibus
-  by merging pull request #24 from buganini
-- Fixed GitHub issue #20: Shift key will send duplicated strings
-  by merging pull request #22 from buganini
-- Fixed GitHub issue #21: somethings wrong with cmake
-- Fixed GitHub issue #25: Weird symbol when input with somethings highlighted
-  by merging pull request #26 from buganini
-- Fixed GitHub issue #27: Local path committed into tree
-- Fixed: Bug 713033 -  [zh_TW] ibus-chewing problem
-- Fixed: Bug 745371 -  ibus-chewing: mode confusion In Temporary English mode 
and Chinese mode later on
-- Fixed: Google Issue 1172: [ibus-chewing] move elf file to standard directory.
-- Fixed: Google Issue 1426: ibus-chewing-1.3.10 installs directory /gconf to 
root filesystem
-- Fixed: Google Issue 1428: ibus-chewing-1.3.10 fails to save it's settings
-- Fixed: Google Issue 1481: Some characters are missing when a long string in 
preedit buffer.
-- Fixed: Google Issue 1490: Cannot change INSTAL prefix for ibus-chewing-1.4.0
-
+- Fixed GitHub issue #30: Rework decorate_preedit
+  by merging pull request #30 from buganini
+- Fixed GitHub issue #31: Properly refresh property
+  by merging pull request #31 from buganini
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/src/CMakeLists.txt 
new/ibus-chewing-1.4.3-Source/src/CMakeLists.txt
--- old/ibus-chewing-1.4.2-Source/src/CMakeLists.txt    2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/src/CMakeLists.txt    2012-11-26 
08:30:20.000000000 +0100
@@ -10,32 +10,36 @@
 # Sources
 #
 SET(IBUS_CHEWING_GOB_GENERATED
-    ${CMAKE_SOURCE_DIR}/src/ibus-chewing-engine.c
-    ${CMAKE_SOURCE_DIR}/src/ibus-chewing-engine.h
-    ${CMAKE_SOURCE_DIR}/src/ibus-chewing-engine-private.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/ibus-chewing-engine.c
+    ${CMAKE_CURRENT_SOURCE_DIR}/ibus-chewing-engine.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/ibus-chewing-engine-private.h
     )
 
 SET(MAKER_DIALOG_GOB_GENERATED
-    ${CMAKE_SOURCE_DIR}/src/maker-dialog.c
-    ${CMAKE_SOURCE_DIR}/src/maker-dialog.h
-    ${CMAKE_SOURCE_DIR}/src/maker-dialog-private.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/maker-dialog.c
+    ${CMAKE_CURRENT_SOURCE_DIR}/maker-dialog.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/maker-dialog-private.h
     )
 
 ADD_CUSTOM_COMMAND(OUTPUT ${IBUS_CHEWING_GOB_GENERATED}
-    COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/IBusChewingEngine.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
-    COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
+    COMMAND ${GOB2_CMD} ${CMAKE_CURRENT_SOURCE_DIR}/IBusChewingEngine.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
+    COMMAND ${GOB2_CMD} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
     DEPENDS IBusChewingEngine.gob IBusChewingEngine-def.c ibus-chewing-util.h
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )
 
 ADD_CUSTOM_COMMAND(OUTPUT ${MAKER_DIALOG_GOB_GENERATED}
-    COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
+    COMMAND ${GOB2_CMD} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o 
${CMAKE_CURRENT_SOURCE_DIR}
     DEPENDS MakerDialog.gob
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     )
 
+SET(GOB_GENERATED
+    ${IBUS_CHEWING_GOB_GENERATED} ${MAKER_DIALOG_GOB_GENERATED}
+    )
+
 ADD_CUSTOM_TARGET(gob2
-    DEPENDS ${IBUS_CHEWING_GOB_GENERATED} ${MAKER_DIALOG_GOB_GENERATED}
+    DEPENDS ${GOB_GENERATED}
       ${CMAKE_CURRENT_SOURCE_DIR}/IBusChewingEngine-input-events.c
     COMMENT "Preprocess with gob2."
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/ibus-chewing-1.4.2-Source/src/IBusChewingEngine-input-events.c 
new/ibus-chewing-1.4.3-Source/src/IBusChewingEngine-input-events.c
--- old/ibus-chewing-1.4.2-Source/src/IBusChewingEngine-input-events.c  
2012-08-23 16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/src/IBusChewingEngine-input-events.c  
2012-11-26 08:55:03.000000000 +0100
@@ -40,6 +40,7 @@
                        chewing_handle_Space(self->context);
                }
                chewing_set_ChiEngMode(self->context, 
!chewing_get_ChiEngMode(self->context));
+               self_refresh_property(self,"chewing_chieng_prop");
                return self_update(self);
        }
        /* Skip release event */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ibus-chewing-1.4.2-Source/src/IBusChewingEngine.gob 
new/ibus-chewing-1.4.3-Source/src/IBusChewingEngine.gob
--- old/ibus-chewing-1.4.2-Source/src/IBusChewingEngine.gob     2012-08-23 
16:49:12.000000000 +0200
+++ new/ibus-chewing-1.4.3-Source/src/IBusChewingEngine.gob     2012-11-26 
07:32:26.000000000 +0100
@@ -477,25 +477,60 @@
        cursorRight=*chiSymbolCursor + zhuyin_item_written;
 
        G_DEBUG_MSG(5,"[I5]  decorate_preedit() charLen=%d cursorRight=%d", 
charLen, cursorRight);
-       if (*chiSymbolCursor< cursorRight){
-           ibus_text_append_attribute (iText, IBUS_ATTR_TYPE_FOREGROUND, 
0x00ffffff,
-                   *chiSymbolCursor, cursorRight);
-           ibus_text_append_attribute (iText, IBUS_ATTR_TYPE_BACKGROUND, 
0x00000000,
-                   *chiSymbolCursor, cursorRight);
-       }
 
        IntervalType it;
        chewing_interval_Enumerate(self->context);
-       while(chewing_interval_hasNext(self->context)){
-           chewing_interval_Get(self->context,&it);
-           G_DEBUG_MSG(6,"[I6]  decorate_preedit() it.from=%d it.to=%d", 
it.from, it.to);
-           if (it.to-it.from >1){
-               ibus_text_append_attribute (iText, IBUS_ATTR_TYPE_UNDERLINE, 
IBUS_ATTR_UNDERLINE_DOUBLE,
-                       it.from, it.to);
-           }
+
+       it.from=0;
+       it.to=charLen;
+       int phase=1;
+       int last=0;
+       int i;
+       if(chewing_interval_hasNext(self->context))
+               chewing_interval_Get(self->context,&it);
+
+       for(i=0;i<charLen;++i){
+               if(
+                   (i==it.from) ||
+                   (i==it.to-1) ||
+                   (*chiSymbolCursor==cursorRight && i==*chiSymbolCursor) ||
+                   (*chiSymbolCursor!=cursorRight && i==cursorRight-1)){
+                       if((*chiSymbolCursor==cursorRight && 
i==*chiSymbolCursor) || (*chiSymbolCursor!=cursorRight && i==cursorRight-1)){
+                               if(last < i+1){
+                                       ibus_text_append_attribute (iText, 
IBUS_ATTR_TYPE_UNDERLINE, IBUS_ATTR_UNDERLINE_DOUBLE,
+                                           last, i+1);
+                                       phase*=-1;
+                                       ibus_text_append_attribute (iText, 
IBUS_ATTR_TYPE_FOREGROUND, 0x00ffffff,
+                                           last, i+1);
+                                       ibus_text_append_attribute (iText, 
IBUS_ATTR_TYPE_BACKGROUND, 0x00000000,
+                                           last, i+1);
+                               }
+                               last=i+1;
+                       }else if(i==it.to-1){
+                               if(last < i+1){
+                                       ibus_text_append_attribute (iText, 
IBUS_ATTR_TYPE_UNDERLINE, 
(phase>0)?IBUS_ATTR_UNDERLINE_SINGLE:IBUS_ATTR_UNDERLINE_LOW,
+                                           last, i+1);
+                                       phase*=-1;
+                               }
+                               last=i+1;
+                               if(chewing_interval_hasNext(self->context)){
+                                       chewing_interval_Get(self->context,&it);
+                                       if(it.from>=*chiSymbolCursor){
+                                               it.from+=zhuyin_item_written;
+                                               it.to+=zhuyin_item_written;
+                                       }
+                               }
+                       }else{
+                               if(last < i){
+                                       ibus_text_append_attribute (iText, 
IBUS_ATTR_TYPE_UNDERLINE, 
(phase>0)?IBUS_ATTR_UNDERLINE_SINGLE:IBUS_ATTR_UNDERLINE_LOW,
+                                           last, i);
+                                       phase*=-1;
+                               }
+                               last=i;
+                       }
+               }
        }
-       ibus_text_append_attribute (iText, IBUS_ATTR_TYPE_UNDERLINE, 
IBUS_ATTR_UNDERLINE_SINGLE,
-               0, -1);
+
        return iText;
     }
 
@@ -533,6 +568,8 @@
                mode=IBUS_ENGINE_PREEDIT_COMMIT;
        else
                mode=IBUS_ENGINE_PREEDIT_CLEAR;
+
+       ibus_engine_update_preedit_text 
(IBUS_ENGINE(self),SELF_GET_CLASS(self)->emptyText, 0, TRUE);
        switch (self->_priv->inputStyle){
            case CHEWING_INPUT_STYLE_IN_APPLICATION:
                ibus_engine_update_preedit_text_with_mode 
(IBUS_ENGINE(self),preeditIText, chiSymbolCursor, TRUE, mode);
@@ -1042,19 +1079,19 @@
       if (ibus_property_get_state(self->settings_prop)==PROP_STATE_UNCHECKED)
 #else
            if (self->settings_prop->state==PROP_STATE_UNCHECKED)
-#endif      
+#endif
       {
-      
+
                gtk_widget_show_all(self->setting_dialog);
                if 
(gtk_dialog_run(GTK_DIALOG(self->setting_dialog))==GTK_RESPONSE_OK){
                    self_save_config_all(self);
-               }    
+               }
                gtk_widget_hide(self->setting_dialog);
 #if IBUS_CHECK_VERSION(1, 4, 0)
     ibus_property_set_state(self->settings_prop,PROP_STATE_UNCHECKED);
-#else    
+#else
                self->settings_prop->state=PROP_STATE_UNCHECKED;
-#endif    
+#endif
            }
        }else{
            G_DEBUG_MSG(3,"[I3]  property_activate(-, %s, %u) not 
recognized",prop_name, prop_state);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to