From: Daniel Wagner <[email protected]>

---
 src/session.c |   38 ++++++--------------------------------
 1 files changed, 6 insertions(+), 32 deletions(-)

diff --git a/src/session.c b/src/session.c
index caace08..5898891 100644
--- a/src/session.c
+++ b/src/session.c
@@ -730,18 +730,6 @@ static void update_info(struct session_info *info)
        }
 }
 
-static void notify_service_changes(struct connman_session *session)
-{
-       struct session_info *info = &session->info;
-       struct session_info *info_last = &session->info_last;
-
-       if (info->service == info_last->service)
-               return;
-
-       update_info(info);
-       session->info_dirty = TRUE;
-}
-
 static void select_and_connect(struct connman_session *session,
                                connman_bool_t do_connect)
 {
@@ -782,14 +770,13 @@ static void select_and_connect(struct connman_session 
*session,
                if (do_connect == TRUE)
                        __connman_service_connect(info->service);
        }
-
-       notify_service_changes(session);
 }
 
 static void session_changed(struct connman_session *session,
                                enum connman_session_trigger trigger)
 {
        struct session_info *info = &session->info;
+       struct session_info *info_last = &session->info_last;
        GSequenceIter *iter;
 
        /*
@@ -815,8 +802,6 @@ static void session_changed(struct connman_session *session,
                                __connman_service_disconnect(info->service);
                                info->service = NULL;
                        }
-
-                       notify_service_changes(session);
                }
 
                /* Try to free ride */
@@ -839,7 +824,6 @@ static void session_changed(struct connman_session *session,
                        __connman_service_disconnect(info->service);
 
                info->service = NULL;
-               notify_service_changes(session);
 
                break;
        case CONNMAN_SESSION_TRIGGER_PERIODIC:
@@ -865,25 +849,15 @@ static void session_changed(struct connman_session 
*session,
                if (info->online == FALSE && info->service != NULL)
                        info->service = NULL;
 
-               notify_service_changes(session);
-
                break;
        }
 
-       switch (trigger) {
-       case CONNMAN_SESSION_TRIGGER_UNKNOWN:
-               break;
-       case CONNMAN_SESSION_TRIGGER_CONNECT:
-       case CONNMAN_SESSION_TRIGGER_DISCONNECT:
-       case CONNMAN_SESSION_TRIGGER_ECALL:
-               g_timeout_add_seconds(0, session_notify, session);
-               break;
-       case CONNMAN_SESSION_TRIGGER_SETTING:
-       case CONNMAN_SESSION_TRIGGER_PERIODIC:
-       case CONNMAN_SESSION_TRIGGER_SERVICE:
-               session_notify(session);
-               break;
+       if (info->service != info_last->service) {
+               update_info(info);
+               session->info_dirty = TRUE;
        }
+
+       session_notify(session);
 }
 
 static DBusMessage *connect_session(DBusConnection *conn,
-- 
1.7.4.4

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

Reply via email to