vblank: check return value
[platform/core/uifw/libtdm.git] / src / tdm.c
index 6b796ea..be28ef5 100644 (file)
--- a/src/tdm.c
+++ b/src/tdm.c
@@ -860,7 +860,8 @@ _tdm_display_load_module_with_file(tdm_private_display *private_display,
 failed_load:
        if (bdata)
                module_data->deinit(bdata);
-       dlclose(module);
+       if (module)
+               dlclose(module);
        if (private_backend)
                free(private_backend);
        return ret;
@@ -1087,11 +1088,11 @@ tdm_display_init(tdm_error *error)
 failed_update:
        _tdm_display_unload_modules(private_display);
 failed_load:
+       tdm_vblank_deinit(private_display);
+failed_vblank:
        tdm_event_loop_stop(private_display);
        tdm_event_loop_deinit(private_display);
 failed_event:
-       tdm_vblank_deinit(private_display);
-failed_vblank:
        _pthread_mutex_unlock(&private_display->lock);
        pthread_mutex_destroy(&private_display->lock);
 failed_mutex_init: