From: Hyunho Kang Date: Wed, 16 Aug 2017 03:04:34 +0000 (+0900) Subject: Unref buffer before bind surface X-Git-Tag: submit/tizen_3.0/20170816.055230^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2008679a88c2593b8928b33243f72aae707e41b3;p=platform%2Fcore%2Fappfw%2Fscreen-connector.git Unref buffer before bind surface Buffer should be released before bind, if not watch window can not use one buffer which referenced by watch application Change-Id: I780e709776366e8a40a083c3c7fd08451cb4983e Signed-off-by: Hyunho Kang --- diff --git a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c index 9ce2c63..fdf095b 100644 --- a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c +++ b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c @@ -1283,6 +1283,7 @@ EXPORT_API int screen_connector_toolkit_evas_bind(screen_connector_toolkit_evas_ Ecore_Wl_Window *wl_win; viewer_visibility_h visibility_h; struct tizen_remote_surface *trs; + cur_buffer_info_h c_buf_info; if (!h) return -1; @@ -1313,6 +1314,17 @@ EXPORT_API int screen_connector_toolkit_evas_bind(screen_connector_toolkit_evas_ trs = screen_connector_toolkit_get_trs(h->toolkit_h); if (trs) tizen_remote_surface_transfer_touch_cancel(trs); + + if (h->cur_buffer) { + if (tizen_remote_surface_get_version(trs) + >= TIZEN_REMOTE_SURFACE_RELEASE_SINCE_VERSION) { + c_buf_info = g_hash_table_lookup( + __cur_buffer_table, h->cur_buffer); + if (c_buf_info != NULL) + __cur_buffer_info_unref(trs, c_buf_info); + } + } + return screen_connector_toolkit_bind(h->toolkit_h, surface); }