Package: gtkglext
Version: 1.0.6-2.1
Severity: normal
Tags: patch

Hi. Here is what happens in my box:

$ apt-get source gtkglext
$ ./debian/rules build
$ cd examples
$ make font
$ libtool gdb ./font

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 2557)]
0x4005b6e1 in gdk_gl_font_use_pango_font_common (font_map=0x0, font_desc=0x0,
    first=0, count=0, list_base=0) at gdkglfont-x11.c:114
114       glXUseXFont (fs->fid, first, count, list_base);


because at line 112,
  fs = pango_x_font_cache_load (font_cache, xlfd);
returns NULL

Attached  is a simple patch; after applygin the patch, you see

$ ./font
(lt-font:7984): GdkGLExt-WARNING **: cannot get X font cache
*** Can't load font 'courier 12'

and no SegFault

a.


-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.8-3-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
--- gtkglext-1.0.6/gdk/x11/gdkglfont-x11.c      2004-02-20 10:56:23.000000000 
+0100
+++ gtkglext-1.0.6.mine/gdk/x11/gdkglfont-x11.c 2006-05-12 11:40:11.416117472 
+0200
@@ -111,6 +111,12 @@
 
   fs = pango_x_font_cache_load (font_cache, xlfd);
 
+  if( fs == NULL) {
+    g_warning ("cannot get X font cache");
+    font = NULL;
+    goto FAIL;
+  }
+
   glXUseXFont (fs->fid, first, count, list_base);
 
   pango_x_font_cache_unload (font_cache, fs);

Attachment: signature.asc
Description: Digital signature

Reply via email to