summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorDon Seiler <rizzo@gentoo.org>2004-08-26 15:00:24 +0000
committerDon Seiler <rizzo@gentoo.org>2004-08-26 15:00:24 +0000
commit3ef9f393a9f7fae6c7e55cd2954f5e7bc386ae8e (patch)
treec1591112d62a38d39c9b56e73557567ae8cc5913 /net-im
parentsecurity fix. bug #61749 (diff)
downloadhistorical-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/ChangeLog8
-rw-r--r--net-im/gaim/Manifest23
-rw-r--r--net-im/gaim/files/digest-gaim-0.82-r11
-rw-r--r--net-im/gaim/files/gaim-0.83cvs-iconcrash.diff111
-rw-r--r--net-im/gaim/gaim-0.82-r1.ebuild116
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
+}