[gtk/gtk-3-24: 1/2] text-view: Do not double-allocate borders



commit 4b4ae4464c8fca64fec0d6eb60927cc519ffbe92
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Sun Jul 8 17:24:07 2018 -0400

    text-view: Do not double-allocate borders
    
    Reverts part of Commit 25b67af3
    
    The 'width' part of the commit is the cause of #628: requisition->width
    is first set to priv->layout->width, which already includes
    priv->left_border + priv->right_border. It's a bit labyrinthine, but
    essentially:
    
    *  layout->width is set in update_layout_size() (gtktextlayout.c line 992)
       as the maximum line width, and
    *  the line width is set to display->width in gtk_text_layout_real_wrap()
       (gtktextlayout.c line 1183), and
    *  display->width is set to text_pixel_width + h_margin + h_padding in
       gtk_text_layout_get_line_display() (gtktextlayout.c line 2584), and
    *  h_margin + h_padding is the same as priv->left_border +
       priv->right_border.
    
    Adding it again leads to an increase in the size-request, which
    results in wider lines; rinse and repeat.

 gtk/gtktextview.c | 1 -
 1 file changed, 1 deletion(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index e0b1e20e87..4c32a7b55c 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -4042,7 +4042,6 @@ gtk_text_view_size_request (GtkWidget      *widget,
   requisition->height += border_width * 2;
 
   requisition->height += priv->top_border + priv->bottom_border;
-  requisition->width += priv->left_border + priv->right_border;
 
   tmp_list = priv->children;
   while (tmp_list != NULL)


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