From: Junkyeong Kim Date: Mon, 21 Jan 2019 10:56:55 +0000 (+0900) Subject: server: fix voutput buffer ref error X-Git-Tag: accepted/tizen/unified/20190215.055052~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1ee366c5e9532ff4a9efdd5ba547f464617a8585;hp=6eeb0de41fe29e626979bb1fd83588f59184d510;p=platform%2Fcore%2Fuifw%2Flibtdm.git server: fix voutput buffer ref error Change-Id: I604afb6f48c17f7b724fadd01580f2abe692224b Signed-off-by: Junkyeong Kim --- diff --git a/src/tdm_server.c b/src/tdm_server.c index 4dfcdc1..c66948d 100644 --- a/src/tdm_server.c +++ b/src/tdm_server.c @@ -926,16 +926,17 @@ _tdm_voutput_cb_disconnect(struct wl_client *client, struct wl_resource *resourc voutput_info->mmwidth = 0; voutput_info->mmheight = 0; + if (voutput_info->request_commit == 1) { + tdm_output_unset_voutput_commit(voutput_info->voutput); + voutput_info->request_commit = 0; + } + if (voutput_info->attach_buffer) { tbm_surface_h buffer = voutput_info->attach_buffer->buffer; tbm_surface_internal_unref(buffer); voutput_info->committing = 0; voutput_info->attach_buffer = NULL; - } - - if (voutput_info->request_commit == 1) { - tdm_output_unset_voutput_commit(voutput_info->voutput); - voutput_info->request_commit = 0; + tdm_voutput_commit_done(voutput_info->voutput); } tdm_voutput_disconnect(voutput_info->voutput); @@ -1148,7 +1149,6 @@ _tdm_output_get_voutput_buffer(tdm_server_voutput_info *voutput_info, tbm_surfac LIST_FOR_EACH_ENTRY(vb, &voutput_info->buffer_list, link) { if (vb && vb->buffer == buffer) { - tbm_surface_internal_ref(vb->buffer); return vb; } } @@ -1206,6 +1206,7 @@ tdm_voutput_attach_buffer(tdm_voutput *voutput, tbm_surface_h buffer) voutput_info->attach_buffer = voutput_buffer; + tbm_surface_internal_ref(buffer); wl_tdm_voutput_send_attach_buffer(voutput_info->resource, voutput_buffer->wl_buffer); return TDM_ERROR_NONE;