diff options
author | Po Lu <luangruo@yahoo.com> | 2022-05-11 03:48:36 +0000 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-05-11 03:48:36 +0000 |
commit | 80951f764b7053f93d69ac5c73c0e504ab308450 (patch) | |
tree | fe2a60b22bda4e3db6b32c14fa3b56bcb953567f /src/haiku_support.cc | |
parent | 736081320803c6d1f987f753f63581a0fd42b1fe (diff) | |
download | emacs-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.cc | 9 |
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 (); |