diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c index f3d612651..0e45ff703 100644 --- a/compositor/compositor-drm.c +++ b/compositor/compositor-drm.c @@ -826,8 +826,6 @@ drm_compositor_create(struct wl_display *display, udev_device_unref(device); } - udev_enumerate_unref(e); - if (drm_device == NULL) { fprintf(stderr, "no drm device found\n"); return NULL; @@ -858,6 +856,9 @@ drm_compositor_create(struct wl_display *display, return NULL; } + udev_enumerate_unref(e); + path = NULL; + evdev_input_add_devices(&ec->base, ec->udev, seat); loop = wl_display_get_event_loop(ec->base.wl_display);