devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=354fd6f67b9d4069bfcf26c1899183f644e429a5

commit 354fd6f67b9d4069bfcf26c1899183f644e429a5
Author: Chris Michael <[email protected]>
Date:   Wed Jun 3 14:29:14 2015 -0400

    ecore-drm: Don't crash when trying to disable an output
    
    Summary: If we call these functions with an already disabled output,
    we crash. Check for an output being 'enabled' before we make these
    calls.
    
    @fix
    
    Signed-off-by: Chris Michael <[email protected]>
---
 src/lib/ecore_drm/ecore_drm_output.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index d6573f3..e0ba526 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -763,6 +763,7 @@ _ecore_drm_output_render_disable(Ecore_Drm_Output *output)
    EINA_SAFETY_ON_NULL_RETURN(output);
 
    output->need_repaint = EINA_FALSE;
+   if (!output->enabled) return;
    ecore_drm_output_cursor_size_set(output, 0, 0, 0);
    ecore_drm_output_dpms_set(output, DRM_MODE_DPMS_OFF);
 }
@@ -951,6 +952,7 @@ EAPI void
 ecore_drm_output_cursor_size_set(Ecore_Drm_Output *output, int handle, int w, 
int h)
 {
    EINA_SAFETY_ON_NULL_RETURN(output);
+   if (!output->enabled) return;
    drmModeSetCursor(output->dev->drm.fd, output->crtc_id, handle, w, h);
 }
 

-- 


Reply via email to