comparison src/buddy.c @ 644:b3900e312d8e

[gaim-migrate @ 654] hopefully this will reduce pixmap leaks. we'll see though committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 08 Aug 2000 22:50:18 +0000
parents e33dfed611c9
children b3b5d9d18eea
comparison
equal deleted inserted replaced
643:df1ceace5cac 644:b3900e312d8e
254 if (display_options & OPT_DISP_SHOW_BUTTON_XPM && xpm) { 254 if (display_options & OPT_DISP_SHOW_BUTTON_XPM && xpm) {
255 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 255 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
256 NULL, xpm); 256 NULL, xpm);
257 pic = gtk_pixmap_new(pm, bm); 257 pic = gtk_pixmap_new(pm, bm);
258 gtk_widget_show(pic); 258 gtk_widget_show(pic);
259 gdk_pixmap_unref(pm);
259 label = GTK_BIN(button)->child; 260 label = GTK_BIN(button)->child;
260 gtk_container_remove(GTK_CONTAINER(button), label); 261 gtk_container_remove(GTK_CONTAINER(button), label);
261 gtk_container_add(GTK_CONTAINER(button), pic); 262 gtk_container_add(GTK_CONTAINER(button), pic);
262 } else { 263 } else {
263 label = gtk_label_new(c); 264 label = gtk_label_new(c);
920 921
921 b->idle = 0; 922 b->idle = 0;
922 b->caps = 0; 923 b->caps = 0;
923 924
924 gtk_widget_show(b->pix); 925 gtk_widget_show(b->pix);
926 gdk_pixmap_unref(pm);
925 927
926 b->label = gtk_label_new(buddy); 928 b->label = gtk_label_new(buddy);
927 gtk_misc_set_alignment(GTK_MISC(b->label), 0.0, 0.5); 929 gtk_misc_set_alignment(GTK_MISC(b->label), 0.0, 0.5);
928 930
929 b->idletime = gtk_label_new(""); 931 b->idletime = gtk_label_new("");
1584 NULL, (gchar **)login_icon_xpm); 1586 NULL, (gchar **)login_icon_xpm);
1585 gtk_widget_hide(b->pix); 1587 gtk_widget_hide(b->pix);
1586 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1588 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1587 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1589 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1588 gtk_widget_show(b->pix); 1590 gtk_widget_show(b->pix);
1591 gdk_pixmap_unref(pm);
1589 1592
1590 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1593 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1591 NULL, (gchar **)login_icon_xpm); 1594 NULL, (gchar **)login_icon_xpm);
1592 1595
1593 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1596 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1594 BuddyTickerAddUser( b->name, pm, bm ); 1597 BuddyTickerAddUser( b->name, pm, bm );
1598 gdk_pixmap_unref(pm);
1595 1599
1596 if (display_options & OPT_DISP_SHOW_LOGON) { 1600 if (display_options & OPT_DISP_SHOW_LOGON) {
1597 struct conversation *c = find_conversation(b->name); 1601 struct conversation *c = find_conversation(b->name);
1598 if (c) { 1602 if (c) {
1599 char tmp[1024]; 1603 char tmp[1024];
1641 } 1645 }
1642 #endif 1646 #endif
1643 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1647 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1644 NULL, (gchar **)away_icon_xpm); 1648 NULL, (gchar **)away_icon_xpm);
1645 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1649 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1650 gdk_pixmap_unref(pm);
1646 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1651 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1647 { 1652 {
1648 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1653 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1649 NULL, (gchar **)away_icon_xpm); 1654 NULL, (gchar **)away_icon_xpm);
1650 BuddyTickerSetPixmap(b->name, pm, bm); 1655 BuddyTickerSetPixmap(b->name, pm, bm);
1656 gdk_pixmap_unref(pm);
1651 } 1657 }
1652 } else if (b->uc & UC_AOL) { 1658 } else if (b->uc & UC_AOL) {
1653 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1659 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1654 NULL, (gchar **)aol_icon_xpm); 1660 NULL, (gchar **)aol_icon_xpm);
1655 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1661 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1662 gdk_pixmap_unref(pm);
1656 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1663 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1657 { 1664 {
1658 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1665 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1659 NULL, (gchar **)aol_icon_xpm); 1666 NULL, (gchar **)aol_icon_xpm);
1660 BuddyTickerSetPixmap(b->name, pm, bm); 1667 BuddyTickerSetPixmap(b->name, pm, bm);
1668 gdk_pixmap_unref(pm);
1661 } 1669 }
1662 } else if (b->uc & UC_NORMAL) { 1670 } else if (b->uc & UC_NORMAL) {
1663 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1671 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1664 NULL, (gchar **)free_icon_xpm); 1672 NULL, (gchar **)free_icon_xpm);
1665 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1673 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1674 gdk_pixmap_unref(pm);
1666 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1675 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1667 { 1676 {
1668 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1677 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1669 NULL, (gchar **)free_icon_xpm); 1678 NULL, (gchar **)free_icon_xpm);
1670 BuddyTickerSetPixmap(b->name, pm, bm); 1679 BuddyTickerSetPixmap(b->name, pm, bm);
1680 gdk_pixmap_unref(pm);
1671 } 1681 }
1672 } else if (b->uc & UC_ADMIN) { 1682 } else if (b->uc & UC_ADMIN) {
1673 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1683 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1674 NULL, (gchar **)admin_icon_xpm); 1684 NULL, (gchar **)admin_icon_xpm);
1675 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1685 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1686 gdk_pixmap_unref(pm);
1676 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1687 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1677 { 1688 {
1678 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1689 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1679 NULL, (gchar **)admin_icon_xpm); 1690 NULL, (gchar **)admin_icon_xpm);
1680 BuddyTickerSetPixmap(b->name, pm, bm); 1691 BuddyTickerSetPixmap(b->name, pm, bm);
1692 gdk_pixmap_unref(pm);
1681 } 1693 }
1682 } else if (b->uc & UC_UNCONFIRMED) { 1694 } else if (b->uc & UC_UNCONFIRMED) {
1683 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1695 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1684 NULL, (gchar **)dt_icon_xpm); 1696 NULL, (gchar **)dt_icon_xpm);
1685 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1697 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1698 gdk_pixmap_unref(pm);
1686 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1699 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1687 { 1700 {
1688 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1701 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1689 NULL, (gchar **)dt_icon_xpm); 1702 NULL, (gchar **)dt_icon_xpm);
1690 BuddyTickerSetPixmap(b->name, pm, bm); 1703 BuddyTickerSetPixmap(b->name, pm, bm);
1704 gdk_pixmap_unref(pm);
1691 } 1705 }
1692 } else { 1706 } else {
1693 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1707 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1694 NULL, (gchar **)no_icon_xpm); 1708 NULL, (gchar **)no_icon_xpm);
1695 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1709 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1710 gdk_pixmap_unref(pm);
1696 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1711 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1697 { 1712 {
1698 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1713 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1699 NULL, (gchar **)no_icon_xpm); 1714 NULL, (gchar **)no_icon_xpm);
1700 BuddyTickerSetPixmap(b->name, pm, bm); 1715 BuddyTickerSetPixmap(b->name, pm, bm);
1716 gdk_pixmap_unref(pm);
1701 } 1717 }
1702 } 1718 }
1703 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1719 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1704 gtk_widget_show(b->pix); 1720 gtk_widget_show(b->pix);
1705 } 1721 }
1725 play_sound(BUDDY_LEAVE); 1741 play_sound(BUDDY_LEAVE);
1726 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1742 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1727 NULL, (gchar **)logout_icon_xpm); 1743 NULL, (gchar **)logout_icon_xpm);
1728 gtk_widget_hide(b->pix); 1744 gtk_widget_hide(b->pix);
1729 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1745 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1746 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1747 gtk_widget_show(b->pix);
1748 gdk_pixmap_unref(pm);
1730 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1749 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1731 NULL, (gchar **)logout_icon_xpm); 1750 NULL, (gchar **)logout_icon_xpm);
1732 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER ) 1751 if ( ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER )
1733 BuddyTickerSetPixmap( b->name, pm, bm ); 1752 BuddyTickerSetPixmap( b->name, pm, bm );
1734 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1753 gdk_pixmap_unref(pm);
1735 gtk_widget_show(b->pix);
1736 if (display_options & OPT_DISP_SHOW_LOGON) { 1754 if (display_options & OPT_DISP_SHOW_LOGON) {
1737 struct conversation *c = find_conversation(b->name); 1755 struct conversation *c = find_conversation(b->name);
1738 if (c) { 1756 if (c) {
1739 char tmp[1024]; 1757 char tmp[1024];
1740 1758