Font selection dialog core dumps
- From: Grigorios Magklis <maglis cs rochester edu>
- To: gtk-list redhat com
- cc: Grigorios Magklis <maglis cs rochester edu>
- Subject: Font selection dialog core dumps
- Date: Thu, 9 Mar 2000 14:12:55 -0500 (EST)
Hi all,
I'm using GTK+ 1.2.7 and I've noticed that sometimes the font selection
dialog core dumps (segmentation violation.) The problem is that in my
system I have a couple of fonts with a "nil" foundry. The code doesn't
convert the "(nil)" string to "" in this case and the gdk_font_load()
function returns NULL, which is not checked from the caller -- the
gtk_font_selection_load_font() function, thus the core.
I compiled a small patch that fixes both problems (check for NULL and
convert the "(nil)" to "") and it seems to work for me...
Any comments?
+---------- BEGIN gtk-maglis-000309-0.patch ----------+
diff -Naur gtk+-1.2.7/gtk/gtkfontsel.c gtk+-1.2.7.new/gtk/gtkfontsel.c
--- gtk+-1.2.7/gtk/gtkfontsel.c Wed Feb 16 06:18:07 2000
+++ gtk+-1.2.7.new/gtk/gtkfontsel.c Thu Mar 9 13:45:23 2000
@@ -1749,6 +1749,9 @@
gchar *fontname, *label_text;
XFontStruct *xfs;
+ /* sanity check */
+ g_return_val_if_fail (fontsel != NULL, FALSE);
+
if (fontsel->font)
gdk_font_unref (fontsel->font);
fontsel->font = NULL;
@@ -1764,6 +1767,12 @@
g_message("Loading: %s\n", fontname);
#endif
font = gdk_font_load (fontname);
+ if (!font)
+ {
+ gtk_label_set_text(GTK_LABEL(fontsel->message_label),
+ _("The selected font is not available."));
+ return FALSE;
+ }
xfs = GDK_FONT_XFONT(font);
if (xfs->min_byte1 != 0 || xfs->max_byte1 != 0)
{
@@ -3118,6 +3127,9 @@
font = &fontsel_info->font_info[fontsel->font_index];
family_str = font->family;
foundry_str = fontsel_info->properties[FOUNDRY][font->foundry];
+ /* some fonts have a (nil) foundry */
+ if (strcmp (foundry_str, "(nil)") == 0)
+ foundry_str = "";
for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++)
{
+---------- END gtk-maglis-000309-0.patch ----------+
------------------------------------------------------------------------
Grigorios Magklis e-mail: maglis@cs.rochester.edu
CS Dept, U of Rochester phone : (716) 275-5605 fax: (716) 461-2018
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]