diff options
Diffstat (limited to 'src/modules/ecore_evas/engines/drm/ecore_evas_drm.c')
-rw-r--r-- | src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 9 |
1 files changed, 7 insertions, 2 deletions
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 7f18ecaa54..f25c52c611 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | |||
@@ -604,16 +604,21 @@ dev_err: | |||
604 | static int | 604 | static int |
605 | _ecore_evas_drm_shutdown(void) | 605 | _ecore_evas_drm_shutdown(void) |
606 | { | 606 | { |
607 | Ecore_Drm_Output *output; | ||
608 | |||
607 | if (--_ecore_evas_init_count != 0) return _ecore_evas_init_count; | 609 | if (--_ecore_evas_init_count != 0) return _ecore_evas_init_count; |
608 | 610 | ||
609 | ecore_drm_inputs_destroy(dev); | 611 | ecore_drm_inputs_destroy(dev); |
610 | /* NB: No need to free outputs here. Is done in device free */ | 612 | |
613 | EINA_LIST_FREE(dev->outputs, output) | ||
614 | ecore_drm_output_free(output); | ||
615 | |||
611 | ecore_drm_sprites_destroy(dev); | 616 | ecore_drm_sprites_destroy(dev); |
612 | ecore_drm_device_close(dev); | 617 | ecore_drm_device_close(dev); |
613 | ecore_drm_launcher_disconnect(dev); | 618 | ecore_drm_launcher_disconnect(dev); |
614 | ecore_drm_device_free(dev); | 619 | ecore_drm_device_free(dev); |
615 | dev = NULL; | ||
616 | ecore_drm_shutdown(); | 620 | ecore_drm_shutdown(); |
621 | dev = NULL; | ||
617 | 622 | ||
618 | ecore_event_evas_shutdown(); | 623 | ecore_event_evas_shutdown(); |
619 | 624 | ||