devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4ba349be4f6706d6049d54e1f60f2716c41edec5

commit 4ba349be4f6706d6049d54e1f60f2716c41edec5
Author: Chris Michael <cpmich...@osg.samsung.com>
Date:   Thu Jan 21 11:32:53 2016 -0500

    ecore-drm: Destroy any existing eeze watch when we free the device
    
    If a user frees a device without closing it we could end up with a
    dangling eeze watch. This small patch just makes sure to delete the
    watch if it exists
    
    @fix
    
    Signed-off-by: Chris Michael <cpmich...@osg.samsung.com>
---
 src/lib/ecore_drm/ecore_drm_device.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index a406d5e..cca3332 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -277,6 +277,8 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
         dev->dumb[i] = NULL;
      }
 
+   if (dev->watch) eeze_udev_watch_del(dev->watch);
+
    /* free crtcs */
    if (dev->crtcs) free(dev->crtcs);
 
@@ -394,9 +396,11 @@ ecore_drm_device_close(Ecore_Drm_Device *dev)
 
    /* delete udev watch */
    if (dev->watch) eeze_udev_watch_del(dev->watch);
+   dev->watch = NULL;
 
    /* close xkb context */
    if (dev->xkb_ctx) xkb_context_unref(dev->xkb_ctx);
+   dev->xkb_ctx = NULL;
 
    _ecore_drm_launcher_device_close(dev->drm.name, dev->drm.fd);
 

-- 


Reply via email to