add _e_tz_screenmirror_buffer_free function for buffer release 61/84161/1 accepted/tizen/common/20160817.132951 accepted/tizen/ivi/20160817.231109 accepted/tizen/mobile/20160817.231034 accepted/tizen/tv/20160817.231045 accepted/tizen/wearable/20160817.230946 submit/tizen/20160817.040540
authorJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 17 Aug 2016 04:50:04 +0000 (13:50 +0900)
committerJunkyeong Kim <jk0430.kim@samsung.com>
Wed, 17 Aug 2016 04:50:09 +0000 (13:50 +0900)
Change-Id: I13c2d4f217bfa7bed9c0630fb0049c34af2a0c99
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/e_devicemgr_screenshooter.c

index f7b1105f381e4f8765f18fb41e5dd6051abe75a4..d490d206e82cc47222da7b21fbff7fb0c804f3d4 100644 (file)
@@ -507,17 +507,10 @@ _e_tz_screenmirror_buffer_dequeue(E_Mirror_Buffer *buffer)
 }
 
 static void
-_e_tz_screenmirror_buffer_cb_destroy(struct wl_listener *listener, void *data)
+_e_tz_screenmirror_buffer_free(E_Mirror_Buffer *buffer)
 {
-   E_Mirror_Buffer *buffer = container_of(listener, E_Mirror_Buffer, destroy_listener);
    E_Mirror *mirror = buffer->mirror;
 
-   if (buffer->in_use)
-     NEVER_GET_HERE();
-
-   if (mirror != keep_mirror)
-     return;
-
    /* then, dequeue and send dequeue event */
    _e_tz_screenmirror_buffer_dequeue(buffer);
 
@@ -530,6 +523,14 @@ _e_tz_screenmirror_buffer_cb_destroy(struct wl_listener *listener, void *data)
    E_FREE(buffer);
 }
 
+static void
+_e_tz_screenmirror_buffer_cb_destroy(struct wl_listener *listener, void *data)
+{
+   E_Mirror_Buffer *buffer = container_of(listener, E_Mirror_Buffer, destroy_listener);
+
+   _e_tz_screenmirror_buffer_free(buffer);
+}
+
 static E_Mirror_Buffer*
 _e_tz_screenmirror_buffer_get(E_Mirror *mirror, struct wl_resource *resource)
 {
@@ -729,7 +730,7 @@ _e_tz_screenmirror_destroy(E_Mirror *mirror)
    EINA_LIST_FREE(mirror->buffer_clear_check, mbuf);
 
    EINA_LIST_FOREACH_SAFE(mirror->buffer_queue, l, ll, buffer)
-     _e_tz_screenmirror_buffer_dequeue(buffer);
+     _e_tz_screenmirror_buffer_free(buffer);
 
    EINA_LIST_FOREACH_SAFE(mirror->ui_buffer_list, l, ll, mbuf)
      e_devmgr_buffer_unref(mbuf);
@@ -954,7 +955,7 @@ _e_screenshooter_cb_shoot(struct wl_client *client,
    else
      _e_tz_screenmirror_dump_still(buffer);
 
-   _e_tz_screenmirror_buffer_dequeue(buffer);
+   _e_tz_screenmirror_buffer_free(buffer);
    _e_tz_screenmirror_destroy(mirror);
 }