pidgin/gtkconv.c

changeset 33670
59583b8ffa59
parent 33623
6a273f0b403e
child 33671
441740e869b2
equal deleted inserted replaced
33668:5dd62e11acf7 33670:59583b8ffa59
3314 if (!purple_account_is_connected(account)) 3314 if (!purple_account_is_connected(account))
3315 return FALSE; 3315 return FALSE;
3316 3316
3317 buddy = purple_find_buddy(account, purple_conversation_get_name(conv)); 3317 buddy = purple_find_buddy(account, purple_conversation_get_name(conv));
3318 3318
3319 /* gotta remain bug-compatible :( libpurple < 2.0.2 didn't handle 3319 if ((buddy == NULL) && (gtkconv->webview != NULL)) {
3320 * removing "isolated" buddy nodes well */ 3320 buddy = g_object_get_data(G_OBJECT(gtkconv->webview), "transient_buddy");
3321 if (purple_version_check(2, 0, 2) == NULL) { 3321 }
3322 if ((buddy == NULL) && (gtkconv->webview != NULL)) { 3322
3323 buddy = g_object_get_data(G_OBJECT(gtkconv->webview), "transient_buddy"); 3323 if ((buddy == NULL) && (gtkconv->webview != NULL)) {
3324 } 3324 buddy = purple_buddy_new(account, purple_conversation_get_name(conv), NULL);
3325 3325 purple_blist_node_set_flags((PurpleBlistNode *)buddy,
3326 if ((buddy == NULL) && (gtkconv->webview != NULL)) { 3326 PURPLE_BLIST_NODE_FLAG_NO_SAVE);
3327 buddy = purple_buddy_new(account, purple_conversation_get_name(conv), NULL); 3327 g_object_set_data_full(G_OBJECT(gtkconv->webview), "transient_buddy",
3328 purple_blist_node_set_flags((PurpleBlistNode *)buddy, 3328 buddy, (GDestroyNotify)purple_buddy_destroy);
3329 PURPLE_BLIST_NODE_FLAG_NO_SAVE);
3330 g_object_set_data_full(G_OBJECT(gtkconv->webview), "transient_buddy",
3331 buddy, (GDestroyNotify)purple_buddy_destroy);
3332 }
3333 } 3329 }
3334 } 3330 }
3335 3331
3336 if (chat) 3332 if (chat)
3337 node = (PurpleBlistNode *)chat; 3333 node = (PurpleBlistNode *)chat;

mercurial