}
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);
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)
{
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);
else
_e_tz_screenmirror_dump_still(buffer);
- _e_tz_screenmirror_buffer_dequeue(buffer);
+ _e_tz_screenmirror_buffer_free(buffer);
_e_tz_screenmirror_destroy(mirror);
}