]> git.eshelyaron.com Git - emacs.git/commit
Prevent double buffering from being disabled on USE_BE_CAIRO builds
authorPo Lu <luangruo@yahoo.com>
Fri, 31 Dec 2021 07:29:30 +0000 (07:29 +0000)
committerPo Lu <luangruo@yahoo.com>
Fri, 31 Dec 2021 07:34:09 +0000 (07:34 +0000)
commitc452ffe4c28da21991f1f98007fbe1d66c7e0538
tree62260ebf249c66000ceca6b7079242d7ae324cf3
parent080a529f7e9c1a750f39d92f1e8f1e7170d6fb81
Prevent double buffering from being disabled on USE_BE_CAIRO builds

The direct rendering code used in that situation never
completely worked, and the BDirectWindow destructor is also
buggy.  Completely remove that code in order to let us inherit
from BWindow, so as to prevent the buggy destructor from being
run.

* src/haiku_support.cc (cairo_format_from_color_space): Delete
function.
(class EmacsWindow): Inherit from BWindow.
(EmacsWindow): Call BWindow constructor instead.
(MessageReceived):
(DispatchMessage):
(FrameResized):
(FrameMoved):
(Zoom): Call BWindow functions instead.
(EmacsView_cairo_surface): Stop looking for surfaces in the
window.
(EmacsWindow_begin_cr_critical_section):
(EmacsWindow_end_cr_critical_section): Stop locking the window.

* src/haikufns.c (haiku_set_inhibit_double_buffering): Always
enable double buffering on Cairo builds.
src/haiku_support.cc
src/haikufns.c