diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 059d96b4c0..7e458e1456 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -501,13 +501,6 @@ _ecore_evas_drm_init(const char *device) goto sprite_err; } - /* try to create inputs */ - if (!ecore_drm_inputs_create(dev)) - { - ERR("Could not create inputs: %m"); - goto input_err; - } - /* try to create outputs */ if (!ecore_drm_outputs_create(dev)) { @@ -515,6 +508,13 @@ _ecore_evas_drm_init(const char *device) goto output_err; } + /* try to create inputs */ + if (!ecore_drm_inputs_create(dev)) + { + ERR("Could not create inputs: %m"); + goto input_err; + } + ecore_event_evas_init(); return _ecore_evas_init_count; @@ -539,8 +539,8 @@ _ecore_evas_drm_shutdown(void) { if (--_ecore_evas_init_count != 0) return _ecore_evas_init_count; - /* NB: No need to free outputs here. Is done in device free */ ecore_drm_inputs_destroy(dev); + /* NB: No need to free outputs here. Is done in device free */ ecore_drm_sprites_destroy(dev); ecore_drm_device_close(dev); ecore_drm_device_free(dev);