Changes in protocols/jabber/conference.c [49108f3:9698fc0]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/jabber/conference.c
r49108f3 r9698fc0 167 167 jabber_buddy_remove_bare(c->ic, jc->name); 168 168 169 g_free(jc->last_sent_message);170 169 g_free(jc->my_full_jid); 171 170 g_free(jc->name); … … 188 187 189 188 jabber_cache_add(ic, node, jabber_chat_self_message); 190 191 g_free(jc->last_sent_message);192 jc->last_sent_message = g_strdup(message);193 189 194 190 return !jabber_write_packet(ic, node); … … 329 325 } 330 326 bud->flags |= JBFLAG_IS_ANONYMOUS; 331 } else if (bud == jc->me) {332 g_free(bud->ext_jid);333 bud->ext_jid = g_strdup(jd->me);334 327 } 335 328 … … 354 347 } 355 348 356 imcb_chat_add_buddy(chat, bud->ext_jid);357 358 349 if (bud != jc->me && (jc->flags & JCFLAG_ALWAYS_USE_NICKS) && !(bud->flags & JBFLAG_IS_ANONYMOUS)) { 359 350 imcb_buddy_nick_change(ic, bud->ext_jid, bud->resource); 360 351 } 361 352 353 imcb_chat_add_buddy(chat, bud->ext_jid); 362 354 if (s) { 363 355 *s = '/'; … … 502 494 imcb_chat_log(chat, "From conference server: %s", body->text); 503 495 return; 504 } else if (jc && jc->flags & JCFLAG_MESSAGE_SENT && bud == jc->me) { 505 if (jabber_cache_handle_packet(ic, node) == XT_ABORT) { 506 /* Self message marked by this bitlbee, don't show it */ 507 return; 508 } else if (xt_find_attr(node, "id") == NULL && 509 g_strcmp0(body->text, jc->last_sent_message) == 0) { 510 /* Some misbehaving servers (like slack) eat the ids and echo anyway. 511 * Try to detect those cases by comparing against the last sent message. */ 512 return; 513 } 496 } else if (jc && jc->flags & JCFLAG_MESSAGE_SENT && bud == jc->me && 497 (jabber_cache_handle_packet(ic, node) == XT_ABORT)) { 498 /* Self message marked by this bitlbee, don't show it */ 499 return; 514 500 } 515 501
Note: See TracChangeset
for help on using the changeset viewer.