[vte] widget: Use GdkEvent accessor function



commit 028e7a7780f0ea6b95a3467b89d0bec0910bb9e0
Author: Christian Persch <chpe src gnome org>
Date:   Mon Oct 19 21:14:43 2020 +0200

    widget: Use GdkEvent accessor function
    
    [gtk4 preparation]

 src/widget.hh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/widget.hh b/src/widget.hh
index 5fe53ac4..10345d8a 100644
--- a/src/widget.hh
+++ b/src/widget.hh
@@ -215,12 +215,15 @@ public:
 
         ScrollDirection scroll_direction() const noexcept
         {
-                /* Note that we cannot use gdk_event_get_scroll_direction() here since it
-                 * returns false for smooth scroll events.
-                 */
                 if (!is_mouse_scroll())
                         return ScrollDirection::eNONE;
-                switch (reinterpret_cast<GdkEventScroll*>(platform_event())->direction) {
+                auto dir = GdkScrollDirection{};
+                if (gdk_event_get_scroll_deltas(platform_event(), nullptr, nullptr))
+                        dir = GDK_SCROLL_SMOOTH;
+                else if (!gdk_event_get_scroll_direction(platform_event(), &dir))
+                        return ScrollDirection::eNONE;
+
+                switch (dir) {
                 case GDK_SCROLL_UP:     return ScrollDirection::eUP;
                 case GDK_SCROLL_DOWN:   return ScrollDirection::eDOWN;
                 case GDK_SCROLL_LEFT:   return ScrollDirection::eLEFT;


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