From 5b2ffb6bde1dc7b7e27948e23cbf65b1fcf52d9c Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 19 Sep 2017 16:23:50 +0900 Subject: [PATCH] evas: Fix invalid call to intercept This fixes scrolling in rage. Lessons learnt: - Do not trust raster's bisecting skills ^^, - Do not blame GCC until you're 100% positive about the exact code triggering an issue, - va_arg is unsafe, and can lead to crazy issues like this one, - va_arg passes (int x, int y) differently from Eina_Size2D sz, and optimization flags may also affect how that's done, or at least what kind of garbage data is used. --- src/lib/evas/canvas/evas_object_box.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c index cb65f5808b..bbe66b23e7 100644 --- a/src/lib/evas/canvas/evas_object_box.c +++ b/src/lib/evas/canvas/evas_object_box.c @@ -444,7 +444,7 @@ _evas_box_efl_gfx_size_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Eina_Si EOLIAN static void _evas_box_efl_gfx_position_set(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Eina_Position2D pos) { - if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, pos)) + if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, pos.x, pos.y)) return; efl_gfx_position_set(efl_super(o, MY_CLASS), pos);