--- a/libpurple/protocols/demo/purpledemoprotocolim.c Tue Jan 17 01:24:38 2023 -0600
+++ b/libpurple/protocols/demo/purpledemoprotocolim.c Tue Jan 17 01:41:05 2023 -0600
@@ -54,8 +54,6 @@
purple_message_get_contents(info->message), flags,
g_date_time_to_unix(timestamp));
- g_date_time_unref(timestamp);
--- a/pidgin/pidgincontactlist.c Tue Jan 17 01:24:38 2023 -0600
+++ b/pidgin/pidgincontactlist.c Tue Jan 17 01:41:05 2023 -0600
@@ -79,6 +79,40 @@
+pidgin_contact_list_activate_cb(GtkListView *self, guint position, + G_GNUC_UNUSED gpointer data) + PurpleAccount *account = NULL; + PurpleContactInfo *info = NULL; + PurpleConversation *conversation = NULL; + PurpleConversationManager *manager = NULL; + PurplePerson *person = NULL; + GtkSelectionModel *model = NULL; + const char *name = NULL; + model = gtk_list_view_get_model(self); + person = g_list_model_get_item(G_LIST_MODEL(model), position); + if(!PURPLE_IS_PERSON(person)) { + g_warning("we seem to have activated a zombie.. RUN!!!!!!"); + info = purple_person_get_priority_contact_info(person); + account = purple_contact_get_account(PURPLE_CONTACT(info)); + name = purple_contact_info_get_username(info); + manager = purple_conversation_manager_get_default(); + conversation = purple_conversation_manager_find_im(manager, account, name); + if(!PURPLE_IS_CONVERSATION(conversation)) { + conversation = purple_im_conversation_new(account, name); + purple_conversation_manager_register(manager, conversation); /******************************************************************************
*****************************************************************************/
@@ -110,6 +144,8 @@
gtk_widget_class_bind_template_callback(widget_class,
pidgin_contact_list_avatar_cb);
+ gtk_widget_class_bind_template_callback(widget_class, + pidgin_contact_list_activate_cb); /******************************************************************************
--- a/pidgin/resources/ContactList/widget.ui Tue Jan 17 01:24:38 2023 -0600
+++ b/pidgin/resources/ContactList/widget.ui Tue Jan 17 01:41:05 2023 -0600
@@ -70,6 +70,7 @@
+ <signal name="activate" handler="pidgin_contact_list_activate_cb" swapped="no"/>