fix crash when using e_comp_object_util_center_pos_get() with non comp_objects
This commit is contained in:
parent
143c0a9292
commit
567802f251
|
@ -2646,12 +2646,17 @@ e_comp_object_util_center_pos_get(Evas_Object *obj, int *x, int *y)
|
||||||
{
|
{
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
int zx, zy, zw, zh;
|
int zx, zy, zw, zh;
|
||||||
|
int ow, oh;
|
||||||
SOFT_ENTRY();
|
SOFT_ENTRY();
|
||||||
|
|
||||||
|
if (cw)
|
||||||
|
ow = cw->w, oh = cw->h;
|
||||||
|
else
|
||||||
|
evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
|
||||||
zone = e_comp_object_util_zone_get(obj);
|
zone = e_comp_object_util_zone_get(obj);
|
||||||
e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
|
e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
|
||||||
if (x) *x = zx + (zw - cw->w) / 2;
|
if (x) *x = zx + (zw - ow) / 2;
|
||||||
if (y) *y = zy + (zh - cw->h) / 2;
|
if (y) *y = zy + (zh - oh) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue