diff --git a/src/bin/clapper-app/clapper-app-window.c b/src/bin/clapper-app/clapper-app-window.c index 6441f94e..6815b36a 100644 --- a/src/bin/clapper-app/clapper-app-window.c +++ b/src/bin/clapper-app/clapper-app-window.c @@ -471,11 +471,14 @@ scroll_cb (GtkEventControllerScroll *scroll, pickup = _pick_pointer_widget (self); - /* We do not want to accidentally allow this controller - * to handle scrolls when hovering over scrolled window */ - if (pickup && (GTK_IS_SCROLLED_WINDOW (pickup) - || gtk_widget_get_ancestor (pickup, GTK_TYPE_SCROLLED_WINDOW))) - return FALSE; + /* We do not want to accidentally allow this controller to handle + * scrolls when hovering over widgets that also handle scroll */ + while ((pickup && !CLAPPER_GTK_IS_VIDEO (pickup))) { + if (GTK_IS_SCROLLED_WINDOW (pickup) || GTK_IS_RANGE (pickup)) + return FALSE; + + pickup = gtk_widget_get_parent (pickup); + } device = gtk_event_controller_get_current_event_device (GTK_EVENT_CONTROLLER (scroll));