From e6393393ccafe59d4e434a78c79952601d93956a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 17 Jul 2019 09:33:05 -0400 Subject: [PATCH] efl/scroll manager: stop clearing animators on every wheel event if scrolling is supposed to continue then just reuse the existing animator callback and avoid emitting a scroll,start/stop event pair for every new input event Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D9340 --- src/lib/elementary/efl_ui_scroll_manager.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_ui_scroll_manager.c b/src/lib/elementary/efl_ui_scroll_manager.c index a6bf0cda22..dd924ed0b8 100644 --- a/src/lib/elementary/efl_ui_scroll_manager.c +++ b/src/lib/elementary/efl_ui_scroll_manager.c @@ -1555,10 +1555,11 @@ _scroll_manager_scrollto_y_animator_del(Efl_Ui_Scroll_Manager_Data *sd) static void _scroll_manager_scrollto_animator_add(Efl_Ui_Scroll_Manager_Data *sd, Evas_Coord sx, Evas_Coord sy, Evas_Coord x, Evas_Coord y, double tx, double ty, InterpType interp) { - _scroll_manager_scrollto_animator_del(sd); - - if (!sd->pan_obj) return; - if (sd->freeze) return; + if (!sd->pan_obj || sd->freeze) + { + _scroll_manager_scrollto_animator_del(sd); + return; + } _scroll_manager_scrollto_x_animator_add(sd, sx, x, tx, interp); _scroll_manager_scrollto_y_animator_add(sd, sy, y, ty, interp); }