evas destructor - take lock arount post render list while freeing
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 7 Feb 2017 13:55:36 +0000 (22:55 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 7 Feb 2017 23:48:35 +0000 (08:48 +0900)
this should fix CID 1369019 though really shouldnt be an issue...

src/lib/evas/canvas/evas_main.c

index bddbaab..3a1aa0e 100644 (file)
@@ -389,12 +389,14 @@ _evas_canvas_efl_object_destructor(Eo *eo_e, Evas_Public_Data *e)
    eina_array_flush(&e->texts_unref_queue);
    eina_hash_free(e->focused_objects);
 
+   SLKL(e->post_render.lock);
    EINA_INLIST_FREE(e->post_render.jobs, job)
      {
         e->post_render.jobs = (Evas_Post_Render_Job *)
               eina_inlist_remove(EINA_INLIST_GET(e->post_render.jobs), EINA_INLIST_GET(job));
         free(job);
      }
+   SLKU(e->post_render.lock);
 
    EINA_LIST_FREE(e->touch_points, touch_point)
      free(touch_point);