}
EINTERN void
-e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
{
E_Drm_Output *output;
}
EINTERN void
-e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
{
E_Drm_Output *output;
output->pending_scanout_buffer = es->buffer;
output->pending_scanout_buffer->busy_count++;
- wl_list_insert(output->pending_scanout_buffer->resource.destroy_listener_list.prev,
- &output->pending_scanout_buffer_destroy_listener.link);
+ wl_signal_add(&output->pending_scanout_buffer->resource.destroy_signal,
+ &output->pending_scanout_buffer_destroy_listener);
pixman_region32_fini(&es->damage);
pixman_region32_init(&es->damage);
s->sh = (box->y2 - box->y1) << 16;
pixman_region32_fini(&srect);
- wl_list_insert(es->buffer->resource.destroy_listener_list.prev,
- &s->pending_destroy_listener.link);
+ wl_signal_add(&es->buffer->resource.destroy_signal,
+ &s->pending_destroy_listener);
return 0;
}
{
doutput->scanout_buffer = doutput->pending_scanout_buffer;
wl_list_remove(&doutput->pending_scanout_buffer_destroy_listener.link);
- wl_list_insert(doutput->scanout_buffer->resource.destroy_listener_list.prev,
- &doutput->scanout_buffer_destroy_listener.link);
+ wl_signal_add(&doutput->scanout_buffer->resource.destroy_signal,
+ &doutput->scanout_buffer_destroy_listener);
doutput->pending_scanout_buffer = NULL;
doutput->fs_surf_fb_id = doutput->pending_fs_surf_fb_id;
doutput->pending_fs_surf_fb_id = 0;
if (es->pending_surface)
{
wl_list_remove(&es->pending_destroy_listener.link);
- wl_list_insert(es->pending_surface->buffer->resource.destroy_listener_list.prev,
- &es->destroy_listener.link);
+ wl_signal_add(&es->pending_surface->buffer->resource.destroy_signal,
+ &es->destroy_listener);
es->surface = es->pending_surface;
es->pending_surface = NULL;
es->fb_id = es->pending_fb_id;
wl_list_insert(dcomp->base.outputs.prev, &output->base.link);
- output->scanout_buffer_destroy_listener.func =
+ output->scanout_buffer_destroy_listener.notify =
e_drm_output_scanout_buffer_destroy;
- output->pending_scanout_buffer_destroy_listener.func =
+ output->pending_scanout_buffer_destroy_listener.notify =
e_drm_output_pending_scanout_buffer_destroy;
output->pending_fs_surf_fb_id = 0;
EINTERN int e_drm_output_subpixel_convert(int value);
EINTERN Eina_Bool e_drm_output_add_mode(E_Drm_Output *output, drmModeModeInfo *info);
EINTERN void e_drm_output_set_modes(E_Drm_Compositor *dcomp);
-EINTERN void e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
-EINTERN void e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
+EINTERN void e_drm_output_scanout_buffer_destroy(struct wl_listener *listener, void *data);
+EINTERN void e_drm_output_pending_scanout_buffer_destroy(struct wl_listener *listener, void *data);
EINTERN void e_drm_output_repaint(E_Output *base, pixman_region32_t *damage);
EINTERN void e_drm_output_destroy(E_Output *base);
EINTERN void e_drm_output_assign_planes(E_Output *base);
#include "e_mod_main.h"
/* local function prototypes */
-static void _e_sprite_cb_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
-static void _e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__);
+static void _e_sprite_cb_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__);
+static void _e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__);
/* local variables */
/* wayland interfaces */
es->pending_surface = NULL;
es->fb_id = 0;
es->pending_fb_id = 0;
- es->destroy_listener.func = _e_sprite_cb_buffer_destroy;
- es->pending_destroy_listener.func = _e_sprite_cb_pending_buffer_destroy;
+ es->destroy_listener.notify = _e_sprite_cb_buffer_destroy;
+ es->pending_destroy_listener.notify = _e_sprite_cb_pending_buffer_destroy;
es->format_count = plane->count_formats;
memcpy(es->formats, plane->formats,
plane->count_formats * sizeof(plane->formats[0]));
/* local functions */
static void
-_e_sprite_cb_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+_e_sprite_cb_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
{
E_Sprite *es;
}
static void
-_e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, unsigned int timestamp __UNUSED__)
+_e_sprite_cb_pending_buffer_destroy(struct wl_listener *listener, void *data __UNUSED__)
{
E_Sprite *es;