forked from enlightenment/efl
ecore-drm: Cleanup ecore-drm shutdown routine
This patch addresses an issue where when closing Enlightenment, the shutdown procedure would previously end up calling the same functions twice. These functions should be called from the ecore_evas drm shutdown routine as the sprites, inputs, outputs, etc are all called from the ecore_evas drm init routine. @fix Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This commit is contained in:
parent
258639a92e
commit
17fa5dee65
|
@ -266,7 +266,6 @@ out:
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_drm_device_free(Ecore_Drm_Device *dev)
|
ecore_drm_device_free(Ecore_Drm_Device *dev)
|
||||||
{
|
{
|
||||||
Ecore_Drm_Output *output;
|
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
|
|
||||||
/* check for valid device */
|
/* check for valid device */
|
||||||
|
@ -277,18 +276,6 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
|
||||||
if (dev->dumb[i]) ecore_drm_fb_destroy(dev->dumb[i]);
|
if (dev->dumb[i]) ecore_drm_fb_destroy(dev->dumb[i]);
|
||||||
dev->dumb[i] = NULL;
|
dev->dumb[i] = NULL;
|
||||||
}
|
}
|
||||||
/* destroy all sprites*/
|
|
||||||
ecore_drm_sprites_destroy(dev);
|
|
||||||
/* clear inputs */
|
|
||||||
ecore_drm_inputs_destroy(dev);
|
|
||||||
/* free outputs */
|
|
||||||
EINA_LIST_FREE(dev->outputs, output)
|
|
||||||
ecore_drm_output_free(output);
|
|
||||||
/* disconnect launcher */
|
|
||||||
ecore_drm_launcher_disconnect(dev);
|
|
||||||
/* close myself */
|
|
||||||
ecore_drm_device_close(dev);
|
|
||||||
|
|
||||||
|
|
||||||
/* free crtcs */
|
/* free crtcs */
|
||||||
if (dev->crtcs) free(dev->crtcs);
|
if (dev->crtcs) free(dev->crtcs);
|
||||||
|
|
|
@ -88,6 +88,7 @@ EAPI void
|
||||||
ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev)
|
ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev)
|
||||||
{
|
{
|
||||||
EINA_SAFETY_ON_NULL_RETURN(dev);
|
EINA_SAFETY_ON_NULL_RETURN(dev);
|
||||||
|
|
||||||
if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr);
|
if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr);
|
||||||
dev->tty.switch_hdlr = NULL;
|
dev->tty.switch_hdlr = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue