devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=17fa5dee65059f6019ace06433765e639d2cd812
commit 17fa5dee65059f6019ace06433765e639d2cd812 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jan 21 09:22:37 2016 -0500 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 <cpmich...@osg.samsung.com> --- src/lib/ecore_drm/ecore_drm_device.c | 13 ------------- src/lib/ecore_drm/ecore_drm_launcher.c | 1 + 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_device.c b/src/lib/ecore_drm/ecore_drm_device.c index 80cabf3..a406d5e 100644 --- a/src/lib/ecore_drm/ecore_drm_device.c +++ b/src/lib/ecore_drm/ecore_drm_device.c @@ -266,7 +266,6 @@ out: EAPI void ecore_drm_device_free(Ecore_Drm_Device *dev) { - Ecore_Drm_Output *output; unsigned int i = 0; /* 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]); 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 */ if (dev->crtcs) free(dev->crtcs); diff --git a/src/lib/ecore_drm/ecore_drm_launcher.c b/src/lib/ecore_drm/ecore_drm_launcher.c index c9e1ce2..72dd140 100644 --- a/src/lib/ecore_drm/ecore_drm_launcher.c +++ b/src/lib/ecore_drm/ecore_drm_launcher.c @@ -88,6 +88,7 @@ EAPI void ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev) { EINA_SAFETY_ON_NULL_RETURN(dev); + if (dev->tty.switch_hdlr) ecore_event_handler_del(dev->tty.switch_hdlr); dev->tty.switch_hdlr = NULL; --