Mercurial > emacs
changeset 56499:5277ee215de2
(display_line): Increment nrows_scale_factor and set
fonts_changed_p if past last allocated row.
(append_glyph, append_composite_glyph, produce_image_glyph)
(append_stretch_glyph): Increment ncols_scale_factor and set
fonts_changed_p if current area is full.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Wed, 21 Jul 2004 21:09:43 +0000 |
parents | ee3ccdb058d1 |
children | b36bc601f35e |
files | src/xdisp.c |
diffstat | 1 files changed, 27 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Wed Jul 21 21:08:56 2004 +0000 +++ b/src/xdisp.c Wed Jul 21 21:09:43 2004 +0000 @@ -14462,9 +14462,13 @@ /* We always start displaying at hpos zero even if hscrolled. */ xassert (it->hpos == 0 && it->current_x == 0); - /* We must not display in a row that's not a text row. */ - xassert (MATRIX_ROW_VPOS (row, it->w->desired_matrix) - < it->w->desired_matrix->nrows); + if (MATRIX_ROW_VPOS (row, it->w->desired_matrix) + >= it->w->desired_matrix->nrows) + { + it->w->nrows_scale_factor++; + fonts_changed_p = 1; + return 0; + } /* Is IT->w showing the region? */ it->w->region_showing = it->region_beg_charpos > 0 ? Qt : Qnil; @@ -18135,6 +18139,11 @@ glyph->font_type = FONT_TYPE_UNKNOWN; ++it->glyph_row->used[area]; } + else if (!fonts_changed_p) + { + it->w->ncols_scale_factor++; + fonts_changed_p = 1; + } } /* Store one glyph for the composition IT->cmp_id in IT->glyph_row. @@ -18172,6 +18181,11 @@ glyph->font_type = FONT_TYPE_UNKNOWN; ++it->glyph_row->used[area]; } + else if (!fonts_changed_p) + { + it->w->ncols_scale_factor++; + fonts_changed_p = 1; + } } @@ -18341,6 +18355,11 @@ glyph->font_type = FONT_TYPE_UNKNOWN; ++it->glyph_row->used[area]; } + else if (!fonts_changed_p) + { + it->w->ncols_scale_factor++; + fonts_changed_p = 1; + } } } @@ -18384,6 +18403,11 @@ glyph->font_type = FONT_TYPE_UNKNOWN; ++it->glyph_row->used[area]; } + else if (!fonts_changed_p) + { + it->w->ncols_scale_factor++; + fonts_changed_p = 1; + } }