--- pidgin/eggtrayicon.c.old 2007-06-21 15:00:23.000000000 -0700 +++ pidgin/eggtrayicon.c 2007-06-21 15:17:22.000000000 -0700 @@ -322,11 +322,20 @@ return; #if GTK_CHECK_VERSION(2,1,0) - xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon))); + { + GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (icon)); + if (!GDK_IS_DISPLAY (display)) + display = gdk_display_get_default (); + + xdisplay = GDK_DISPLAY_XDISPLAY (display); + } #else xdisplay = gdk_display; #endif + if (xdisplay == NULL) + return; + XGrabServer (xdisplay); icon->manager_window = XGetSelectionOwner (xdisplay,