diff options
author | Po Lu <luangruo@yahoo.com> | 2022-03-14 02:45:55 +0000 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-03-14 02:46:11 +0000 |
commit | faab1b20028d11b9f35beacba4b2b278ac0cdab3 (patch) | |
tree | 48f28d69fc4cf74bb24e7cbb3b9997e9093d4c8a /src | |
parent | a63bac7adef9b17521e804a67a574764d6e8b2b6 (diff) | |
download | emacs-faab1b20028d11b9f35beacba4b2b278ac0cdab3.tar.gz emacs-faab1b20028d11b9f35beacba4b2b278ac0cdab3.tar.bz2 emacs-faab1b20028d11b9f35beacba4b2b278ac0cdab3.zip |
Fix extraneous overscroll activation on Haiku
* src/haiku_support.cc (class EmacsScrollBar): New field
`maybe_overscroll'.
(MouseDown): Set that field.
(MouseUp): Clear that field.
(MouseMoved): Also test `maybe_overscroll' to ensure that a grab
started inside the scroll bar.
Diffstat (limited to 'src')
-rw-r--r-- | src/haiku_support.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/haiku_support.cc b/src/haiku_support.cc index 1c1be178d20..cb8ffaf2d7b 100644 --- a/src/haiku_support.cc +++ b/src/haiku_support.cc @@ -1571,6 +1571,7 @@ public: bool handle_button = false; bool in_overscroll = false; bool can_overscroll = false; + bool maybe_overscroll = false; BPoint last_overscroll; int last_reported_overscroll_value; int max_value, real_max_value; @@ -1784,6 +1785,7 @@ public: if (buttons == B_PRIMARY_MOUSE_BUTTON) { + maybe_overscroll = true; r = ButtonRegionFor (HAIKU_SCROLL_BAR_UP_BUTTON); if (r.Contains (pt)) @@ -1833,6 +1835,7 @@ public: BView *parent; in_overscroll = false; + maybe_overscroll = false; if (handle_button) { @@ -1922,7 +1925,9 @@ public: return; } } - else if (can_overscroll && (buttons == B_PRIMARY_MOUSE_BUTTON)) + else if (can_overscroll + && (buttons == B_PRIMARY_MOUSE_BUTTON) + && maybe_overscroll) { value = Value (); |