scrolledwindow: Cancel kinetic/overshoot animation on captured scroll events
This ensures the animation is cancelled if the child widget happens to GDK_EVENT_STOP scroll events. https://bugzilla.gnome.org/show_bug.cgi?id=745315
This commit is contained in:
		@ -1222,6 +1222,12 @@ captured_event_cb (GtkWidget *widget,
 | 
				
			|||||||
  priv = sw->priv;
 | 
					  priv = sw->priv;
 | 
				
			||||||
  source_device = gdk_event_get_source_device (event);
 | 
					  source_device = gdk_event_get_source_device (event);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (event->type == GDK_SCROLL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      gtk_scrolled_window_cancel_deceleration (sw);
 | 
				
			||||||
 | 
					      return GDK_EVENT_PROPAGATE;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!priv->use_indicators)
 | 
					  if (!priv->use_indicators)
 | 
				
			||||||
    return GDK_EVENT_PROPAGATE;
 | 
					    return GDK_EVENT_PROPAGATE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3183,7 +3189,6 @@ gtk_scrolled_window_scroll_event (GtkWidget      *widget,
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      gdouble vel_x, vel_y;
 | 
					      gdouble vel_x, vel_y;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      gtk_scrolled_window_cancel_deceleration (scrolled_window);
 | 
					 | 
				
			||||||
      gtk_scrolled_window_invalidate_overshoot (scrolled_window);
 | 
					      gtk_scrolled_window_invalidate_overshoot (scrolled_window);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (priv->scroll_events_overshoot_id)
 | 
					      if (priv->scroll_events_overshoot_id)
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user