From: Doyoun Kang Date: Wed, 3 Feb 2021 07:20:17 +0000 (+0900) Subject: e_policy_wl: send tizen_position changed event while creating tizen_position resource X-Git-Tag: submit/tizen_6.0/20210203.080807^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce5823f69083d9fe731302d369fdbfa7f428294f;p=platform%2Fupstream%2Fenlightenment.git e_policy_wl: send tizen_position changed event while creating tizen_position resource If the ec's position is not same to client's geometry which set by client, then e send tizen_position changed event to the client to notice new position. There was a bug that the window's position was not changed in below case. "Hide -> Unset user geometry -> Show -> Set user geometry -> Move -> Resize". This was because the ec's position was not same to the client's position. In this case, ec's position was (0,0) and client's position was not (0, 0). Change-Id: I53074b2de3bb98cb0aeff629a89776bcf1d380cb --- diff --git a/src/bin/e_policy_wl.c b/src/bin/e_policy_wl.c index d2537cfad2..b799fb8d5f 100644 --- a/src/bin/e_policy_wl.c +++ b/src/bin/e_policy_wl.c @@ -1277,6 +1277,15 @@ _tzpol_iface_cb_pos_get(struct wl_client *client, struct wl_resource *res_tzpol, _tzpol_iface_cb_pos_destroy); psurf->poslist = eina_list_append(psurf->poslist, res_tzpos); + + // if ec's pos is not same to client's geometry (ec->comp_data->shell.window), + // then send tizen_position changed event + if (ec->comp_data) + { + if ((ec->x != ec->comp_data->shell.window.x) || + (ec->y != ec->comp_data->shell.window.y)) + e_policy_wl_position_send(ec); + } } void