aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2016-06-21 16:14:10 +0300
committerEli Zaretskii2016-06-21 16:14:10 +0300
commit6cf8f0b74e45cec12756e99d3735e3906c515c5c (patch)
tree2ccf0fcf2e186524d71cb21154cd8d26306f6116 /src
parent560c4ab1c32eacc48f62e4176a1e9fb10ac7665b (diff)
downloademacs-6cf8f0b74e45cec12756e99d3735e3906c515c5c.tar.gz
emacs-6cf8f0b74e45cec12756e99d3735e3906c515c5c.zip
Fix vertical layout calculations when newline has line-height property
* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's 'constrain_row_ascent_descent_p' flag after processing the newline, similar to what 'display_line' does. Without this, the flag remains set once set by x_produce_glyphs, and causes the vertical layout calculations to go awry, because Emacs thinks the screen lines have zero height. (Bug#23850)
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index bcb283f8faa..da0e84f0043 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9038,6 +9038,11 @@ move_it_in_display_line_to (struct it *it,
9038 } 9038 }
9039 else 9039 else
9040 result = MOVE_NEWLINE_OR_CR; 9040 result = MOVE_NEWLINE_OR_CR;
9041 /* If we've processed the newline, make sure this flag is
9042 reset, as it must only be set when the newline itself is
9043 processed. */
9044 if (result == MOVE_NEWLINE_OR_CR)
9045 it->constrain_row_ascent_descent_p = false;
9041 break; 9046 break;
9042 } 9047 }
9043 9048