Mercurial > pidgin.yaz
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 |