summaryrefslogtreecommitdiff
path: root/liblightdm-qt
diff options
context:
space:
mode:
authorDavid Edmundson <david@davidedmundson.co.uk>2011-11-22 17:49:21 +0000
committerDavid Edmundson <david@davidedmundson.co.uk>2011-11-22 17:49:21 +0000
commit94733bc2b6cd0d0a2320e615323607c80bdb0c2c (patch)
treea1d19dc2e2346566c6f4882cccdfe4e566ab9c30 /liblightdm-qt
parenta81e7fe26229a5922771915d66cda404944bf1cc (diff)
downloadlightdm-94733bc2b6cd0d0a2320e615323607c80bdb0c2c.tar.gz
Fix crash in usersmodel
Diffstat (limited to 'liblightdm-qt')
-rw-r--r--liblightdm-qt/usersmodel.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/liblightdm-qt/usersmodel.cpp b/liblightdm-qt/usersmodel.cpp
index a3487302..a23c1cac 100644
--- a/liblightdm-qt/usersmodel.cpp
+++ b/liblightdm-qt/usersmodel.cpp
@@ -62,11 +62,6 @@ UsersModelPrivate::UsersModelPrivate(UsersModel* parent) :
q_ptr(parent)
{
g_type_init();
- loadUsers();
- g_signal_connect(lightdm_user_list_get_instance(), "user-added", G_CALLBACK (cb_userAdded), this);
- g_signal_connect(lightdm_user_list_get_instance(), "user-changed", G_CALLBACK (cb_userChanged), this);
- g_signal_connect(lightdm_user_list_get_instance(), "user-removed", G_CALLBACK (cb_userRemoved), this);
-
}
void UsersModelPrivate::loadUsers()
@@ -96,6 +91,10 @@ void UsersModelPrivate::loadUsers()
q->endInsertRows();
}
+ g_signal_connect(lightdm_user_list_get_instance(), "user-added", G_CALLBACK (cb_userAdded), this);
+ g_signal_connect(lightdm_user_list_get_instance(), "user-changed", G_CALLBACK (cb_userChanged), this);
+ g_signal_connect(lightdm_user_list_get_instance(), "user-removed", G_CALLBACK (cb_userRemoved), this);
+
}
void UsersModelPrivate::cb_userAdded(LightDMUserList *user_list, LightDMUser *ldmUser, gpointer data)
@@ -103,7 +102,7 @@ void UsersModelPrivate::cb_userAdded(LightDMUserList *user_list, LightDMUser *ld
Q_UNUSED(user_list)
UsersModelPrivate *that = static_cast<UsersModelPrivate*>(data);
- that->q_ptr->beginInsertRows(QModelIndex(), that->users.size(), that->users.size());
+ that->q_func()->beginInsertRows(QModelIndex(), that->users.size(), that->users.size());
UserItem user;
user.name = QString::fromLocal8Bit(lightdm_user_get_name(ldmUser));
@@ -113,7 +112,7 @@ void UsersModelPrivate::cb_userAdded(LightDMUserList *user_list, LightDMUser *ld
user.isLoggedIn = lightdm_user_get_logged_in(ldmUser);
that->users.append(user);
- that->q_ptr->endRemoveRows();
+ that->q_func()->endInsertRows();
}
@@ -162,6 +161,8 @@ UsersModel::UsersModel(QObject *parent) :
QAbstractListModel(parent),
d_ptr(new UsersModelPrivate(this))
{
+ Q_D(UsersModel);
+ d->loadUsers();
}