Subject: bug#16306: 24.3.50; font change creates blank column on Lucid

From: martin rudalics <[email-masked]>
Date: Wed, 01 Jan 2014 12:09:39 +0100

> On my system, (640 16 16 2) before and (1120 28 16 2) after the font
 > change.

28 for the fringe width doesn't look right, this should be 30 since a
character is 15 pixels wide with the new font.  So there could be a bug
in compute_fringe_widths, a function I never touched.  But this still
would not explain a difference of four pixels.

Could you try starting with GDB in x_new_font and tell me which value of
"width" is passed to x_set_window_size_1 and how the latter calculates
"pixelwidth" which it passes to XResizeWindow?

And please also try the following patch (as mentioned earlier I never
understood that calculation and what the value "14" is supposed to
accomplish).  For me it doesn't change anything - maybe it does for you.

martin

=== modified file 'src/xterm.c'
--- src/xterm.c	2013-12-31 09:48:54 +0000
+++ src/xterm.c	2014-01-01 10:01:19 +0000
@@ -7704,10 +7704,8 @@
      }
    else
      {
-      int wid = FRAME_COLUMN_WIDTH (f);
-
-      FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = 14;
-      FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + wid - 1) / wid;
+      FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = FRAME_COLUMN_WIDTH (f);
+      FRAME_CONFIG_SCROLL_BAR_COLS (f) = 1;
      }

    if (FRAME_X_WINDOW (f) != 0)