fix crash when using e_comp_object_util_center_pos_get() with non comp_objects
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 6 Mar 2015 22:59:43 +0000 (17:59 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 6 Mar 2015 22:59:43 +0000 (17:59 -0500)
src/bin/e_comp_object.c

index 2ed543c..b83fcae 100644 (file)
@@ -2646,12 +2646,17 @@ e_comp_object_util_center_pos_get(Evas_Object *obj, int *x, int *y)
 {
    E_Zone *zone;
    int zx, zy, zw, zh;
+   int ow, oh;
    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);
    e_zone_useful_geometry_get(zone, &zx, &zy, &zw, &zh);
-   if (x) *x = zx + (zw - cw->w) / 2;
-   if (y) *y = zy + (zh - cw->h) / 2;
+   if (x) *x = zx + (zw - ow) / 2;
+   if (y) *y = zy + (zh - oh) / 2;
 }
 
 EAPI void