discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d70667a0678b97ea74733b15017596085dc36330
commit d70667a0678b97ea74733b15017596085dc36330 Author: Mike Blumenkrantz <[email protected]> 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); --
