On Thu, Apr 26, 2018 at 05:01:24PM +0200, [email protected] wrote: > From: Markus Ongyerth <[email protected]> > > Fixes a memory leak by calling wl_keyboard_destroy on a any keyboard > that was used to listen for events. > > Signed-off-by: Markus Ongyerth <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > --- > clients/weston-info.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/clients/weston-info.c b/clients/weston-info.c > index d1bdcbde..3dfea7d8 100644 > --- a/clients/weston-info.c > +++ b/clients/weston-info.c > @@ -118,6 +118,7 @@ struct seat_info { > struct wl_seat *seat; > struct weston_info *info; > > + struct wl_keyboard *keyboard; > uint32_t capabilities; > char *name; > > @@ -498,10 +499,8 @@ seat_handle_capabilities(void *data, struct wl_seat > *wl_seat, > return; > > if (caps & WL_SEAT_CAPABILITY_KEYBOARD) { > - struct wl_keyboard *keyboard; > - > - keyboard = wl_seat_get_keyboard(seat->seat); > - wl_keyboard_add_listener(keyboard, &keyboard_listener, > + seat->keyboard = wl_seat_get_keyboard(seat->seat); > + wl_keyboard_add_listener(seat->keyboard, &keyboard_listener, > seat); > > seat->info->roundtrip_needed = true; > @@ -531,6 +530,9 @@ destroy_seat_info(void *data) > if (seat->name != NULL) > free(seat->name); > > + if (seat->keyboard) > + wl_keyboard_destroy(seat->keyboard); > + > wl_list_remove(&seat->global_link); > } > > -- > 2.17.0 > > _______________________________________________ > wayland-devel mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/wayland-devel > _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
