diff -Nurb gcin-1.6.5.pre2.orig/modules/chewing-conf.cpp gcin-1.6.5.pre2/modules/chewing-conf.cpp
--- gcin-1.6.5.pre2.orig/modules/chewing-conf.cpp	2011-06-19 12:31:41.000000000 +0800
+++ gcin-1.6.5.pre2/modules/chewing-conf.cpp	2011-08-16 23:32:42.986731788 +0800
@@ -10,6 +10,7 @@
     {"et26",      "KB_ET26"},
     {"hsu",       "KB_HSU"},
     {"pinyin",    "KB_HANYU_PINYIN"},
+    {"pinyin-no-tone", "KB_HANYU_PINYIN"},
     {"dvorak",    "KB_DVORAK"},
     {"ibm",       "KB_IBM"},
     {"mitac",     NULL},
@@ -168,6 +169,7 @@
         g_chewingConfig.selKey[nIdx] = szKbSelKey[nIdx];
     chewing_set_selKey (pChewingCtx, g_chewingConfig.selKey, strlen (szKbSelKey));
 
+    nIdx = 0;
     while (g_kbMappingTable[nIdx].pszGcinKbName)
     {
         if (!strncmp (g_kbMappingTable[nIdx].pszGcinKbName,
diff -Nurb gcin-1.6.5.pre2.orig/modules/chewing.cpp gcin-1.6.5.pre2/modules/chewing.cpp
--- gcin-1.6.5.pre2.orig/modules/chewing.cpp	2011-06-28 12:26:15.000000000 +0800
+++ gcin-1.6.5.pre2/modules/chewing.cpp	2011-08-16 23:32:42.986731788 +0800
@@ -131,6 +131,7 @@
         return FALSE;
     }
     free (pszChewingHashDir);
+    pszHome = NULL;
 
     g_pChewingCtx = chewing_new ();
     if (!g_pChewingCtx)
@@ -511,7 +512,8 @@
     for (n = 0; n < MAX_SEG_NUM; n++)
     {
         pLabel = g_pSeg[n].label;
-        set_label_font_size (pLabel, *g_gcinModMainFuncs.mf_gcin_font_size);
+        g_gcinModMainFuncs.mf_set_label_font_size (pLabel, 
+            *g_gcinModMainFuncs.mf_gcin_font_size);
 
         if (*g_gcinModMainFuncs.mf_gcin_win_color_use)
             gtk_widget_modify_fg (pLabel, GTK_STATE_NORMAL, &colorFG);
