emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master faab1b2002: Fix extraneous overscroll activation on Haiku


From: Po Lu
Subject: master faab1b2002: Fix extraneous overscroll activation on Haiku
Date: Sun, 13 Mar 2022 22:47:42 -0400 (EDT)

branch: master
commit faab1b20028d11b9f35beacba4b2b278ac0cdab3
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.
---
 src/haiku_support.cc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/haiku_support.cc b/src/haiku_support.cc
index 1c1be178d2..cb8ffaf2d7 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 ();
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]