evas object freeing - fix missing null check for layer
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 11 Jul 2016 12:14:51 +0000 (21:14 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 11 Jul 2016 12:14:51 +0000 (21:14 +0900)
fix CID 1039409

src/lib/evas/canvas/evas_object_main.c

index 7c36a0a..c9051fd 100644 (file)
@@ -267,9 +267,12 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer)
           mask->w = mask->h = 0;
           if (mask->surface)
             {
-               obj->layer->evas->engine.func->image_free
-                     (obj->layer->evas->engine.data.output, mask->surface);
-               mask->surface = NULL;
+               if (obj->layer)
+                 {
+                    obj->layer->evas->engine.func->image_free
+                      (obj->layer->evas->engine.data.output, mask->surface);
+                    mask->surface = NULL;
+                 }
             }
         EINA_COW_WRITE_END(evas_object_mask_cow, obj->mask, mask);
      }