原因つきとめました。
scim-1.4.7/extras/gtk2_immodule/gtkimcontextscim.cpp の456行目:
SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_shutdown...\n";
が、2回目に呼ばれた時に起こるようです。
ここは gtk_im_context_scim_shutdown() と言う関数の中ですが、
なぜかこれが2回呼ばれます。
で、1度目はいいのですが、2回目に呼ばれた時はすでに
一度 scim が shutdown した後なので、それでおかしく?なるようです。
あまり深く突っ込んでいませんが。
で、パッチを作りました。これを
/usr/ports/textproc/scim/work/scim-1.4.7/
で適用してください。
patch < scim-gtk-bug.diff
単に SCIM_DEBUG_FRONTEND(1) ...... をコメントアウトしただけですが。
(本当は if (_scim_initialized) {} の中に移動した方がいいかもしれませんが)
お試しください。
--
Hiroshi Nishida
[メールアドレス保護]
diff -ur extras.org/gtk2_immodule/gtkimcontextscim.cpp
extras/gtk2_immodule/gtkimcontextscim.cpp
--- extras.org/gtk2_immodule/gtkimcontextscim.cpp 2008-04-25
13:45:48.000000000 -0700
+++ extras/gtk2_immodule/gtkimcontextscim.cpp 2008-04-25 13:44:53.000000000
-0700
@@ -453,7 +453,7 @@
void
gtk_im_context_scim_shutdown (void)
{
- SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_shutdown...\n";
+ //SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_shutdown...\n";
if (_scim_initialized) {
SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_shutdown: call finalize
()...\n";