ecore-drm: Added cleanup data code as a error handling of connect logind.
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 10 Dec 2014 13:00:17 +0000 (08:00 -0500)
committerChris Michael <cp.michael@samsung.com>
Wed, 10 Dec 2014 13:00:23 +0000 (08:00 -0500)
Summary: need to clean also dbus, when failed open VT as a connection progress of logind.

@fix

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1756

src/lib/ecore_drm/ecore_drm_logind.c

index c22f113..30db412 100644 (file)
@@ -254,18 +254,18 @@ _ecore_drm_logind_connect(Ecore_Drm_Device *dev)
 
    /* try to init dbus */
    if (!_ecore_drm_dbus_init(sid))
-     {
-        free(sid);
-        return EINA_FALSE;
-     }
+     goto dbus_err;
 
    if (!_ecore_drm_logind_vt_open(dev, NULL))
-     {
-        free(sid);
-        return EINA_FALSE;
-     }
+     goto vt_err;
 
    return EINA_TRUE;
+
+vt_err:
+   _ecore_drm_dbus_shutdown();
+dbus_err:
+   free(sid);
+   return EINA_FALSE;
 }
 
 void