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:
jiin.moon 2015-08-04 11:49:04 +09:00 committed by Jean-Philippe Andre
parent d31098fcec
commit 94abb3a422
1 changed files with 7 additions and 2 deletions

View File

@ -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;