summaryrefslogtreecommitdiff
path: root/gtk/gtktextview.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtktextview.c')
-rw-r--r--gtk/gtktextview.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 5f8bb14ffb..e831fdfbc4 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -4566,6 +4566,7 @@ gtk_text_view_size_allocate (GtkWidget *widget,
{
GtkTextView *text_view;
GtkTextViewPrivate *priv;
+ PangoRectangle ext;
int width, height;
GdkRectangle text_rect;
GdkRectangle left_rect;
@@ -4661,10 +4662,11 @@ gtk_text_view_size_allocate (GtkWidget *widget,
/* Optimize display cache size */
layout = gtk_widget_create_pango_layout (widget, "X");
- pango_layout_get_pixel_size (layout, &width, &height);
- if (height > 0)
+ pango_lines_get_extents (pango_layout_get_lines (layout), NULL, &ext);
+ pango_extents_to_pixels (&ext, NULL);
+ if (ext.height > 0)
{
- mru_size = SCREEN_HEIGHT (widget) / height * 3;
+ mru_size = SCREEN_HEIGHT (widget) / ext.height * 3;
gtk_text_layout_set_mru_size (priv->layout, mru_size);
}
g_object_unref (layout);