2009-11-27 Jan Djärv <jan.h.d@swipnet.se>
+ * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
+ is NULL.
+
+ * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
+
+ * frame.c (frame_make_pointer_invisible)
+ (frame_make_pointer_visible): Just return if there isn't any selected
+ frame.
+
* search.c (simple_search): Remove warning by making *p const.
2009-11-26 Dan Nicolaescu <dann@ics.uci.edu>
{
if (! NILP (Vmake_pointer_invisible))
{
+ if (!FRAMEP (selected_frame) || !FRAME_LIVE_P (XFRAME (selected_frame)))
+ return;
+
struct frame *f = SELECTED_FRAME ();
if (f && !f->pointer_invisible
&& FRAME_TERMINAL (f)->toggle_invisible_pointer_hook)
/* We don't check Vmake_pointer_invisible here in case the
pointer was invisible when Vmake_pointer_invisible was set to nil. */
+ if (!FRAMEP (selected_frame) || !FRAME_LIVE_P (XFRAME (selected_frame)))
+ return;
+
struct frame *f = SELECTED_FRAME ();
if (f && f->pointer_invisible && f->mouse_moved
&& FRAME_TERMINAL (f)->toggle_invisible_pointer_hook)
xftfont_end_for_frame (f)
FRAME_PTR f;
{
- XftDraw *xft_draw = font_get_frame_data (f, &xftfont_driver);
+ XftDraw *xft_draw;
+
+ /* Don't do anything if display is dead */
+ if (FRAME_X_DISPLAY (f) == NULL) return 0;
+
+ xft_draw = font_get_frame_data (f, &xftfont_driver);
if (xft_draw)
{
#endif /* ! USE_GTK */
}
+ /* Mark as dead. */
+ dpyinfo->display = NULL;
x_delete_display (dpyinfo);
UNBLOCK_INPUT;
}