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:
parent
c5f1932dc2
commit
83351e34dc
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue