forked from enlightenment/efl
ecore evas - buffer - init ecore event evas as many times as shutdown
so ecore_event_evas_shutdown() was getting called much more than ecore_event_evas_init() - missing an init in the ee + img obj creator in ecore evas. this adds it in and ensures in allocation failures we dont over-init or shutdown too. @fix
This commit is contained in:
parent
3c9123f170
commit
2dc4bed587
|
@ -20,6 +20,7 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
|
||||||
{
|
{
|
||||||
Ecore_Evas_Engine_Buffer_Data *bdata = ee->engine.data;
|
Ecore_Evas_Engine_Buffer_Data *bdata = ee->engine.data;
|
||||||
|
|
||||||
|
if (!bdata) return;
|
||||||
if (bdata->image)
|
if (bdata->image)
|
||||||
{
|
{
|
||||||
Ecore_Evas *ee2;
|
Ecore_Evas *ee2;
|
||||||
|
@ -31,11 +32,11 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bdata->free_func(bdata->data,
|
bdata->free_func(bdata->data, bdata->pixels);
|
||||||
bdata->pixels);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(bdata);
|
free(bdata);
|
||||||
|
ee->engine.data = NULL;
|
||||||
|
|
||||||
ecore_event_evas_shutdown();
|
ecore_event_evas_shutdown();
|
||||||
}
|
}
|
||||||
|
@ -895,6 +896,8 @@ ecore_evas_buffer_new(int w, int h)
|
||||||
ee = ecore_evas_buffer_allocfunc_new
|
ee = ecore_evas_buffer_allocfunc_new
|
||||||
(w, h, _ecore_evas_buffer_pix_alloc, _ecore_evas_buffer_pix_free, NULL);
|
(w, h, _ecore_evas_buffer_pix_alloc, _ecore_evas_buffer_pix_free, NULL);
|
||||||
|
|
||||||
|
if (!ee) ecore_event_evas_shutdown();
|
||||||
|
|
||||||
ecore_evas_done(ee, EINA_TRUE);
|
ecore_evas_done(ee, EINA_TRUE);
|
||||||
|
|
||||||
return ee;
|
return ee;
|
||||||
|
@ -1084,5 +1087,6 @@ ecore_evas_object_image_new(Ecore_Evas *ee_target)
|
||||||
}
|
}
|
||||||
|
|
||||||
_ecore_evas_subregister(ee_target, ee);
|
_ecore_evas_subregister(ee_target, ee);
|
||||||
|
ecore_event_evas_init();
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue