[gtk+/gtk-3-10] GtkTextView: Fix horizontal scrolling



commit 8300c1683a48c730fb66ed6720bec9301ebc699f
Author: Alexander Larsson <alexl redhat com>
Date:   Wed Oct 2 16:21:10 2013 +0200

    GtkTextView: Fix horizontal scrolling
    
    We didn't properly invalidate when scrolling horizontally.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=708019

 gtk/gtktextview.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index 98988eb..4ba0af7 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -5297,8 +5297,8 @@ gtk_text_view_draw (GtkWidget *widget,
 
       canvas_rect.x = -gtk_adjustment_get_value (priv->hadjustment);
       canvas_rect.y = -gtk_adjustment_get_value (priv->vadjustment);
-      canvas_rect.width = priv->cached_size_request.width;
-      canvas_rect.height = priv->cached_size_request.height;
+      canvas_rect.width = priv->width;
+      canvas_rect.height = priv->height;
 
       cairo_save (cr);
       gtk_cairo_transform_to_window (cr, widget, window);
@@ -9014,7 +9014,7 @@ text_window_invalidate_handler (GdkWindow      *window,
 {
   gpointer widget;
   GtkTextView *text_view;
-  int y;
+  int x, y;
 
   gdk_window_get_user_data (window, &widget);
   text_view = GTK_TEXT_VIEW (widget);
@@ -9024,10 +9024,11 @@ text_window_invalidate_handler (GdkWindow      *window,
   if (text_view->priv->in_scroll)
     return;
 
+  x = gtk_adjustment_get_value (text_view->priv->hadjustment);
   y = gtk_adjustment_get_value (text_view->priv->vadjustment);
-  cairo_region_translate (region, 0, y);
+  cairo_region_translate (region, x, y);
   _gtk_pixel_cache_invalidate (text_view->priv->pixel_cache, region);
-  cairo_region_translate (region, 0, -y);
+  cairo_region_translate (region, -x, -y);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]