From f94a2622a049a633a20147d4f15664c4f09996bd Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 7 Oct 2004 21:59:39 +0000 Subject: [PATCH] (x_update_window_end): Fix flicker on vertical line between windows. Update vertical line after drawing window fringes, but only if actually drawing any bitmaps--or there is no fringe. --- src/macterm.c | 13 ++++++------- src/w32term.c | 5 ++--- src/xterm.c | 5 ++--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/macterm.c b/src/macterm.c index 0587c5d15ba..a5e1de9be08 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -1291,9 +1291,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p) output_cursor.vpos, output_cursor.x, output_cursor.y); - x_draw_vertical_border (w); - - draw_window_fringes (w); + if (draw_window_fringes (w, 1)) + x_draw_vertical_border (w); UNBLOCK_INPUT; } @@ -5050,7 +5049,7 @@ mac_get_window_bounds (f, inner, outer) GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowStructureRgn, outer); #else /* not TARGET_API_MAC_CARBON */ RgnHandle region = NewRgn (); - + GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowContentRgn, region); *inner = (*region)->rgnBBox; GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowStructureRgn, region); @@ -5143,7 +5142,7 @@ x_set_offset (f, xoff, yoff, change_gravity) { Rect inner, outer, screen_rect, dummy; RgnHandle region = NewRgn (); - + mac_get_window_bounds (f, &inner, &outer); f->x_pixels_diff = inner.left - outer.left; f->y_pixels_diff = inner.top - outer.top; @@ -8114,7 +8113,7 @@ XTread_socket (sd, expected, hold_quit) switch (GetEventClass (eventRef)) { case kEventClassWindow: - if (GetEventKind (eventRef) == kEventWindowBoundsChanged) + if (GetEventKind (eventRef) == kEventWindowBoundsChanged) { WindowPtr window_ptr; GetEventParameter(eventRef, kEventParamDirectObject, @@ -8431,7 +8430,7 @@ XTread_socket (sd, expected, hold_quit) if (!is_emacs_window (window_ptr)) break; - + f = mac_window_to_frame (window_ptr); if ((er.modifiers & activeFlag) != 0) diff --git a/src/w32term.c b/src/w32term.c index 22d139d9252..3956fd4b261 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -540,9 +540,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p) output_cursor.vpos, output_cursor.x, output_cursor.y); - x_draw_vertical_border (w); - - draw_window_fringes (w); + if (draw_window_fringes (w, 1)) + x_draw_vertical_border (w); UNBLOCK_INPUT; } diff --git a/src/xterm.c b/src/xterm.c index 4fc9ed71abd..131753f893c 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -571,9 +571,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p) output_cursor.vpos, output_cursor.x, output_cursor.y); - x_draw_vertical_border (w); - - draw_window_fringes (w); + if (draw_window_fringes (w, 1)) + x_draw_vertical_border (w); UNBLOCK_INPUT; } -- 2.39.5