--- src/stardict.cpp.orig 2008-10-21 22:48:58.901158639 +0800 +++ src/stardict.cpp 2008-10-21 22:48:46.384695369 +0800 @@ -346,7 +346,11 @@ g_signal_connect (G_OBJECT (window), "window_state_event", G_CALLBACK (on_window_state_event), this); g_signal_connect (G_OBJECT (window), "key_press_event", G_CALLBACK (vKeyPressReleaseCallback), this); g_signal_connect (G_OBJECT (window), "key_release_event", G_CALLBACK (vKeyPressReleaseCallback), this); - + GdkScreen *screen = gtk_widget_get_screen(window); + GdkColormap *colormap = gdk_screen_get_rgba_colormap (screen); + if (colormap && gdk_screen_is_composited (screen)){ + gtk_widget_set_default_colormap(colormap); + } GtkWidget *vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_container_add(GTK_CONTAINER(window),vbox); --- src/docklet.cpp.orig 2008-10-21 22:45:17.184551440 +0800 +++ src/docklet.cpp 2008-10-21 22:45:06.511175725 +0800 @@ -45,6 +45,7 @@ G_CALLBACK(on_btn_press), this); gtk_container_add(GTK_CONTAINER(docklet_), image_); + gtk_widget_set_colormap(GTK_WIDGET(docklet_), gdk_screen_get_rgb_colormap(gdk_screen_get_default())); gtk_widget_show_all(GTK_WIDGET(docklet_)); /* ref the docklet_ before we bandy it about the place */