ports/70596: [PATCH] mail/stuphead: fix htmlview crashes

Andrey Slusar anray at inet.ua
Wed Aug 18 01:00:54 UTC 2004


The following reply was made to PR ports/70596; it has been noted by GNATS.

From: Andrey Slusar <anray at inet.ua>
To: freebsd-gnats-submit at FreeBSD.org, anray at inet.ua
Cc:  
Subject: Re: ports/70596: [PATCH] mail/stuphead: fix htmlview crashes
Date: Wed, 18 Aug 2004 03:56:55 +0300

 --=-=-=
 
 
  Previous patch is not fixed all htmlview crashes. Updated patch
 attached.
 
 --=-=-=
 Content-Type: text/x-patch
 Content-Disposition: inline; filename=stuphead.diff
 
 diff -ruN /usr/ports/mail/stuphead/Makefile stuphead/Makefile
 --- /usr/ports/mail/stuphead/Makefile	Wed Mar 31 07:21:57 2004
 +++ stuphead/Makefile	Wed Aug 18 00:57:08 2004
 @@ -7,7 +7,7 @@
  
  PORTNAME=	stuphead
  PORTVERSION=	0.5.3
 -PORTREVISION=	3
 +PORTREVISION=	4
  CATEGORIES=	mail gnome
  MASTER_SITES=	http://stuphead.asplinux.ru/stuphead/
  
 diff -ruN /usr/ports/mail/stuphead/files/patch-src::htmlview.c stuphead/files/patch-src::htmlview.c
 --- /usr/ports/mail/stuphead/files/patch-src::htmlview.c	Thu Jan  1 03:00:00 1970
 +++ stuphead/files/patch-src::htmlview.c	Tue Aug 17 23:57:22 2004
 @@ -0,0 +1,11 @@
 +--- src/htmlview.c.old	Tue Aug 17 23:56:37 2004
 ++++ src/htmlview.c	Tue Aug 17 23:56:57 2004
 +@@ -59,7 +59,7 @@
 + 
 + HtmlView *htmlview_create(void)
 + {
 +-	HtmlView *htmlview;
 ++	HtmlView *htmlview = NULL;
 + #ifdef USE_MOZILLA
 + 	GtkMozEmbed *mozwin;
 + 	gchar *mozpat;
 diff -ruN /usr/ports/mail/stuphead/files/patch-src::messageview.c stuphead/files/patch-src::messageview.c
 --- /usr/ports/mail/stuphead/files/patch-src::messageview.c	Thu Jan  1 03:00:00 1970
 +++ stuphead/files/patch-src::messageview.c	Wed Aug 18 03:39:24 2004
 @@ -0,0 +1,60 @@
 +--- src/messageview.c.orig	Wed Aug 18 03:23:29 2004
 ++++ src/messageview.c	Wed Aug 18 03:37:58 2004
 +@@ -80,7 +80,9 @@
 + 	imageview->messageview = messageview;
 + 
 + 	htmlview = htmlview_create();
 +-	htmlview->messageview = messageview;
 ++	if(htmlview) {
 ++	    htmlview->messageview = messageview;
 ++	}
 + 
 + 	mimeview = mimeview_create();
 + 	mimeview->textview = textview;
 +@@ -91,7 +93,9 @@
 + 	/* to remove without destroyed */
 + 	gtk_widget_ref(*(GtkWidget **)textview);
 + 	gtk_widget_ref(*(GtkWidget **)imageview);
 +-	gtk_widget_ref(*(GtkWidget **)htmlview);
 ++	if(htmlview) {
 ++	    gtk_widget_ref(*(GtkWidget **)htmlview);
 ++	}
 + 	gtk_widget_ref(*(GtkWidget **)mimeview);
 + 
 + 	paned = gtk_vpaned_new();
 +@@ -152,7 +156,9 @@
 + 	gtk_paned_add2(GTK_PANED(messageview->paned), *(GtkWidget **)textview);
 + #endif
 + 
 +-	htmlview_init(messageview->htmlview);
 ++	if(messageview->htmlview) {
 ++	    htmlview_init(messageview->htmlview);
 ++	}
 + 	mimeview_init(messageview->mimeview);
 + 	textview_init(messageview->textview);
 + 	imageview_init(messageview->imageview);
 +@@ -267,17 +273,21 @@
 + 	GtkWidget *textview  = *(GtkWidget **)messageview->textview;
 + 	GtkWidget *imageview = *(GtkWidget **)messageview->imageview;
 + 	GtkWidget *mimeview  = *(GtkWidget **)messageview->mimeview;
 +-	GtkWidget *htmlview = *(GtkWidget **)messageview->htmlview;
 ++
 ++	if(messageview->htmlview) {
 ++	    GtkWidget *htmlview = *(GtkWidget **)messageview->htmlview;
 ++	    htmlview_destroy(messageview->htmlview);
 ++	    gtk_widget_destroy(htmlview);
 ++	}
 ++
 + 	textview_destroy(messageview->textview);
 + 	imageview_destroy(messageview->imageview);
 +-	htmlview_destroy(messageview->htmlview);
 + 	mimeview_destroy(messageview->mimeview);
 + 
 + 	g_free(messageview);
 + 
 + 	gtk_widget_unref(textview);
 + 	gtk_widget_unref(imageview);
 +-	gtk_widget_unref(htmlview);
 + 	gtk_widget_unref(mimeview);
 + }
 + 
 
 --=-=-=--



More information about the freebsd-ports-bugs mailing list