aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/drm/drm.c1
-rw-r--r--backend/libinput/backend.c1
-rw-r--r--examples/shared.c2
3 files changed, 4 insertions, 0 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 8062a478..04822040 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -104,6 +104,7 @@ static bool init_planes(struct wlr_backend_state *drm) {
drm->primary_planes = drm->overlay_planes + drm->num_overlay_planes;
drm->cursor_planes = drm->primary_planes + drm->num_primary_planes;
+ drmModeFreePlaneResources(plane_res);
return true;
error_planes:
diff --git a/backend/libinput/backend.c b/backend/libinput/backend.c
index 58bd62f2..42c1eac9 100644
--- a/backend/libinput/backend.c
+++ b/backend/libinput/backend.c
@@ -33,6 +33,7 @@ static int wlr_libinput_readable(int fd, uint32_t mask, void *_state) {
struct libinput_event *event;
while ((event = libinput_get_event(state->libinput))) {
wlr_libinput_event(state, event);
+ libinput_event_destroy(event);
}
return 0;
}
diff --git a/examples/shared.c b/examples/shared.c
index 0605dd72..0738a548 100644
--- a/examples/shared.c
+++ b/examples/shared.c
@@ -311,6 +311,8 @@ static void keyboard_remove(struct wlr_input_device *device, struct compositor_s
if (!kbstate) {
return;
}
+ xkb_state_unref(kbstate->xkb_state);
+ xkb_map_unref(kbstate->keymap);
wl_list_remove(&kbstate->link);
wl_list_remove(&kbstate->key.link);
free(kbstate);