Commit f94397b5 authored by Karl Heuer's avatar Karl Heuer

(x_display_cursor, process_expose_from_menu): Block input.

parent 41208291
...@@ -464,7 +464,8 @@ XTcursor_to (row, col) ...@@ -464,7 +464,8 @@ XTcursor_to (row, col)
compute_char_face and compute_glyph_face on everything it puts in compute_char_face and compute_glyph_face on everything it puts in
the display structure, we can assume that the face code on each the display structure, we can assume that the face code on each
glyph is a valid index into FRAME_COMPUTED_FACES (f), and the one glyph is a valid index into FRAME_COMPUTED_FACES (f), and the one
to which we can actually apply intern_face. */ to which we can actually apply intern_face.
Call this function with input blocked. */
#if 1 #if 1
/* This is the multi-face code. */ /* This is the multi-face code. */
...@@ -751,7 +752,8 @@ XTclear_end_of_line (first_unused) ...@@ -751,7 +752,8 @@ XTclear_end_of_line (first_unused)
/* Erase the character (if any) at the position just before X, Y in frame F, /* Erase the character (if any) at the position just before X, Y in frame F,
then redraw it and the character before it. then redraw it and the character before it.
This is necessary when we erase starting at X, This is necessary when we erase starting at X,
in case the character after X overlaps into the one before X. */ in case the character after X overlaps into the one before X.
Call this function with input blocked. */
static void static void
redraw_previous_char (f, x, y) redraw_previous_char (f, x, y)
...@@ -1146,7 +1148,8 @@ static void clear_cursor (); ...@@ -1146,7 +1148,8 @@ static void clear_cursor ();
/* Output into a rectangle of an X-window (for frame F) /* Output into a rectangle of an X-window (for frame F)
the characters in f->phys_lines that overlap that rectangle. the characters in f->phys_lines that overlap that rectangle.
TOP and LEFT are the position of the upper left corner of the rectangle. TOP and LEFT are the position of the upper left corner of the rectangle.
ROWS and COLS are the size of the rectangle. */ ROWS and COLS are the size of the rectangle.
Call this function with input blocked. */
static void static void
dumprectangle (f, left, top, cols, rows) dumprectangle (f, left, top, cols, rows)
...@@ -2648,6 +2651,8 @@ process_expose_from_menu (event) ...@@ -2648,6 +2651,8 @@ process_expose_from_menu (event)
{ {
FRAME_PTR f; FRAME_PTR f;
BLOCK_INPUT;
f = x_window_to_frame (event.xexpose.window); f = x_window_to_frame (event.xexpose.window);
if (f) if (f)
{ {
...@@ -2672,6 +2677,8 @@ process_expose_from_menu (event) ...@@ -2672,6 +2677,8 @@ process_expose_from_menu (event)
if (bar) if (bar)
x_scroll_bar_expose (bar, &event); x_scroll_bar_expose (bar, &event);
} }
UNBLOCK_INPUT;
} }
...@@ -3950,6 +3957,8 @@ x_display_cursor (f, on) ...@@ -3950,6 +3957,8 @@ x_display_cursor (f, on)
struct frame *f; struct frame *f;
int on; int on;
{ {
BLOCK_INPUT;
if (FRAME_DESIRED_CURSOR (f) == filled_box_cursor) if (FRAME_DESIRED_CURSOR (f) == filled_box_cursor)
x_display_box_cursor (f, on); x_display_box_cursor (f, on);
else if (FRAME_DESIRED_CURSOR (f) == bar_cursor) else if (FRAME_DESIRED_CURSOR (f) == bar_cursor)
...@@ -3957,6 +3966,8 @@ x_display_cursor (f, on) ...@@ -3957,6 +3966,8 @@ x_display_cursor (f, on)
else else
/* Those are the only two we have implemented! */ /* Those are the only two we have implemented! */
abort (); abort ();
UNBLOCK_INPUT;
} }
/* Icons. */ /* Icons. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment