aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-04 13:37:42 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-03-04 13:37:42 -0500
commit7b6878bb288d8464cd76482159a03a24968f21c4 (patch)
treecd1576947bce29fdd0d27e862eacc375569d720b /src/lib/elementary/efl_ui_win.c
parentefl.ui.win: mark most stuff with @beta (diff)
downloadefl-7b6878bb288d8464cd76482159a03a24968f21c4.tar.gz
efl_ui_win: fix position,changed eventing
Summary: the eo event needs to send position data and manually call the old smart callback Depends on https://phab.enlightenment.org/D8086 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl_api Differential Revision: https://phab.enlightenment.org/D8087
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 0b6fafd966..3c705531e3 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -989,14 +989,16 @@ _elm_win_move(Ecore_Evas *ee)
Efl_Ui_Win_Data *sd = _elm_win_associate_get(ee);
int x, y;
Eo *obj;
+ Eina_Position2D pos;
if (!sd) return;
obj = sd->obj;
ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
- sd->screen.x = x;
- sd->screen.y = y;
- efl_event_callback_legacy_call(sd->obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, NULL);
+ pos.x = sd->screen.x = x;
+ pos.y = sd->screen.y = y;
+ efl_event_callback_call(sd->obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, &pos);
+ evas_object_smart_callback_call(sd->obj, "move", NULL);
ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
evas_nochange_push(evas_object_evas_get(sd->obj));
sd->response++;
@@ -3134,7 +3136,8 @@ _efl_ui_win_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Posit
{
sd->screen.x = pos.x;
sd->screen.y = pos.y;
- efl_event_callback_legacy_call(obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, NULL);
+ efl_event_callback_call(obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, &pos);
+ evas_object_smart_callback_call(obj, "move", NULL);
}
goto super_skip;
}
@@ -3156,7 +3159,8 @@ _efl_ui_win_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Posit
{
sd->screen.x = pos.x;
sd->screen.y = pos.y;
- efl_event_callback_legacy_call(obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, NULL);
+ efl_event_callback_call(obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, &pos);
+ evas_object_smart_callback_call(obj, "move", NULL);
}
if (sd->frame_obj)
{