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
This commit is contained in:
Mike Blumenkrantz 2015-08-21 13:10:06 -04:00
parent c5f1932dc2
commit 83351e34dc
1 changed files with 1 additions and 1 deletions

View File

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