From: Seunghun Lee Date: Fri, 21 Aug 2020 18:29:13 +0000 (+0900) Subject: e_comp_wl: remove a frame resource from cached frame list. X-Git-Tag: submit/tizen/20200825.082113~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e30c547b63c07f6387eec9d164af6ac19743c0ed;p=platform%2Fupstream%2Fenlightenment.git e_comp_wl: remove a frame resource from cached frame list. this fixes a crash caused by trying to an invalid frame resource which is destroyed, but dangling from cached frame list. Change-Id: I3cf097c4b493fec3090a06dfa7f766b934ac2873 --- diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index d65180c518..fe3352937f 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -2843,6 +2843,7 @@ static void _e_comp_wl_frame_cb_destroy(struct wl_resource *resource) { E_Client *ec; + E_Comp_Wl_Subsurf_Data *sdata; if (!(ec = wl_resource_get_user_data(resource))) return; if (e_object_is_del(E_OBJECT(ec))) @@ -2863,6 +2864,13 @@ _e_comp_wl_frame_cb_destroy(struct wl_resource *resource) ec->comp_data->pending.frames = eina_list_remove(ec->comp_data->pending.frames, resource); } + + sdata = ec->comp_data->sub.data; + if ((sdata) && (sdata->cached.frames)) + { + sdata->cached.frames = + eina_list_remove(sdata->cached.frames, resource); + } } static void