Don't set context to get context.

This commit is contained in:
Dave Davenport 2015-09-30 08:58:39 +02:00
parent 9b67838b56
commit aea2458575

View file

@ -666,6 +666,7 @@ void textbox_setup ( Display *display )
void textbox_cleanup ( void ) void textbox_cleanup ( void )
{ {
printf("cleanup\n");
if ( p_context ) { if ( p_context ) {
g_object_unref ( p_context ); g_object_unref ( p_context );
p_context = NULL; p_context = NULL;
@ -698,20 +699,13 @@ int textbox_get_font_width ( textbox *tb )
double textbox_get_estimated_char_width ( void ) double textbox_get_estimated_char_width ( void )
{ {
// Create a temp layout with right font.
PangoLayout *layout = pango_layout_new ( p_context );
// Set font.
PangoFontDescription *pfd = pango_font_description_from_string ( config.menu_font ); PangoFontDescription *pfd = pango_font_description_from_string ( config.menu_font );
pango_layout_set_font_description ( layout, pfd );
pango_font_description_free ( pfd );
// Get width // Get width
PangoContext *context = pango_layout_get_context ( layout ); PangoFontMetrics *metric = pango_context_get_metrics ( p_context, pfd, NULL );
PangoFontMetrics *metric = pango_context_get_metrics ( context, NULL, NULL );
int width = pango_font_metrics_get_approximate_char_width ( metric ); int width = pango_font_metrics_get_approximate_char_width ( metric );
pango_font_metrics_unref ( metric ); pango_font_metrics_unref ( metric );
g_object_unref ( layout ); pango_font_description_free ( pfd );
return ( width ) / (double) PANGO_SCALE; return ( width ) / (double) PANGO_SCALE;
} }