changeset 12051:f193ce9efe24

(x_destroy_bitmap): Block and unblock input. (Fx_horizontal_line): Add one UNBLOCK_INPUT to fix a misbalance, and move another one to include the call to XFreeGC, in case we someday remove the "#if 0" conditions.
author Karl Heuer <kwzh@gnu.org>
date Thu, 01 Jun 1995 23:23:50 +0000
parents b740095d6a47
children 942ad27b8e10
files src/xfns.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Thu Jun 01 23:18:04 1995 +0000
+++ b/src/xfns.c	Thu Jun 01 23:23:50 1995 +0000
@@ -570,12 +570,14 @@
       --dpyinfo->bitmaps[id - 1].refcount;
       if (dpyinfo->bitmaps[id - 1].refcount == 0)
 	{
+	  BLOCK_INPUT;
 	  XFreePixmap (FRAME_X_DISPLAY (f), dpyinfo->bitmaps[id - 1].pixmap);
 	  if (dpyinfo->bitmaps[id - 1].file)
 	    {
 	      free (dpyinfo->bitmaps[id - 1].file);
 	      dpyinfo->bitmaps[id - 1].file = NULL;
 	    }
+	  UNBLOCK_INPUT;
 	}
     }
 }
@@ -4105,6 +4107,7 @@
 		       | GCLineWidth | GCForeground | GCBackground,
 		       &gc_values);
   XSetDashes (FRAME_X_DISPLAY (f), erase_gc, 0, dash_list, dashes);
+  UNBLOCK_INPUT;
 #endif
 
   while (1)
@@ -4133,12 +4136,12 @@
 	      BLOCK_INPUT;
 	      XDrawLine (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
 			 erase_gc, left, line, right, line);
-	      UNBLOCK_INPUT;
 	      unread_command_event = obj;
 #if 0
 	      XFreeGC (FRAME_X_DISPLAY (f), line_gc);
 	      XFreeGC (FRAME_X_DISPLAY (f), erase_gc);
 #endif 
+	      UNBLOCK_INPUT;
 	      return Qnil;
 	    }
 	}