--- a/finch/gntblist.c Thu Jun 17 23:39:39 2021 -0500
+++ b/finch/gntblist.c Thu Jun 17 23:40:07 2021 -0500
@@ -613,11 +613,13 @@
join_chat(PurpleChat *chat)
PurpleAccount *account = purple_chat_get_account(chat);
+ PurpleConversationManager *manager; PurpleConversation *conv;
name = purple_chat_get_name_only(chat);
- conv = purple_conversations_find_chat_with_account(name, account);
+ manager = purple_conversation_manager_get_default(); + conv = purple_conversation_manager_find_chat(manager, account, name); if (!conv || purple_chat_conversation_has_left(PURPLE_CHAT_CONVERSATION(conv))) {
purple_serv_join_chat(purple_account_get_connection(account),
@@ -919,11 +921,16 @@
PurpleBuddy *buddy = (PurpleBuddy *)node;
- im = purple_conversations_find_im_with_account(purple_buddy_get_name(buddy),
- purple_buddy_get_account(buddy));
- im = purple_im_conversation_new(purple_buddy_get_account(buddy),
- purple_buddy_get_name(buddy));
+ PurpleConversationManager *manager; + manager = purple_conversation_manager_get_default(); + im = purple_conversation_manager_find_im(manager, + purple_buddy_get_account(buddy), + purple_buddy_get_name(buddy)); + if(!PURPLE_IS_IM_CONVERSATION(im)) { + im = purple_im_conversation_new(purple_buddy_get_account(buddy), + purple_buddy_get_name(buddy)); FinchConv *ggconv = FINCH_CONV(im);
gnt_window_present(ggconv->window);
@@ -2659,6 +2666,7 @@
+ PurpleConversationManager *manager; PurpleConversation *conv;
@@ -2670,10 +2678,13 @@
gc = purple_account_get_connection(account);
+ manager = purple_conversation_manager_get_default(); /* Create a new conversation now. This will give focus to the new window.
* But it's necessary to pretend that we left the chat, because otherwise
* a new conversation window will pop up when we finally join the chat. */
- if (!(conv = purple_conversations_find_chat_with_account(name, account))) {
+ conv = purple_conversation_manager_find_chat(manager, account, name); + if(!PURPLE_IS_CHAT_CONVERSATION(conv)) { conv = purple_chat_conversation_new(account, name);
purple_chat_conversation_leave(PURPLE_CHAT_CONVERSATION(conv));
--- a/finch/gntconv.c Thu Jun 17 23:39:39 2021 -0500
+++ b/finch/gntconv.c Thu Jun 17 23:40:07 2021 -0500
@@ -197,19 +197,39 @@
PurpleBuddy *buddy = purple_blist_find_buddy(account, name);
+ PurpleContact *contact; PurpleConversation *im = NULL;
+ if(!PURPLE_IS_BUDDY(buddy)) { + contact = purple_buddy_get_contact(buddy); + node = purple_blist_node_get_first_child(PURPLE_BLIST_NODE(contact)); + PurpleConversationManager *manager; + if(node == PURPLE_BLIST_NODE(buddy)) { - for (node = purple_blist_node_get_first_child(purple_blist_node_get_parent((PurpleBlistNode*)buddy));
- node; node = purple_blist_node_get_sibling_next(node)) {
- if (node == (PurpleBlistNode*)buddy)
- if ((im = purple_conversations_find_im_with_account(
- purple_buddy_get_name((PurpleBuddy*)node), purple_buddy_get_account((PurpleBuddy*)node))) != NULL)
+ cbuddy = PURPLE_BUDDY(node); + manager = purple_conversation_manager_get_default(); + im = purple_conversation_manager_find_im(manager, + purple_buddy_get_account(cbuddy), + purple_buddy_get_name(cbuddy)); + if(PURPLE_IS_IM_CONVERSATION(im)) { @@ -227,13 +247,16 @@
PurpleConversation *conv;
+ PurpleConversationManager *manager; PurpleIMConversation *im;
- conv = purple_conversations_find_im_with_account(who, account);
+ manager = purple_conversation_manager_get_default(); + conv = purple_conversation_manager_find_im(manager, account, who);
im = PURPLE_IM_CONVERSATION(conv);
@@ -281,9 +304,11 @@
account_signed_on_off(PurpleConnection *gc, gpointer null)
+ PurpleConversationManager *manager; - list = purple_conversations_get_all();
+ manager = purple_conversation_manager_get_default(); + list = purple_conversation_manager_get_all(manager); for(l = list; l != NULL; l = l->next) {
PurpleConversation *conv = NULL;
@@ -349,9 +374,13 @@
account_signing_off(PurpleConnection *gc)
- GList *list = purple_conversations_get_all();
+ PurpleConversationManager *manager; PurpleAccount *account = purple_connection_get_account(gc);
+ manager = purple_conversation_manager_get_default(); + list = purple_conversation_manager_get_all(manager); /* We are about to sign off. See which chats we are currently in, and mark
* them for rejoin on reconnect. */
--- a/finch/plugins/gnttinyurl.c Thu Jun 17 23:39:39 2021 -0500
+++ b/finch/plugins/gnttinyurl.c Thu Jun 17 23:40:07 2021 -0500
@@ -199,9 +199,13 @@
CbInfo *data = (CbInfo *)_data;
PurpleConversation *conv = data->conv;
- GList *convs = purple_conversations_get_all();
+ PurpleConversationManager *manager; + manager = purple_conversation_manager_get_default(); + convs = purple_conversation_manager_get_all(manager); if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
url = msg->response_body->data;
g_hash_table_insert(tinyurl_cache, data->original_url, g_strdup(url));