# HG changeset patch # User Kim F. Storm # Date 1097186379 0 # Node ID 38e45bf0128a4a52b287f6c24d85faf35ce60aec # Parent 1caa36568da622e1b960074020bd6a49e182e197 (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. diff -r 1caa36568da6 -r 38e45bf0128a src/macterm.c --- a/src/macterm.c Thu Oct 07 21:58:16 2004 +0000 +++ b/src/macterm.c Thu Oct 07 21:59:39 2004 +0000 @@ -1291,9 +1291,8 @@ 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 @@ 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 @@ { 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 @@ switch (GetEventClass (eventRef)) { case kEventClassWindow: - if (GetEventKind (eventRef) == kEventWindowBoundsChanged) + if (GetEventKind (eventRef) == kEventWindowBoundsChanged) { WindowPtr window_ptr; GetEventParameter(eventRef, kEventParamDirectObject, @@ -8431,7 +8430,7 @@ if (!is_emacs_window (window_ptr)) break; - + f = mac_window_to_frame (window_ptr); if ((er.modifiers & activeFlag) != 0) diff -r 1caa36568da6 -r 38e45bf0128a src/w32term.c --- a/src/w32term.c Thu Oct 07 21:58:16 2004 +0000 +++ b/src/w32term.c Thu Oct 07 21:59:39 2004 +0000 @@ -540,9 +540,8 @@ 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 -r 1caa36568da6 -r 38e45bf0128a src/xterm.c --- a/src/xterm.c Thu Oct 07 21:58:16 2004 +0000 +++ b/src/xterm.c Thu Oct 07 21:59:39 2004 +0000 @@ -571,9 +571,8 @@ 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; }