summaryrefslogtreecommitdiff
path: root/src/haiku_support.cc
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-05-11 03:48:36 +0000
committerPo Lu <luangruo@yahoo.com>2022-05-11 03:48:36 +0000
commit80951f764b7053f93d69ac5c73c0e504ab308450 (patch)
treefe2a60b22bda4e3db6b32c14fa3b56bcb953567f /src/haiku_support.cc
parent736081320803c6d1f987f753f63581a0fd42b1fe (diff)
downloademacs-80951f764b7053f93d69ac5c73c0e504ab308450.tar.gz
Fix frame invalidation on Haiku
* src/haiku_support.cc (FlipBuffers): Only set view bitmap if it actually changed. * src/haikuterm.c (haiku_clip_to_string_exactly) (haiku_draw_window_cursor, haiku_draw_fringe_bitmap): Fix region invalidation.
Diffstat (limited to 'src/haiku_support.cc')
-rw-r--r--src/haiku_support.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/haiku_support.cc b/src/haiku_support.cc
index cb9dfabc4e7..6caf8049d1f 100644
--- a/src/haiku_support.cc
+++ b/src/haiku_support.cc
@@ -1619,16 +1619,17 @@ public:
copy_bitmap = NULL;
}
if (!copy_bitmap)
- copy_bitmap = new BBitmap (offscreen_draw_bitmap_1);
+ {
+ copy_bitmap = new BBitmap (offscreen_draw_bitmap_1);
+ SetViewBitmap (copy_bitmap, Frame (),
+ Frame (), B_FOLLOW_NONE, 0);
+ }
else
copy_bitmap->ImportBits (offscreen_draw_bitmap_1);
if (copy_bitmap->InitCheck () != B_OK)
gui_abort ("Failed to init copy bitmap during buffer flip");
- SetViewBitmap (copy_bitmap,
- Frame (), Frame (), B_FOLLOW_NONE, 0);
-
Invalidate (&invalid_region);
invalid_region.MakeEmpty ();
UnlockLooper ();