I forgot to add, that the same code works on other platforms and even on
Mac OS X with different GTK versions (2.8.17 on linux, 2.6 on mac)

Jann Röder wrote:
> Hello,
> I'm trying to run the now open sourced EiffelStudio on MacOSX, it uses
> GTK2 as GUI toolkit. Compilation went well howeever I'm getting strange
> crashes when trying to launch in GUI mode. I've tracked down the crash
> to the pango_context_list_families function which is called from the C
> code below (don't wonder about the $ signs, they are used to replace the
> variable names when the C code is finally compiled). Strange thing is:
> the stack backtrace in GDB only shows a Fontconfig function:
> 
> #0  FcFontSetList (config=0xbfff9e68, sets=0xbfffdf28, nsets=2,
> p=0x652c380, os=0x652c300) at fclist.c:421
> #1  0x00000000 in ?? ()
> Cannot access memory at address 0x0
> Cannot access memory at address 0x0
> Cannot access memory at address 0x0
> #2  0x06379ecc in FcFontSetList (config=Cannot access memory at address 0x0
> Cannot access memory at address 0x0
> 0xbfff9e68, sets=0x0, nsets=0, p=0x0, os=0x0) at fclist.c:307
> Cannot access memory at address 0x0
> #3  0x018012c0 in Fj7mxiy_body (Current=0x70084fc "") at
> /home/dfurrer/build/EIFGEN/F_code/C11/ev1050.x:940
> 
> The function #3 is a call to the function below. I'm running Mac OS X
> 10.4.6 on PPC with GTK 2.8.17, pango 1.12.1, fontconfig 2.3.2 .
> 
> I have no idea why it crashes, since the crash seems to be in the
> library. I hope someone can give me a hint.
> 
> Jann
> 
> 
> retrieve_available_fonts (a_widget: POINTER; name_array: TYPED_POINTER
> [POINTER]; number_elements: TYPED_POINTER [INTEGER]) is
>                       -- Retrieve all available fonts present on the system
>               external
>                       "C inline use <gtk/gtk.h>"
>               alias
>                       "[
>                       {
>                               PangoFontFamily **families;
>                               gchar **l_name_array = NULL;
>                               gint i;
>                               pango_context_list_families 
> (gtk_widget_get_pango_context
> ((GtkWidget*) $a_widget), &families, $number_elements);
> 
>                               
>                               l_name_array = malloc (*$number_elements * 
> sizeof (gchar*));
>                               
>                               for (i=0; i < *$number_elements; i++)
>                               {
>                                        l_name_array [i] = (gchar *) 
> pango_font_family_get_name (families[i]);
>                               }
>                               
>                               g_free (families);
>                               
>                               *(EIF_POINTER *) $name_array = (EIF_POINTER *) 
> l_name_array;
>                       }
>                       ]"
>               end


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to