diff --git a/src/wayland/dispatcher.rs b/src/wayland/dispatcher.rs index d5865be..a8ac25f 100644 --- a/src/wayland/dispatcher.rs +++ b/src/wayland/dispatcher.rs @@ -117,13 +117,20 @@ impl Dispatcher { } impl Dispatch for Dispatcher { - fn event(_ctx: &mut Dispatcher, + fn event(ctx: &mut Dispatcher, _buf: &wl_buffer::WlBuffer, - _evt: ::Event, - _data: &u32, + evt: ::Event, + data: &u32, _conn: &Connection, _qh: &QueueHandle) { + match evt { + wl_buffer::Event::Release => { + let mut gfx = ctx.gfx.lock().unwrap(); + gfx.display_mut().release(*data); + }, + _ => eprintln!("warn: unknown wl_buffer event emitted"), + } } }