lets not segv if src is null :)
authorCarsten Haitzler <raster@rasterman.com>
Tue, 7 Aug 2012 10:59:44 +0000 (10:59 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Tue, 7 Aug 2012 10:59:44 +0000 (10:59 +0000)
SVN revision: 74978

legacy/evas/src/lib/canvas/evas_object_image.c

index 9c4a2d9..743c9a2 100644 (file)
@@ -453,30 +453,33 @@ evas_object_image_source_set(Evas_Object *obj, Evas_Object *src)
         abort();
         return EINA_FALSE;
      }
-   if (src->delete_me)
-     {
-        CRIT("Setting object %p to deleted image source %p", src, obj);
-        abort();
-        return EINA_FALSE;
-     }
-   if (!src->layer)
-     {
-        CRIT("No evas surface associated with source object (%p)", obj);
-        abort();
-        return EINA_FALSE;
-     }
-   if ((obj->layer && src->layer) &&
-       (obj->layer->evas != src->layer->evas))
-     {
-        CRIT("Setting object %p from Evas (%p) from another Evas (%p)", src, src->layer->evas, obj->layer->evas);
-        abort();
-        return EINA_FALSE;
-     }
-   if (src == obj)
+   if (src)
      {
-        CRIT("Setting object %p as a source for itself", obj);
-        abort();
-        return EINA_FALSE;
+        if (src->delete_me)
+          {
+             CRIT("Setting object %p to deleted image source %p", src, obj);
+             abort();
+             return EINA_FALSE;
+          }
+        if (!src->layer)
+          {
+             CRIT("No evas surface associated with source object (%p)", obj);
+             abort();
+             return EINA_FALSE;
+          }
+        if ((obj->layer && src->layer) &&
+            (obj->layer->evas != src->layer->evas))
+          {
+             CRIT("Setting object %p from Evas (%p) from another Evas (%p)", src, src->layer->evas, obj->layer->evas);
+             abort();
+             return EINA_FALSE;
+          }
+        if (src == obj)
+          {
+             CRIT("Setting object %p as a source for itself", obj);
+             abort();
+             return EINA_FALSE;
+          }
      }
    if (o->cur.source == src) return EINA_TRUE;
 
@@ -485,10 +488,7 @@ evas_object_image_source_set(Evas_Object *obj, Evas_Object *src)
    if (o->cur.file || o->cur.key)
       evas_object_image_file_set(obj, NULL, NULL);
 
-   if (src)
-     {
-        _proxy_set(obj, src);
-     }
+   if (src) _proxy_set(obj, src);
 
    return EINA_TRUE;
 }