comparison src/buddy.c @ 1098:b335c0ce305e

[gaim-migrate @ 1108] wow, this was a problem committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Thu, 16 Nov 2000 07:30:15 +0000
parents 40189d5443c0
children d7944415b1cc
comparison
equal deleted inserted replaced
1097:40189d5443c0 1098:b335c0ce305e
273 while (m) { 273 while (m) {
274 b = (struct buddy_show *)m->data; 274 b = (struct buddy_show *)m->data;
275 if ((g_slist_length(b->connlist) == 1) && (b->connlist->data == gc)) { 275 if ((g_slist_length(b->connlist) == 1) && (b->connlist->data == gc)) {
276 if (b->log_timer > 0) 276 if (b->log_timer > 0)
277 gtk_timeout_remove(b->log_timer); 277 gtk_timeout_remove(b->log_timer);
278 b->log_timer = -1; 278 b->log_timer = 0;
279 b->connlist = g_slist_remove(b->connlist, gc); 279 b->connlist = g_slist_remove(b->connlist, gc);
280 gtk_container_remove(GTK_CONTAINER(g->tree), b->item); 280 gtk_container_remove(GTK_CONTAINER(g->tree), b->item);
281 m = g->members = g_slist_remove(g->members, b); 281 m = g->members = g_slist_remove(g->members, b);
282 if ((g->members == NULL) && (display_options & OPT_DISP_NO_MT_GRP)) { 282 if ((g->members == NULL) && (display_options & OPT_DISP_NO_MT_GRP)) {
283 shows = g_slist_remove(shows, g); 283 shows = g_slist_remove(shows, g);
340 b = (struct buddy_show *)m->data; 340 b = (struct buddy_show *)m->data;
341 debug_printf("buddy_show still exists: %s\n", b->name); 341 debug_printf("buddy_show still exists: %s\n", b->name);
342 m = g_slist_remove(m, b); 342 m = g_slist_remove(m, b);
343 if (b->log_timer > 0) 343 if (b->log_timer > 0)
344 gtk_timeout_remove(b->log_timer); 344 gtk_timeout_remove(b->log_timer);
345 b->log_timer = -1; 345 b->log_timer = 0;
346 gtk_container_remove(GTK_CONTAINER(g->tree), b->item); 346 gtk_container_remove(GTK_CONTAINER(g->tree), b->item);
347 g_free(b->show); 347 g_free(b->show);
348 g_free(b->name); 348 g_free(b->name);
349 g_free(b); 349 g_free(b);
350 } 350 }
526 bs->connlist = g_slist_remove(bs->connlist, gc); 526 bs->connlist = g_slist_remove(bs->connlist, gc);
527 if (!g_slist_length(bs->connlist)) { 527 if (!g_slist_length(bs->connlist)) {
528 gs->members = g_slist_remove(gs->members, bs); 528 gs->members = g_slist_remove(gs->members, bs);
529 if (bs->log_timer > 0) 529 if (bs->log_timer > 0)
530 gtk_timeout_remove(bs->log_timer); 530 gtk_timeout_remove(bs->log_timer);
531 bs->log_timer = -1; 531 bs->log_timer = 0;
532 gtk_container_remove(GTK_CONTAINER(gs->tree), bs->item); 532 gtk_container_remove(GTK_CONTAINER(gs->tree), bs->item);
533 g_free(bs->show); 533 g_free(bs->show);
534 g_free(bs->name); 534 g_free(bs->name);
535 g_free(bs); 535 g_free(bs);
536 if (!g_slist_length(gs->members) && 536 if (!g_slist_length(gs->members) &&
1403 } 1403 }
1404 1404
1405 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name) { 1405 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name) {
1406 GSList *m = gs->members; 1406 GSList *m = gs->members;
1407 struct buddy_show *b = NULL; 1407 struct buddy_show *b = NULL;
1408 char *who = g_strdup(normalize(name));
1408 1409
1409 while (m) { 1410 while (m) {
1410 b = (struct buddy_show *)m->data; 1411 b = (struct buddy_show *)m->data;
1411 if (!strcmp(b->name, name)) 1412 if (!strcmp(normalize(b->name), who))
1412 break; 1413 break;
1413 b = NULL; 1414 b = NULL;
1414 m = m->next; 1415 m = m->next;
1415 } 1416 }
1417 g_free(who);
1416 1418
1417 return b; 1419 return b;
1418 } 1420 }
1419 1421
1420 static int group_number(char *group) { 1422 static int group_number(char *group) {
1604 BuddyTickerSetPixmap(b->name, pm, bm); 1606 BuddyTickerSetPixmap(b->name, pm, bm);
1605 gdk_pixmap_unref(pm); 1607 gdk_pixmap_unref(pm);
1606 gdk_bitmap_unref(bm); 1608 gdk_bitmap_unref(bm);
1607 } 1609 }
1608 gtk_timeout_remove(b->log_timer); 1610 gtk_timeout_remove(b->log_timer);
1609 b->log_timer = -1; 1611 b->log_timer = 0;
1610 return 0; 1612 return 0;
1611 } 1613 }
1612 1614
1613 static char *caps_string(gushort caps) 1615 static char *caps_string(gushort caps)
1614 { 1616 {
1763 gdk_pixmap_unref(pm); 1765 gdk_pixmap_unref(pm);
1764 gdk_bitmap_unref(bm); 1766 gdk_bitmap_unref(bm);
1765 b->present = 2; 1767 b->present = 2;
1766 if (bs->log_timer > 0) 1768 if (bs->log_timer > 0)
1767 gtk_timeout_remove(bs->log_timer); 1769 gtk_timeout_remove(bs->log_timer);
1768 bs->log_timer = -1; 1770 bs->log_timer = 0;
1769 if (!g_slist_find(bs->connlist, gc)) 1771 if (!g_slist_find(bs->connlist, gc))
1770 bs->connlist = g_slist_append(bs->connlist, gc); 1772 bs->connlist = g_slist_append(bs->connlist, gc);
1771 else 1773 else
1772 debug_printf("already got signon for %s from %s\n", b->name, gc->username); 1774 debug_printf("already got signon for %s from %s\n", b->name, gc->username);
1773 update_num_group(gs); 1775 update_num_group(gs);
1780 ((display_options & OPT_DISP_SHOW_TIME) ? " @ " : ""), 1782 ((display_options & OPT_DISP_SHOW_TIME) ? " @ " : ""),
1781 ((display_options & OPT_DISP_SHOW_TIME) ? date() : "")); 1783 ((display_options & OPT_DISP_SHOW_TIME) ? date() : ""));
1782 write_to_conv(c, tmp, WFLAG_SYSTEM, NULL); 1784 write_to_conv(c, tmp, WFLAG_SYSTEM, NULL);
1783 } 1785 }
1784 } 1786 }
1785 } else if (bs->log_timer <= 0) { 1787 } else if (bs->log_timer == 0) {
1786 if (gc->prpl->list_icon) 1788 if (gc->prpl->list_icon)
1787 xpm = (*gc->prpl->list_icon)(b->uc); 1789 xpm = (*gc->prpl->list_icon)(b->uc);
1788 if (xpm == NULL) 1790 if (xpm == NULL)
1789 xpm = (char **)no_icon_xpm; 1791 xpm = (char **)no_icon_xpm;
1790 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm); 1792 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm);