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); --