evas: if the class is the wrong one, you should not do the check after accessing...
authorCedric BAIL <cedric.bail@samsung.com>
Fri, 14 Mar 2014 02:51:49 +0000 (11:51 +0900)
committerCedric BAIL <cedric.bail@samsung.com>
Fri, 14 Mar 2014 02:51:49 +0000 (11:51 +0900)
Fix CID 1191978.

src/lib/evas/canvas/evas_out.c

index 5e877d16a42ed42521c2d09499a7f829dcc7f078..4724529d41473d3ea725af42c0c3d48783865390 100644 (file)
@@ -59,14 +59,12 @@ _evas_out_destructor(Eo *eo_obj, Evas_Out_Data *eo_dat)
 
    eo_do(eo_obj, eo_parent_get(&eo_parent));
    e = eo_data_scope_get(eo_parent, EVAS_CLASS);
-   // XXX: need to free output and context one they get allocated one day   
+   if (!e) return ;
+   // XXX: need to free output and context one they get allocated one day
    // e->engine.func->context_free(eo_dat->output, eo_dat->context);
    // e->engine.func->output_free(eo_dat->output);
    e->engine.func->info_free(eo_parent, eo_dat->info);
-   if (e)
-     {
-        e->outputs = eina_list_remove(e->outputs, eo_obj);
-     }
+   e->outputs = eina_list_remove(e->outputs, eo_obj);
    eo_do_super(eo_obj, MY_CLASS, eo_destructor());
 }
 
@@ -106,4 +104,4 @@ _evas_out_engine_info_get(Eo *eo_e EINA_UNUSED, Evas_Out_Data *eo_dat)
    return eo_dat->info;
 }
 
-#include "canvas/evas_out.eo.c"
\ No newline at end of file
+#include "canvas/evas_out.eo.c"