aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-03-02 11:46:27 -0600
committerTed Gould <ted@gould.cx>2010-03-02 11:46:27 -0600
commit206f1003cad828ca2465088ea3fbf73b1a6a4c97 (patch)
tree4f45c8e429809357afd6077421c1745f76dcb680 /src
parent86a394ae84f4c09c0bfc7b7136bcc7e88ca04bc5 (diff)
downloadayatana-indicator-session-206f1003cad828ca2465088ea3fbf73b1a6a4c97.tar.gz
ayatana-indicator-session-206f1003cad828ca2465088ea3fbf73b1a6a4c97.tar.bz2
ayatana-indicator-session-206f1003cad828ca2465088ea3fbf73b1a6a4c97.zip
Making it so that users is not a global and just grabbed everytime and used.
Diffstat (limited to 'src')
-rw-r--r--src/session-service.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/session-service.c b/src/session-service.c
index a2760d1..eeb88a9 100644
--- a/src/session-service.c
+++ b/src/session-service.c
@@ -69,7 +69,6 @@ static DbusmenuMenuitem *lock_menuitem = NULL;
static DbusmenuMenuitem *switch_menuitem = NULL;
static gint count;
-static GList *users;
static DbusmenuMenuitem * root_menuitem = NULL;
static GMainLoop * mainloop = NULL;
@@ -472,22 +471,11 @@ rebuild_items (DbusmenuMenuitem *root,
}
}
+ GList * users = NULL;
+ users = users_service_dbus_get_user_list (service);
+
if (count > MINIMUM_USERS && count < MAXIMUM_USERS)
{
- if (users != NULL)
- {
- GList *l = NULL;
-
- for (l = users; l != NULL; l = l->next)
- {
- users = g_list_delete_link (users, l);
- }
-
- users = NULL;
- }
-
- users = users_service_dbus_get_user_list (service);
-
users = g_list_sort (users, (GCompareFunc)compare_users_by_username);
for (u = users; u != NULL; u = g_list_next (u))
@@ -509,6 +497,8 @@ rebuild_items (DbusmenuMenuitem *root,
g_signal_connect (G_OBJECT (mi), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK (activate_user_session), user);
}
}
+
+ g_list_free(users);
}
DbusmenuMenuitem * separator = dbusmenu_menuitem_new();