]> git.eshelyaron.com Git - emacs.git/commitdiff
(free_glyphs): Block input while freeing matrices.
authorGerd Moellmann <gerd@gnu.org>
Thu, 2 Mar 2000 20:11:02 +0000 (20:11 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 2 Mar 2000 20:11:02 +0000 (20:11 +0000)
src/ChangeLog
src/dispnew.c

index cbe908de0e413d60249289aeb9b8ea72605b786e..5ed013b4533cfbe6221f60e1ff66173659066b59 100644 (file)
@@ -1,5 +1,10 @@
 2000-03-02  Gerd Moellmann  <gerd@gnu.org>
 
+       * xterm.c (note_mouse_highlight): Return quickly if frame's
+       glyph matrices have been freed.
+
+       * dispnew.c (free_glyphs): Block input while freeing matrices.
+
        * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
 
        * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
index ebceb1178b6c2a57095f71ce07d5aef01f78a7d6..dddee0eef8df66869e6b3c92092a05af3c0f8926 100644 (file)
@@ -2170,6 +2170,9 @@ free_glyphs (f)
 {
   if (f && f->glyphs_initialized_p)
     {
+      /* Block interrupt input so that we don't get surprised by an X
+         event while we're in an inconsistent state.  */
+      BLOCK_INPUT;
       f->glyphs_initialized_p = 0;
       
       /* Release window sub-matrices.  */
@@ -2213,6 +2216,8 @@ free_glyphs (f)
          free_glyph_pool (f->current_pool);
          f->desired_pool = f->current_pool = NULL;
        }
+      
+      UNBLOCK_INPUT;
     }
 }