diff options
Diffstat (limited to 'libpurple/purplerequestgroup.c')
-rw-r--r-- | libpurple/purplerequestgroup.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libpurple/purplerequestgroup.c b/libpurple/purplerequestgroup.c index ba3ed4d7a7..b1b0107199 100644 --- a/libpurple/purplerequestgroup.c +++ b/libpurple/purplerequestgroup.c @@ -69,10 +69,16 @@ purple_request_group_get_n_items(GListModel *model) { } static gpointer -purple_request_group_get_item(G_GNUC_UNUSED GListModel *model, guint index) { +purple_request_group_get_item(GListModel *model, guint index) { PurpleRequestGroup *group = PURPLE_REQUEST_GROUP(model); + PurpleRequestField *field = NULL; - return g_list_nth_data(group->fields, index); + field = g_list_nth_data(group->fields, index); + if(PURPLE_IS_REQUEST_FIELD(field)) { + g_object_ref(field); + } + + return field; } static void |