Author: ek.kato
Date: Tue Dec 11 23:27:41 2007
New Revision: 5055

Modified:
  trunk/xim/ximserver.cpp

Log:
* xim/ximserver.cpp (InputContext::review_im) : Fix segfault upon
 IM toggle with incompatible encoding.


Modified: trunk/xim/ximserver.cpp
==============================================================================
--- trunk/xim/ximserver.cpp     (original)
+++ trunk/xim/ximserver.cpp     Tue Dec 11 23:27:41 2007
@@ -517,8 +517,12 @@
        free(mLocaleName);
        mLocaleName = locale;
    } else {
-       if (!is_locale_included(engine_locales, client_locale))
-           changeContext(prev_engine);
+       if (!is_locale_included(engine_locales, client_locale)) {
+           clear();
+           uim_switch_im(mUc, prev_engine);
+           free(mEngineName);
+           mEngineName = strdup(prev_engine);
+       }
    }
    free(prev_engine);
}

Reply via email to