discomfitor pushed a commit to branch master.

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

commit d70667a0678b97ea74733b15017596085dc36330
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 fee6f30..85d130f 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -662,7 +662,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