From e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d Mon Sep 17 00:00:00 2001 From: Po Lu Date: Wed, 9 Mar 2022 03:50:16 +0000 Subject: [PATCH] Fix flicker during frame resize on Haiku * haikuterm.c (haiku_update_end): Call BWindow_Flush directly. (haiku_set_vertical_scroll_bar): Stop calling flush_frame. (haiku_flush): Only flip buffer of tooltip frames. --- src/haikuterm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/haikuterm.c b/src/haikuterm.c index 3950e45fe9b..413eedd6683 100644 --- a/src/haikuterm.c +++ b/src/haikuterm.c @@ -1221,7 +1221,7 @@ static void haiku_update_end (struct frame *f) { MOUSE_HL_INFO (f)->mouse_face_defer = false; - flush_frame (f); + BWindow_Flush (FRAME_HAIKU_WINDOW (f)); } static void @@ -2287,7 +2287,6 @@ haiku_set_vertical_scroll_bar (struct window *w, bar->width, bar->height); BView_move_frame (bar->scroll_bar, left, top, left + width - 1, top + height - 1); - flush_frame (WINDOW_XFRAME (w)); BView_publish_scroll_bar (view, left, top, width, height); bar->left = left; bar->top = top; @@ -2515,7 +2514,7 @@ haiku_flush (struct frame *f) { /* This is needed for tooltip frames to work properly with double buffering. */ - if (FRAME_DIRTY_P (f)) + if (FRAME_DIRTY_P (f) && FRAME_TOOLTIP_P (f)) haiku_flip_buffers (f); if (FRAME_VISIBLE_P (f) && !FRAME_TOOLTIP_P (f)) -- 2.39.2