forked from enlightenment/efl
ecore_evas: Fix crash in async render
Summary: The root cause of the crash is freed memory. The evas_object_image_data_set api called with extn buffer in _ipc_server_data. But there is no inform to render when free this buffer. @fix Reviewers: Hermet, jpeg, jypark Subscribers: stefan_schmidt, cedric Differential Revision: https://phab.enlightenment.org/D2902 Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
This commit is contained in:
parent
d31098fcec
commit
94abb3a422
|
@ -178,7 +178,12 @@ _ecore_evas_extn_free(Ecore_Evas *ee)
|
|||
Ecore_Event_Handler *hdl;
|
||||
Ipc_Data_Update *ipc;
|
||||
int i;
|
||||
|
||||
if (bdata->image)
|
||||
{
|
||||
evas_object_image_data_set(bdata->image, NULL);
|
||||
evas_object_image_pixels_dirty_set(bdata->image, EINA_TRUE);
|
||||
}
|
||||
bdata->pixels = NULL;
|
||||
for (i = 0; i < NBUF; i++)
|
||||
{
|
||||
if (extn->b[i].buf) _extnbuf_free(extn->b[i].buf);
|
||||
|
@ -229,7 +234,7 @@ _ecore_evas_extn_free(Ecore_Evas *ee)
|
|||
ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee);
|
||||
}
|
||||
evas_object_del(bdata->image);
|
||||
bdata->image = NULL;
|
||||
bdata->image = NULL;
|
||||
}
|
||||
free(bdata);
|
||||
ee->engine.data = NULL;
|
||||
|
|
Loading…
Reference in New Issue