# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1318794027 0 # Node ID db21c0081387963a4f7572527c93c0d37183e5de # Parent 4a7a9f102a5f381315372dde684c3e959703273c Fixes for dw_font_text_extents_get() on GTK not honoring the font set by dw_pixmap_set_font(). diff -r 4a7a9f102a5f -r db21c0081387 gtk/dw.c --- a/gtk/dw.c Sun Oct 16 19:26:10 2011 +0000 +++ b/gtk/dw.c Sun Oct 16 19:40:27 2011 +0000 @@ -8056,10 +8056,11 @@ GdkGC *gc = NULL; #if GTK_MAJOR_VERSION > 1 PangoFontDescription *font; + char *tmpname, *fontname = "monospace 10"; #else GdkFont *font; -#endif char *tmpname, *fontname = "fixed"; +#endif #if GTK_CHECK_VERSION(2,10,0) cairo_t *cr = NULL; #endif @@ -8242,7 +8243,12 @@ } } else if(pixmap) - fontname = (char *)gtk_object_get_data(GTK_OBJECT(pixmap->handle), "_dw_fontname"); + { + if(pixmap->font) + fontname = pixmap->font; + else if(pixmap->handle) + fontname = (char *)gtk_object_get_data(GTK_OBJECT(pixmap->handle), "_dw_fontname"); + } #if GTK_MAJOR_VERSION > 1 font = pango_font_description_from_string(fontname ? fontname : "monospace 10"); diff -r 4a7a9f102a5f -r db21c0081387 gtk3/dw.c --- a/gtk3/dw.c Sun Oct 16 19:26:10 2011 +0000 +++ b/gtk3/dw.c Sun Oct 16 19:40:27 2011 +0000 @@ -6924,7 +6924,7 @@ int _locked_by_me = FALSE; cairo_t *cr = NULL; PangoFontDescription *font; - char *tmpname, *fontname = "fixed"; + char *tmpname, *fontname = "monospace 10"; if(!text) return; @@ -7029,7 +7029,12 @@ } } else if(pixmap) - fontname = (char *)g_object_get_data(G_OBJECT(pixmap->handle), "_dw_fontname"); + { + if(pixmap->font) + fontname = pixmap->font; + else if(pixmap->handle) + fontname = (char *)g_object_get_data(G_OBJECT(pixmap->handle), "_dw_fontname"); + } font = pango_font_description_from_string(fontname ? fontname : "monospace 10"); if(font)