diff options
| author | Po Lu | 2022-03-09 03:50:16 +0000 |
|---|---|---|
| committer | Po Lu | 2022-03-09 03:50:16 +0000 |
| commit | e8d35b98bb2fd685c83bb9e9da60c00eb7967d5d (patch) | |
| tree | 5e923fe74f19d99164824581048a32051baa94df /src | |
| parent | 51784551c57a70ff9236d1fb980bc25d6e4755f9 (diff) | |
| download | emacs-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.c | 5 |
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 | |||
| 1221 | haiku_update_end (struct frame *f) | 1221 | haiku_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 | ||
| 1227 | static void | 1227 | static 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)) |