From: Daniel Wagner <[email protected]>
---
src/session.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/session.c b/src/session.c
index a381af4..235a49e 100644
--- a/src/session.c
+++ b/src/session.c
@@ -435,9 +435,6 @@ static int session_notify(struct connman_session *session)
DBusMessage *msg;
DBusMessageIter array, dict;
- if (session->info_dirty == FALSE)
- return 0;
-
DBG("session %p owner %s notify_path %s", session,
session->owner, session->notify_path);
@@ -774,7 +771,8 @@ static gboolean session_cb(gpointer user_data)
struct connman_session *session = user_data;
session_changed(session);
- session_notify(session);
+ if (session->info_dirty == TRUE)
+ session_notify(session);
return FALSE;
}
@@ -788,6 +786,7 @@ static DBusMessage *connect_session(DBusConnection *conn,
DBG("session %p", session);
info->connect = TRUE;
+ session->info_dirty = TRUE;
g_timeout_add_seconds(0, session_cb, session);
@@ -803,6 +802,7 @@ static DBusMessage *disconnect_session(DBusConnection *conn,
DBG("session %p", session);
info->connect = FALSE;
+ session->info_dirty = TRUE;
g_timeout_add_seconds(0, session_cb, session);
@@ -865,6 +865,7 @@ static void update_ecall(struct connman_session *session)
continue;
session_iter->info.ecall = info->ecall;
+ session_iter->info_dirty = TRUE;
g_timeout_add_seconds(0, session_cb, session_iter);
}
@@ -886,7 +887,6 @@ static DBusMessage *change_session(DBusConnection *conn,
DBusMessageIter iter, value;
const char *name;
GSList *allowed_bearers;
- int err;
DBG("session %p", session);
if (dbus_message_iter_init(msg, &iter) == FALSE)
@@ -981,9 +981,8 @@ static DBusMessage *change_session(DBusConnection *conn,
goto err;
}
- err = session_notify(session);
- if (err < 0)
- __connman_error_failed(msg, -err);
+ if (session->info_dirty == TRUE)
+ session_cb(session);
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
--
1.7.4.2
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman