aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-03-09 03:50:16 +0000
committerPo Lu2022-03-09 03:50:16 +0000
commite8d35b98bb2fd685c83bb9e9da60c00eb7967d5d (patch)
tree5e923fe74f19d99164824581048a32051baa94df /src
parent51784551c57a70ff9236d1fb980bc25d6e4755f9 (diff)
downloademacs-e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d.tar.gz
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
1221haiku_update_end (struct frame *f) 1221haiku_update_end (struct frame *f)
1222{ 1222{
1223 MOUSE_HL_INFO (f)->mouse_face_defer = false; 1223 MOUSE_HL_INFO (f)->mouse_face_defer = false;
1224 flush_frame (f); 1224 BWindow_Flush (FRAME_HAIKU_WINDOW (f));
1225} 1225}
1226 1226
1227static void 1227static void
@@ -2287,7 +2287,6 @@ haiku_set_vertical_scroll_bar (struct window *w,
2287 bar->width, bar->height); 2287 bar->width, bar->height);
2288 BView_move_frame (bar->scroll_bar, left, top, 2288 BView_move_frame (bar->scroll_bar, left, top,
2289 left + width - 1, top + height - 1); 2289 left + width - 1, top + height - 1);
2290 flush_frame (WINDOW_XFRAME (w));
2291 BView_publish_scroll_bar (view, left, top, width, height); 2290 BView_publish_scroll_bar (view, left, top, width, height);
2292 bar->left = left; 2291 bar->left = left;
2293 bar->top = top; 2292 bar->top = top;
@@ -2515,7 +2514,7 @@ haiku_flush (struct frame *f)
2515{ 2514{
2516 /* This is needed for tooltip frames to work properly with double 2515 /* This is needed for tooltip frames to work properly with double
2517 buffering. */ 2516 buffering. */
2518 if (FRAME_DIRTY_P (f)) 2517 if (FRAME_DIRTY_P (f) && FRAME_TOOLTIP_P (f))
2519 haiku_flip_buffers (f); 2518 haiku_flip_buffers (f);
2520 2519
2521 if (FRAME_VISIBLE_P (f) && !FRAME_TOOLTIP_P (f)) 2520 if (FRAME_VISIBLE_P (f) && !FRAME_TOOLTIP_P (f))