summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-03-14 02:45:55 +0000
committerPo Lu <luangruo@yahoo.com>2022-03-14 02:46:11 +0000
commitfaab1b20028d11b9f35beacba4b2b278ac0cdab3 (patch)
tree48f28d69fc4cf74bb24e7cbb3b9997e9093d4c8a /src
parenta63bac7adef9b17521e804a67a574764d6e8b2b6 (diff)
downloademacs-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.cc7
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 ();