[uim-commit] r1381 - trunk/xim

ekato at freedesktop.org ekato at freedesktop.org
Fri Sep 2 16:02:14 EST 2005


Author: ekato
Date: 2005-09-01 23:02:09 -0700 (Thu, 01 Sep 2005)
New Revision: 1381

Modified:
   trunk/xim/ximic.cpp
   trunk/xim/ximserver.cpp
Log:
* xim/ximic.cpp (XimIC::setFocus) : Move candidate window handling
  into InputContext::focusIn().
* xim/ximserver.cpp (InputContext::focusIn) : Add candidate winow
  handling from XimIC::setFocus().


Modified: trunk/xim/ximic.cpp
===================================================================
--- trunk/xim/ximic.cpp	2005-09-02 04:19:08 UTC (rev 1380)
+++ trunk/xim/ximic.cpp	2005-09-02 06:02:09 UTC (rev 1381)
@@ -389,22 +389,7 @@
 
     current_ic = this;
     mIsActive = true;
-
-    bool is_candwin_active = m_kkContext->hasActiveCandwin();
-
-    if (mConvdisp && is_candwin_active == false) {
-	// unset_focus before move_candwin in m_kkContext->focusIn()
-	mConvdisp->unset_focus();
-    }
-
     m_kkContext->focusIn();
-
-    if (mConvdisp && is_candwin_active == true) {
-	// Updating preedit here causes string mismatch if the context
-	// receives XIM_RESET_IC after XIM_SET_IC_FOCUS.  Should only
-	// update candidate window.
-	m_kkContext->candidate_update();
-    }
 }
 
 // Note that the sequence of XIM_SET_IC_FOCUS and XIM_UNSET_FOCUS

Modified: trunk/xim/ximserver.cpp
===================================================================
--- trunk/xim/ximserver.cpp	2005-09-02 04:19:08 UTC (rev 1380)
+++ trunk/xim/ximserver.cpp	2005-09-02 06:02:09 UTC (rev 1381)
@@ -466,11 +466,14 @@
     uim_helper_client_focus_in(mUc);
     mFocusedContext = this;
     if (mConvdisp) {
+	mConvdisp->unset_focus();
 	mConvdisp->move_candwin();
 	mConvdisp->update_caret_state();
     }
     uim_prop_list_update(mUc);	
     uim_prop_label_update(mUc);	
+    if (hasActiveCandwin())
+	candidate_update();
 }
 
 void



More information about the uim-commit mailing list