aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Cerutti <gahr@FreeBSD.org>2008-09-16 13:17:55 +0000
committerPietro Cerutti <gahr@FreeBSD.org>2008-09-16 13:17:55 +0000
commitc3dbd603ed8f6bec1403d4500d6fc1bfe89c1ce9 (patch)
tree9c4a1a6252251f822c9058b5a95b53fcc067fcad
parent79314268b3cf5aa1a2ecac2a5857db7b5a2e494b (diff)
downloadports-c3dbd603ed8f6bec1403d4500d6fc1bfe89c1ce9.tar.gz
ports-c3dbd603ed8f6bec1403d4500d6fc1bfe89c1ce9.zip
- Teach a few NULL pointers not to segfault at runtime
- Bump PORTREVISION Approved by: portmgr (pav)
Notes
Notes: svn path=/head/; revision=220406
-rw-r--r--net/jags/Makefile1
-rw-r--r--net/jags/files/patch-src_mainwindow.cpp56
2 files changed, 57 insertions, 0 deletions
diff --git a/net/jags/Makefile b/net/jags/Makefile
index c45e133ffac2..048ae8eceadc 100644
--- a/net/jags/Makefile
+++ b/net/jags/Makefile
@@ -7,6 +7,7 @@
PORTNAME= jags
PORTVERSION= 0.22.1
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= SF
diff --git a/net/jags/files/patch-src_mainwindow.cpp b/net/jags/files/patch-src_mainwindow.cpp
new file mode 100644
index 000000000000..08442e2c35e8
--- /dev/null
+++ b/net/jags/files/patch-src_mainwindow.cpp
@@ -0,0 +1,56 @@
+--- src/mainwindow.cpp.orig 2008-09-16 14:27:01.000000000 +0200
++++ src/mainwindow.cpp 2008-09-16 14:58:48.000000000 +0200
+@@ -299,6 +299,8 @@
+ gchar *workgroup = NULL, *command = NULL, *comment = NULL, *comment2 = NULL;
+ gint h;
+
++ if(!parent_tree)
++ return FALSE;
+
+ if (GTK_TREE(parent_tree)->children)
+ gtk_tree_remove_items(GTK_TREE(parent_tree),
+@@ -349,11 +351,15 @@
+
+ while (glist->next) {
+ //---get the string width in pixels----------------------------------
+- h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDD") -
+- gdk_string_width(style->font, (gchar *)glist->next->data);
+- h /= gdk_string_width(style->font, "D");
++ if(style) {
++ h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDD") -
++ gdk_string_width(style->font, (gchar *)glist->next->data);
++ h /= gdk_string_width(style->font, "D");
++ comment = g_strnfill(h, 0x20);
++ } else {
++ comment = NULL;
++ }
+
+- comment = g_strnfill(h, 0x20);
+ comment2 = g_strescape(g_strconcat((gchar *)glist->next->data, comment,
+ (gchar *)glist2->next->data, NULL));
+ g_free(comment);
+@@ -414,6 +420,9 @@
+ gchar *ShareName = new gchar[100];
+ gint h;
+
++ if(!parent_tree)
++ return FALSE;
++
+ /* Get the text on this treeitem into "workgroup" */
+ item = GTK_TREE(parent_tree)->tree_owner;
+ server = g_strdup_printf("%s", gtk_tree_item_get_text(item));
+@@ -478,9 +487,11 @@
+ while (glist->next) {
+ if (g_strncasecmp((gchar *)glist->next->data, "Error", 5)) {
+ g_strdup_printf(ShareName,"%s", (gchar *)glist->next->data);
+- h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDDDD") -
+- gdk_string_width(style->font, (gchar *)glist->next->data);
+- h /= gdk_string_width(style->font, " ");
++ if (style) {
++ h = gdk_string_width(style->font, "DDDDDDDDDDDDDDDDDDD") -
++ gdk_string_width(style->font, (gchar *)glist->next->data);
++ h /= gdk_string_width(style->font, " ");
++ }
+ comment = g_strnfill(h, 0x20);
+ comment2 = g_strconcat((gchar *)glist->next->data, comment,
+ (gchar *)glist3->next->data, NULL);