discomfitor pushed a commit to branch enlightenment-0.21.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=384a71c658431a844defbf3f3e13db22a77e9f73

commit 384a71c658431a844defbf3f3e13db22a77e9f73
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Tue Oct 24 13:57:00 2017 -0500

    Fix xwayland related crash when mousing out of a window
    
    XWayland likes to set a buffer on the cursor surface then delete it before
    we release it.  I'm pretty sure when a client does that we're within spec
    to just kill it, but users will likely find this response ungratifying.
    
    So, instead, just gracefully fail to render the undefined surface.
    
    @ref T5593
---
 src/bin/e_pixmap.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index e22ec6221..2d0a24cc8 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -856,6 +856,11 @@ e_pixmap_image_refresh(E_Pixmap *cp)
 
            if (cp->held_buffer) _e_pixmap_wayland_image_clear(cp);
 
+           /* This catches the case where a client (*cough* xwayland)
+            * deletes a buffer we haven't released
+            */
+           if (!cp->buffer) return EINA_FALSE;
+
            if (!cp->buffer->shm_buffer) return EINA_TRUE;
 
            cp->held_buffer = cp->buffer;

-- 


Reply via email to