]> git.eshelyaron.com Git - emacs.git/commit
Fix frame synchronization with scroll bar movement
authorPo Lu <luangruo@yahoo.com>
Sun, 31 Jul 2022 02:41:58 +0000 (10:41 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 31 Jul 2022 02:41:58 +0000 (10:41 +0800)
commita66e6542769eae039aba57644eca2d6afcbe3360
tree584c63cc79c28d5fd6fd3c93127d029cffd13f13
parent88d719e95b76ccb38e4a39b24729d5b3d9514118
Fix frame synchronization with scroll bar movement

* src/xfns.c (x_set_inhibit_double_buffering): Stop condeming
scroll bars.

* src/xterm.c (x_scroll_bar_create): Create an InputOnly window.
Update event masks accordingly and stop allocating back buffer.
(x_scroll_bar_remove): Stop deallocating back buffer.
(XTset_vertical_scroll_bar, x_scroll_bar_set_handle): Draw onto
the edit window so they can be synchronized with buffer flips.
(x_scroll_bar_clear): Redraw scroll bars instead of just
clearing them.
(x_scroll_bar_handle_expose, x_scroll_bar_redraw): New
functions.
(x_scroll_bar_expose, x_scroll_bar_end_update): Delete
functions.
(handle_one_xevent): Update exposure logic accordingly.

* src/xterm.h (struct scroll_bar): Remove `x_drawable' field.
src/xfns.c
src/xterm.c
src/xterm.h