From: Daniel Wagner <[email protected]>

---
 plugins/session_policy_ivi.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/plugins/session_policy_ivi.c b/plugins/session_policy_ivi.c
index c11067e..2c30b05 100644
--- a/plugins/session_policy_ivi.c
+++ b/plugins/session_policy_ivi.c
@@ -27,10 +27,15 @@
 
 #include <glib.h>
 
+#include <gdbus.h>
+
 #define CONNMAN_API_SUBJECT_TO_CHANGE
 #include <connman/plugin.h>
 #include <connman/log.h>
 #include <connman/session.h>
+#include <connman/dbus.h>
+
+static DBusConnection *connection;
 
 static int policy_ivi_create(struct connman_session *session,
                                connman_session_config_cb callback,
@@ -57,16 +62,27 @@ static int session_policy_ivi_init(void)
 {
        int err;
 
+       connection = connman_dbus_get_connection();
+       if (connection == NULL)
+               return -EIO;
+
        err = connman_session_policy_register(&session_policy_ivi);
        if (err < 0)
-               return err;
+               goto err;
 
        return 0;
+
+err:
+       dbus_connection_unref(connection);
+
+       return err;
 }
 
 static void session_policy_ivi_exit(void)
 {
        connman_session_policy_unregister(&session_policy_ivi);
+
+       dbus_connection_unref(connection);
 }
 
 CONNMAN_PLUGIN_DEFINE(session_policy_ivi,
-- 
1.7.12.1.382.gb0576a6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to