comparison src/xterm.c @ 5872:6389c826f847

(x_display_cursor, process_expose_from_menu): Block input.
author Karl Heuer <kwzh@gnu.org>
date Wed, 09 Feb 1994 23:31:54 +0000
parents b1f35db748d8
children 105c99071e9b
comparison
equal deleted inserted replaced
5871:49029e28ed2c 5872:6389c826f847
462 462
463 Since the display generation code is responsible for calling 463 Since the display generation code is responsible for calling
464 compute_char_face and compute_glyph_face on everything it puts in 464 compute_char_face and compute_glyph_face on everything it puts in
465 the display structure, we can assume that the face code on each 465 the display structure, we can assume that the face code on each
466 glyph is a valid index into FRAME_COMPUTED_FACES (f), and the one 466 glyph is a valid index into FRAME_COMPUTED_FACES (f), and the one
467 to which we can actually apply intern_face. */ 467 to which we can actually apply intern_face.
468 Call this function with input blocked. */
468 469
469 #if 1 470 #if 1
470 /* This is the multi-face code. */ 471 /* This is the multi-face code. */
471 472
472 static void 473 static void
749 } 750 }
750 751
751 /* Erase the character (if any) at the position just before X, Y in frame F, 752 /* Erase the character (if any) at the position just before X, Y in frame F,
752 then redraw it and the character before it. 753 then redraw it and the character before it.
753 This is necessary when we erase starting at X, 754 This is necessary when we erase starting at X,
754 in case the character after X overlaps into the one before X. */ 755 in case the character after X overlaps into the one before X.
756 Call this function with input blocked. */
755 757
756 static void 758 static void
757 redraw_previous_char (f, x, y) 759 redraw_previous_char (f, x, y)
758 FRAME_PTR f; 760 FRAME_PTR f;
759 int x, y; 761 int x, y;
1144 static void clear_cursor (); 1146 static void clear_cursor ();
1145 1147
1146 /* Output into a rectangle of an X-window (for frame F) 1148 /* Output into a rectangle of an X-window (for frame F)
1147 the characters in f->phys_lines that overlap that rectangle. 1149 the characters in f->phys_lines that overlap that rectangle.
1148 TOP and LEFT are the position of the upper left corner of the rectangle. 1150 TOP and LEFT are the position of the upper left corner of the rectangle.
1149 ROWS and COLS are the size of the rectangle. */ 1151 ROWS and COLS are the size of the rectangle.
1152 Call this function with input blocked. */
1150 1153
1151 static void 1154 static void
1152 dumprectangle (f, left, top, cols, rows) 1155 dumprectangle (f, left, top, cols, rows)
1153 struct frame *f; 1156 struct frame *f;
1154 register int left, top, cols, rows; 1157 register int left, top, cols, rows;
2646 process_expose_from_menu (event) 2649 process_expose_from_menu (event)
2647 XEvent event; 2650 XEvent event;
2648 { 2651 {
2649 FRAME_PTR f; 2652 FRAME_PTR f;
2650 2653
2654 BLOCK_INPUT;
2655
2651 f = x_window_to_frame (event.xexpose.window); 2656 f = x_window_to_frame (event.xexpose.window);
2652 if (f) 2657 if (f)
2653 { 2658 {
2654 if (f->async_visible == 0) 2659 if (f->async_visible == 0)
2655 { 2660 {
2670 = x_window_to_scroll_bar (event.xexpose.window); 2675 = x_window_to_scroll_bar (event.xexpose.window);
2671 2676
2672 if (bar) 2677 if (bar)
2673 x_scroll_bar_expose (bar, &event); 2678 x_scroll_bar_expose (bar, &event);
2674 } 2679 }
2680
2681 UNBLOCK_INPUT;
2675 } 2682 }
2676 2683
2677 2684
2678 /* The main X event-reading loop - XTread_socket. */ 2685 /* The main X event-reading loop - XTread_socket. */
2679 2686
3948 3955
3949 x_display_cursor (f, on) 3956 x_display_cursor (f, on)
3950 struct frame *f; 3957 struct frame *f;
3951 int on; 3958 int on;
3952 { 3959 {
3960 BLOCK_INPUT;
3961
3953 if (FRAME_DESIRED_CURSOR (f) == filled_box_cursor) 3962 if (FRAME_DESIRED_CURSOR (f) == filled_box_cursor)
3954 x_display_box_cursor (f, on); 3963 x_display_box_cursor (f, on);
3955 else if (FRAME_DESIRED_CURSOR (f) == bar_cursor) 3964 else if (FRAME_DESIRED_CURSOR (f) == bar_cursor)
3956 x_display_bar_cursor (f, on); 3965 x_display_bar_cursor (f, on);
3957 else 3966 else
3958 /* Those are the only two we have implemented! */ 3967 /* Those are the only two we have implemented! */
3959 abort (); 3968 abort ();
3969
3970 UNBLOCK_INPUT;
3960 } 3971 }
3961 3972
3962 /* Icons. */ 3973 /* Icons. */
3963 3974
3964 /* Refresh bitmap kitchen sink icon for frame F 3975 /* Refresh bitmap kitchen sink icon for frame F