summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-03-09 03:50:16 +0000
committerPo Lu <luangruo@yahoo.com>2022-03-09 03:50:16 +0000
commite8d35b98bb2fd685c83bb9e9da60c00eb7967d5d (patch)
tree5e923fe74f19d99164824581048a32051baa94df /src
parent51784551c57a70ff9236d1fb980bc25d6e4755f9 (diff)
downloademacs-e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d.tar.gz
emacs-e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d.tar.bz2
emacs-e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/haikuterm.c5
1 files 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))