diff -Nurw gcin-1.5.6~pre3.orig/win-gtab.cpp gcin-1.5.6~pre3/win-gtab.cpp
--- gcin-1.5.6~pre3.orig/win-gtab.cpp	2010-07-23 20:21:27.000000000 +0800
+++ gcin-1.5.6~pre3/win-gtab.cpp	2010-08-22 13:12:26.000998000 +0800
@@ -11,7 +11,7 @@
 GtkWidget *gwin_gtab;
 static GtkWidget *top_bin;
 static GtkWidget *label_full, *label_gtab_sele;
-static GtkWidget *label_gtab;
+static GtkWidget *label_gtab = NULL;
 static GtkWidget *label_input_method_name;
 static GtkWidget *label_key_codes;
 #if WIN32
@@ -63,7 +63,7 @@
 
 void set_gtab_input_color(GdkColor *color)
 {
-  gtk_widget_modify_fg(label_gtab, GTK_STATE_NORMAL, color);
+  if (label_gtab) gtk_widget_modify_fg(label_gtab, GTK_STATE_NORMAL, color);
 }
 
 void set_gtab_input_error_color()
diff -Nurw gcin-1.5.6~pre3.orig/win0.cpp gcin-1.5.6~pre3/win0.cpp
--- gcin-1.5.6~pre3.orig/win0.cpp	2010-08-20 16:35:57.000000000 +0800
+++ gcin-1.5.6~pre3/win0.cpp	2010-08-22 13:11:05.396999000 +0800
@@ -3,7 +3,7 @@
 #include "win-sym.h"
 #include "gst.h"
 
-GtkWidget *gwin0;
+GtkWidget *gwin0 = NULL;
 extern GtkWidget *gwin1;
 Window xwin0;
 extern Display *dpy;
@@ -380,6 +380,7 @@
 
 static void compact_win0()
 {
+  if (! gwin0) return;
   max_yl = 0;
   gtk_window_resize(GTK_WINDOW(gwin0), MIN_X_SIZE, 16);
   raw_move(best_win_x, best_win_y);
