emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/xterm.c,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/xterm.c,v
Date: Thu, 21 Feb 2008 16:51:08 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/02/21 16:51:08

Index: xterm.c
===================================================================
RCS file: /sources/emacs/emacs/src/xterm.c,v
retrieving revision 1.976
retrieving revision 1.977
diff -u -b -r1.976 -r1.977
--- xterm.c     17 Feb 2008 02:02:54 -0000      1.976
+++ xterm.c     21 Feb 2008 16:51:06 -0000      1.977
@@ -8103,10 +8103,11 @@
      OpenWindows in certain situations.  I suspect that is a bug
      in OpenWindows.  I don't know how to circumvent it here.  */
 
+  if (dpyinfo)
+    {
 #ifdef USE_X_TOOLKIT
   /* If DPYINFO is null, this means we didn't open the display
      in the first place, so don't try to close it.  */
-  if (dpyinfo)
     {
       extern void (*fatal_error_signal_hook) P_ ((void));
       fatal_error_signal_hook = x_fatal_error_signal;
@@ -8116,12 +8117,9 @@
 #endif
 
 #ifdef USE_GTK
-  if (dpyinfo)
     xg_display_close (dpyinfo->display);
 #endif
 
-  if (dpyinfo)
-    {
       /* Indicate that this display is dead.  */
       dpyinfo->display = 0;
 
@@ -11834,6 +11832,10 @@
     return;
 
   BLOCK_INPUT;
+  /* If called from x_connection_closed, the display may already be closed
+     and dpyinfo->display was set to 0 to indicate that.  */
+  if (dpyinfo->display)
+    {
 #ifdef USE_FONT_BACKEND
   if (enable_font_backend)
     XFreeFont (dpyinfo->display, dpyinfo->font);
@@ -11858,6 +11860,7 @@
   XCloseDisplay (dpyinfo->display);
 #endif
 #endif /* ! USE_GTK */
+    }
 
   x_delete_display (dpyinfo);
   UNBLOCK_INPUT;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]