discomfitor pushed a commit to branch enlightenment-0.19.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=83351e34dc43ef2c86092f8c90f027f37fd63c2d

commit 83351e34dc43ef2c86092f8c90f027f37fd63c2d
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Aug 21 13:10:06 2015 -0400

    don't watch dirty smart cb for desmirror clients with unusable pixmaps
    
    this seems to fix an extremely rare issue related to both deskmirror 
artifacts
    and crashes in deskmirror during restart; I was only able to reproduce the 
crash
    twice in the span of over an hour of testing and it seemed to disappear 
after
    this change
---
 src/bin/e_deskmirror.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index 313e8f9..bf1f6e6 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -636,7 +636,7 @@ _e_deskmirror_mirror_add(E_Smart_Data *sd, Evas_Object *obj)
    evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, 
(Evas_Object_Event_Cb)_comp_object_configure, m);
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, 
(Evas_Object_Event_Cb)_comp_object_configure, m);
    evas_object_smart_callback_add(obj, "frame_recalc_done", 
_e_deskmirror_mirror_frame_recalc_cb, m);
-   if ((!ec->redirected) && (!ec->new_client))
+   if ((!ec->redirected) && (!ec->new_client) && 
e_pixmap_usable_get(ec->pixmap))
      evas_object_smart_callback_add(obj, "dirty", _comp_object_dirty, m);
    sd->mirrors = eina_inlist_append(sd->mirrors, EINA_INLIST_GET(m));
    eina_hash_add(sd->mirror_hash, &obj, m);

-- 


Reply via email to