Index: src/lib/elm_widget.c
===================================================================
--- src/lib/elm_widget.c	(revision 57820)
+++ src/lib/elm_widget.c	(working copy)
@@ -1674,11 +1674,11 @@ elm_widget_show_region_set(Evas_Object *obj, Evas_
    do
      {
         parent_obj = sd->parent_obj;
+        if ((!parent_obj) || (!_elm_widget_is(parent_obj))) break;
+        sd = evas_object_smart_data_get(parent_obj);
+        if (!sd) break;
         child_obj = sd->obj;
-        sd = evas_object_smart_data_get(parent_obj);
 
-        if ((!parent_obj) || (!sd) || (!_elm_widget_is(parent_obj))) break;
-
         evas_object_geometry_get(parent_obj, &px, &py, NULL, NULL);
         evas_object_geometry_get(child_obj, &cx, &cy, NULL, NULL);
 
