aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/evas/canvas/evas_object_smart_clipped.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-10-11 12:39:05 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-10-12 11:25:56 +0900
commit11b7cf6b728001dbcd42ce41d5ac2e129a835fd8 (patch)
treefe09c44ddb1e8b72b0464231e2363256f937d0c8 /src/lib/evas/canvas/evas_object_smart_clipped.c
parentevas: Move move_children_relative to legacy only (diff)
downloadefl-11b7cf6b728001dbcd42ce41d5ac2e129a835fd8.tar.gz
evas/elm: Remove function group_move
This is an override of efl_gfx_position_set. As for the other patches, I hope I didn't break anything. A problem likely to happen is that the super call was inserted too early or too late in the call flow. For instance: _myclass_position_set(obj, x, y) { position_set(super(obj), x, y); position_get(obj, &prevx, &prevy); do_something_with_delta_xy(); } The above code flow is obvisouly wrong, but may have crept in this patch (such a bug sneaked in inside smart object, breaking everything at first).
Diffstat (limited to 'src/lib/evas/canvas/evas_object_smart_clipped.c')
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c b/src/lib/evas/canvas/evas_object_smart_clipped.c
index caab4286fe..6b4fcec4e6 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -86,14 +86,18 @@ evas_object_smart_clipped_smart_move(Evas_Object *eo_obj, Evas_Coord x, Evas_Coo
{
Evas_Coord orig_x, orig_y;
- evas_object_geometry_get(eo_obj, &orig_x, &orig_y, NULL, NULL);
+ efl_gfx_position_get(eo_obj, &orig_x, &orig_y);
evas_object_smart_move_children_relative(eo_obj, x - orig_x, y - orig_y);
}
EOLIAN static void
-_efl_canvas_group_clipped_efl_canvas_group_group_move(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y)
+_efl_canvas_group_clipped_efl_gfx_position_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Coord x, Evas_Coord y)
{
+ if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_MOVE, 0, x, y))
+ return;
+
evas_object_smart_clipped_smart_move(eo_obj, x, y);
+ efl_gfx_position_set(efl_super(eo_obj, MY_CLASS), x, y);
}
static void