From 42f55fe095ccb4c7a14ab22f21b76e44c984c791 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Thu, 2 Mar 2000 20:11:02 +0000 Subject: [PATCH] (free_glyphs): Block input while freeing matrices. --- src/ChangeLog | 5 +++++ src/dispnew.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index cbe908de0e4..5ed013b4533 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2000-03-02 Gerd Moellmann + * 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 diff --git a/src/dispnew.c b/src/dispnew.c index ebceb1178b6..dddee0eef8d 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -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; } }