user-accounts: correctly selects the newly-created user
don't compare pointers, as they can be different, given they can come from different sources. compare their UID's. https://bugzilla.gnome.org/show_bug.cgi?id=704426
This commit is contained in:
parent
6f02cc8244
commit
f438da7c3b
1 changed files with 11 additions and 8 deletions
|
@ -351,6 +351,7 @@ select_created_user (GObject *object,
|
||||||
ActUser *current;
|
ActUser *current;
|
||||||
GtkTreePath *path;
|
GtkTreePath *path;
|
||||||
ActUser *user;
|
ActUser *user;
|
||||||
|
uid_t user_uid;
|
||||||
|
|
||||||
dialog = UM_ACCOUNT_DIALOG (object);
|
dialog = UM_ACCOUNT_DIALOG (object);
|
||||||
user = um_account_dialog_finish (dialog, result);
|
user = um_account_dialog_finish (dialog, result);
|
||||||
|
@ -363,20 +364,22 @@ select_created_user (GObject *object,
|
||||||
tv = (GtkTreeView *)get_widget (d, "list-treeview");
|
tv = (GtkTreeView *)get_widget (d, "list-treeview");
|
||||||
model = gtk_tree_view_get_model (tv);
|
model = gtk_tree_view_get_model (tv);
|
||||||
selection = gtk_tree_view_get_selection (tv);
|
selection = gtk_tree_view_get_selection (tv);
|
||||||
|
user_uid = act_user_get_uid (user);
|
||||||
|
|
||||||
gtk_tree_model_get_iter_first (model, &iter);
|
gtk_tree_model_get_iter_first (model, &iter);
|
||||||
do {
|
do {
|
||||||
gtk_tree_model_get (model, &iter, USER_COL, ¤t, -1);
|
gtk_tree_model_get (model, &iter, USER_COL, ¤t, -1);
|
||||||
if (user == current) {
|
if (current) {
|
||||||
path = gtk_tree_model_get_path (model, &iter);
|
if (user_uid == act_user_get_uid (current)) {
|
||||||
gtk_tree_view_scroll_to_cell (tv, path, NULL, FALSE, 0.0, 0.0);
|
path = gtk_tree_model_get_path (model, &iter);
|
||||||
gtk_tree_selection_select_path (selection, path);
|
gtk_tree_view_scroll_to_cell (tv, path, NULL, FALSE, 0.0, 0.0);
|
||||||
gtk_tree_path_free (path);
|
gtk_tree_selection_select_path (selection, path);
|
||||||
|
gtk_tree_path_free (path);
|
||||||
|
g_object_unref (current);
|
||||||
|
break;
|
||||||
|
}
|
||||||
g_object_unref (current);
|
g_object_unref (current);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
if (current)
|
|
||||||
g_object_unref (current);
|
|
||||||
} while (gtk_tree_model_iter_next (model, &iter));
|
} while (gtk_tree_model_iter_next (model, &iter));
|
||||||
|
|
||||||
g_object_unref (user);
|
g_object_unref (user);
|
||||||
|
|
Loading…
Add table
Reference in a new issue