diff options
author | 2004-08-26 15:00:24 +0000 | |
---|---|---|
committer | 2004-08-26 15:00:24 +0000 | |
commit | 3ef9f393a9f7fae6c7e55cd2954f5e7bc386ae8e (patch) | |
tree | c1591112d62a38d39c9b56e73557567ae8cc5913 /net-im | |
parent | security fix. bug #61749 (diff) | |
download | historical-3ef9f393a9f7fae6c7e55cd2954f5e7bc386ae8e.tar.gz historical-3ef9f393a9f7fae6c7e55cd2954f5e7bc386ae8e.tar.bz2 historical-3ef9f393a9f7fae6c7e55cd2954f5e7bc386ae8e.zip |
Patch to fix crash with buddy icons and conversation buttons
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/gaim/ChangeLog | 8 | ||||
-rw-r--r-- | net-im/gaim/Manifest | 23 | ||||
-rw-r--r-- | net-im/gaim/files/digest-gaim-0.82-r1 | 1 | ||||
-rw-r--r-- | net-im/gaim/files/gaim-0.83cvs-iconcrash.diff | 111 | ||||
-rw-r--r-- | net-im/gaim/gaim-0.82-r1.ebuild | 116 |
5 files changed, 248 insertions, 11 deletions
diff --git a/net-im/gaim/ChangeLog b/net-im/gaim/ChangeLog index 74af5eb883f1..f76522ba7b46 100644 --- a/net-im/gaim/ChangeLog +++ b/net-im/gaim/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-im/gaim # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/ChangeLog,v 1.230 2004/08/26 07:53:16 hardave Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/ChangeLog,v 1.231 2004/08/26 15:00:24 rizzo Exp $ + +*gaim-0.82-r1 (26 Aug 2004) + + 26 Aug 2004; Don Seiler <rizzo@gentoo.org> + +files/gaim-0.83cvs-iconcrash.diff, +gaim-0.82-r1.ebuild: + Patch to fix crash with buddy icons and conversation buttons 26 Aug 2004; Hardave Riar <hardave@gentoo.org> gaim-0.81-r5.ebuild: Stable on mips. Bug #61457. diff --git a/net-im/gaim/Manifest b/net-im/gaim/Manifest index 33f4e84010d4..012dcac719af 100644 --- a/net-im/gaim/Manifest +++ b/net-im/gaim/Manifest @@ -1,18 +1,21 @@ +MD5 3509cd770acfec959e577267e8cbe4cd ChangeLog 36999 MD5 5a08611eb2c48b6a7749a152a5dc3d9a gaim-0.80.ebuild 3563 -MD5 f88289dd3e0508a3733e21d0edc85eb3 gaim-0.82.ebuild 3360 -MD5 c751638075eed91387f046f60e2681a1 gaim-0.81-r5.ebuild 3476 -MD5 25f2e6d964abf45ee779b12c6da196f9 ChangeLog 36803 MD5 19b3cafbbe380403d46cccc45a984b80 metadata.xml 481 MD5 c6bd49c899f05647f6fbb6c8011c0323 gaim-0.81-r1.ebuild 3413 -MD5 9f2fa9ae8de6d285902cb2b46389c681 files/gaim-0.81-security2.diff 10297 -MD5 7a5f5d2d68f003ca4e2b61935ca40ea1 files/digest-gaim-0.80 63 +MD5 c751638075eed91387f046f60e2681a1 gaim-0.81-r5.ebuild 3476 +MD5 f88289dd3e0508a3733e21d0edc85eb3 gaim-0.82.ebuild 3360 +MD5 6afe21d0652fc10f04316db179e48b97 gaim-0.82-r1.ebuild 3425 +MD5 ad7e4af1d9de1d8a8c2b24530b6469e5 files/gaim-0.81_msn-slp.diff 779 +MD5 afc682711efed5d09a9229bd06a7a13b files/gaim-0.76-xinput.patch 644 +MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r1 63 +MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r5 63 MD5 e0a48363ecde3b7f0c2cfc6ffbe488bd files/digest-gaim-0.82 63 MD5 22aae7173f7cbf5d93d1db9907740064 files/syslog_fd_leak.diff 8423 +MD5 e5139bdf87b04d542ccce3195ea78d79 files/gaim-0.83cvs-iconcrash.diff 3920 +MD5 7a5f5d2d68f003ca4e2b61935ca40ea1 files/digest-gaim-0.80 63 MD5 12944fad880bbec0f05c539550fa5dd4 files/gaim-0.81cvs-gtkblist_dnd.diff 1516 +MD5 d37f310f1242f44dab25d3aa42c8836d files/gaim-0.81cvs-icon_scaling.diff 3999 MD5 4d66f0652fc19f650164da20f3898eac files/gaim-0.81cvs-irc-ison-lessflood.patch 1252 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r1 63 -MD5 ed679fa262748c5626af4d9dcfd4b278 files/digest-gaim-0.81-r5 63 MD5 91841348c88bce66a078e65c4c26f9ca files/gaim-0.81cvs-chatbutton-crashfix.patch 2932 -MD5 d37f310f1242f44dab25d3aa42c8836d files/gaim-0.81cvs-icon_scaling.diff 3999 -MD5 afc682711efed5d09a9229bd06a7a13b files/gaim-0.76-xinput.patch 644 -MD5 ad7e4af1d9de1d8a8c2b24530b6469e5 files/gaim-0.81_msn-slp.diff 779 +MD5 e0a48363ecde3b7f0c2cfc6ffbe488bd files/digest-gaim-0.82-r1 63 +MD5 9f2fa9ae8de6d285902cb2b46389c681 files/gaim-0.81-security2.diff 10297 diff --git a/net-im/gaim/files/digest-gaim-0.82-r1 b/net-im/gaim/files/digest-gaim-0.82-r1 new file mode 100644 index 000000000000..74fa96f2df12 --- /dev/null +++ b/net-im/gaim/files/digest-gaim-0.82-r1 @@ -0,0 +1 @@ +MD5 e47420012e9c026c2563d074e267d49b gaim-0.82.tar.bz2 4603356 diff --git a/net-im/gaim/files/gaim-0.83cvs-iconcrash.diff b/net-im/gaim/files/gaim-0.83cvs-iconcrash.diff new file mode 100644 index 000000000000..c8934cb79191 --- /dev/null +++ b/net-im/gaim/files/gaim-0.83cvs-iconcrash.diff @@ -0,0 +1,111 @@ +Index: gtkconv.c +=================================================================== +RCS file: /cvsroot/gaim/gaim/src/gtkconv.c,v +retrieving revision 1.467 +retrieving revision 1.468 +diff -u -d -p -r1.467 -r1.468 +--- gtkconv.c 25 Aug 2004 23:45:16 -0000 1.467 ++++ gtkconv.c 26 Aug 2004 13:32:49 -0000 1.468 +@@ -3705,7 +3705,8 @@ setup_im_buttons(GaimConversation *conv, + /* Remove anything else in our parent */ + children = gtk_container_get_children(GTK_CONTAINER(parent)); + while (children != NULL) { +- gtk_container_remove(GTK_CONTAINER(parent), children->data); ++ if(children->data != gtkim->icon_container) ++ gtk_container_remove(GTK_CONTAINER(parent), children->data); + children = g_list_remove(children, children->data); + } + +@@ -5620,7 +5621,6 @@ gaim_gtkconv_update_buddy_icon(GaimConve + + GdkPixbuf *buf; + +- GtkWidget *vbox; + GtkWidget *event; + GtkWidget *frame; + GdkPixbuf *scale; +@@ -5650,8 +5650,9 @@ gaim_gtkconv_update_buddy_icon(GaimConve + prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); + + /* Remove the current icon stuff */ +- if (gtkconv->u.im->icon != NULL) +- gtk_widget_destroy(gtkconv->u.im->icon->parent->parent->parent); ++ if (gtkconv->u.im->icon_container != NULL) ++ gtk_widget_destroy(gtkconv->u.im->icon_container); ++ gtkconv->u.im->icon_container = NULL; + + if (gtkconv->u.im->anim != NULL) + g_object_unref(G_OBJECT(gtkconv->u.im->anim)); +@@ -5670,8 +5671,6 @@ gaim_gtkconv_update_buddy_icon(GaimConve + if (gaim_conversation_get_gc(conv) == NULL) + return; + +- +- + icon = gaim_conv_im_get_icon(GAIM_CONV_IM(conv)); + + if (icon == NULL) +@@ -5696,7 +5695,6 @@ gaim_gtkconv_update_buddy_icon(GaimConve + /* make sure we remove the file as soon as possible */ + unlink(filename); + +- + if (err) { + gaim_debug(GAIM_DEBUG_ERROR, "gtkconv", + "Buddy icon error: %s\n", err->message); +@@ -5730,12 +5728,13 @@ gaim_gtkconv_update_buddy_icon(GaimConve + g_object_unref(G_OBJECT(scale)); + + +- vbox = gtk_vbox_new(FALSE, 0); ++ gtkconv->u.im->icon_container = gtk_vbox_new(FALSE, 0); + + frame = gtk_frame_new(NULL); + gtk_frame_set_shadow_type(GTK_FRAME(frame), + (bm ? GTK_SHADOW_NONE : GTK_SHADOW_IN)); +- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); ++ gtk_box_pack_start(GTK_BOX(gtkconv->u.im->icon_container), frame, ++ FALSE, FALSE, 0); + + event = gtk_event_box_new(); + gtk_container_add(GTK_CONTAINER(frame), event); +@@ -5757,14 +5756,17 @@ gaim_gtkconv_update_buddy_icon(GaimConve + /* the button seems to get its size before the box, so... */ + gtk_widget_size_request(gtkconv->send, &requisition); + if (button_type == GAIM_BUTTON_NONE || requisition.height * 1.5 < scale_height) { +- gtk_box_pack_start(GTK_BOX(gtkconv->lower_hbox), vbox, FALSE, FALSE, 0); ++ gtk_box_pack_start(GTK_BOX(gtkconv->lower_hbox), ++ gtkconv->u.im->icon_container, FALSE, FALSE, 0); + /* gtk_box_reorder_child(GTK_BOX(gtkconv->lower_hbox), vbox, 0); */ + } else { +- gtk_box_pack_start(GTK_BOX(gtkconv->bbox), vbox, FALSE, FALSE, 0); +- gtk_box_reorder_child(GTK_BOX(gtkconv->bbox), vbox, 0); ++ gtk_box_pack_start(GTK_BOX(gtkconv->bbox), ++ gtkconv->u.im->icon_container, FALSE, FALSE, 0); ++ gtk_box_reorder_child(GTK_BOX(gtkconv->bbox), ++ gtkconv->u.im->icon_container, 0); + } + +- gtk_widget_show(vbox); ++ gtk_widget_show(gtkconv->u.im->icon_container); + gtk_widget_show(frame); + + /* The buddy icon code needs badly to be fixed. */ + +Index: gtkconv.h +=================================================================== +RCS file: /cvsroot/gaim/gaim/src/gtkconv.h,v +retrieving revision 1.54 +retrieving revision 1.55 +diff -u -d -p -r1.54 -r1.55 +--- gtkconv.h 20 Aug 2004 05:11:30 -0000 1.54 ++++ gtkconv.h 26 Aug 2004 13:32:50 -0000 1.55 +@@ -114,6 +114,7 @@ struct _GaimGtkImPane + gboolean a_virgin; + + /* Buddy icon stuff */ ++ GtkWidget *icon_container; + GtkWidget *icon; + gboolean show_icon; + gboolean animate; + diff --git a/net-im/gaim/gaim-0.82-r1.ebuild b/net-im/gaim/gaim-0.82-r1.ebuild new file mode 100644 index 000000000000..7ad1bd2c0e49 --- /dev/null +++ b/net-im/gaim/gaim-0.82-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-0.82-r1.ebuild,v 1.1 2004/08/26 15:00:24 rizzo Exp $ + +inherit flag-o-matic eutils gcc debug + +IUSE="nls perl spell nas cjk gnutls silc evo" #crypt + +DESCRIPTION="GTK2-based Instant Messenger client" +HOMEPAGE="http://gaim.sourceforge.net/" +SRC_URI="mirror://sourceforge/gaim/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~sparc ~amd64 ~ppc ~alpha ~ia64 ~mips ~hppa" + +DEPEND=">=x11-libs/gtk+-2.0 + >=dev-libs/glib-2.0 + nas? ( >=media-libs/nas-1.4.1-r1 ) + sys-devel/gettext + media-libs/libao + >=media-libs/audiofile-0.2.0 + perl? ( >=dev-lang/perl-5.8.2-r1 + !<dev-perl/ExtUtils-MakeMaker-6.17 ) + spell? ( >=app-text/gtkspell-2.0.2 ) + dev-libs/nss + gnutls? ( net-libs/gnutls ) + silc? ( >=net-im/silc-toolkit-0.9.12-r2 ) + evo? ( mail-client/evolution )" + +#PDEPEND="crypt? ( >=x11-plugins/gaim-encryption-2.29 )" + +print_gaim_warning() { + ewarn + ewarn "If you are merging ${P} from an earlier version, you will need" + ewarn "to re-merge any plugins like gaim-encryption or gaim-snpp." + ewarn + ewarn "If you experience problems with gaim, file them as bugs with" + ewarn "Gentoo's bugzilla, http://bugs.gentoo.org. DO NOT report them" + ewarn "as bugs with gaim's sourceforge tracker, and by all means DO NOT" + ewarn "seek help in #gaim." + ewarn + ewarn "Be sure to USE=\"debug\" and include a backtrace for any seg" + ewarn "faults, see http://gaim.sourceforge.net/gdb.php for details on" + ewarn "backtraces." + ewarn + ewarn "Please read the gaim FAQ at http://gaim.sourceforge.net/faq.php" + ewarn + einfo + einfo "Note that we are now filtering all unstable flags in C[XX]FLAGS." + einfo + for TICKER in 1 2 3 4 5; do + # Double beep here. + echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null + echo -ne "\a" ; sleep 1 + done + sleep 3 +} + +pkg_setup() { + print_gaim_warning +} + +src_unpack() { + unpack ${A} + cd ${S} + use cjk && epatch ${FILESDIR}/gaim-0.76-xinput.patch + cd ${S}/src/ + epatch ${FILESDIR}/gaim-0.83cvs-iconcrash.diff +} + +src_compile() { + # Stabilize things, for your own good + strip-flags + replace-flags -O? -O2 + + # -msse2 doesn't play nice on gcc 3.2 + [ "`gcc-version`" == "3.2" ] && filter-flags -msse2 + + local myconf + use perl || myconf="${myconf} --disable-perl" + use spell || myconf="${myconf} --disable-gtkspell" + use nls || myconf="${myconf} --disable-nls" + use nas && myconf="${myconf} --enable-nas" || myconf="${myconf} --disable-nas" + use evo || myconf="${myconf} --disable-gevolution" + + if use gnutls ; then + myconf="${myconf} --with-gnutls-includes=/usr/include/gnutls" + myconf="${myconf} --with-gnutls-libs=/usr/lib" + else + myconf="${myconf} --enable-gnutls=no" + fi + + if use silc ; then + myconf="${myconf} --with-silc-includes=/usr/include/silc-toolkit" + myconf="${myconf} --with-silc-libs=/usr/lib" + fi + + myconf="${myconf} --with-nspr-includes=/usr/include/nspr" + myconf="${myconf} --with-nss-includes=/usr/include/nss" + myconf="${myconf} --with-nspr-libs=/usr/lib" + myconf="${myconf} --with-nss-libs=/usr/lib" + + econf ${myconf} || die "Configuration failed" + + emake || MAKEOPTS="${MAKEOPTS} -j1" emake || die "Make failed" +} + +src_install() { + make install DESTDIR=${D} || die "Install failed" + dodoc ABOUT-NLS AUTHORS COPYING HACKING INSTALL NEWS PROGRAMMING_NOTES README ChangeLog VERSION +} + +pkg_postinst() { + print_gaim_warning +} |