aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2004-07-21 21:09:43 +0000
committerKim F. Storm2004-07-21 21:09:43 +0000
commitcf4a901e95b7559410771886507fe7de2b75a54f (patch)
tree3c9c07d5577ef24e459eac13f6b90055363b153a /src
parent71a0ff9a80ffda4ac6ea695460c461bcb6d79687 (diff)
downloademacs-cf4a901e95b7559410771886507fe7de2b75a54f.tar.gz
emacs-cf4a901e95b7559410771886507fe7de2b75a54f.zip
(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.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index d273de74847..4083ce7a438 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -14462,9 +14462,13 @@ display_line (it)
14462 /* We always start displaying at hpos zero even if hscrolled. */ 14462 /* We always start displaying at hpos zero even if hscrolled. */
14463 xassert (it->hpos == 0 && it->current_x == 0); 14463 xassert (it->hpos == 0 && it->current_x == 0);
14464 14464
14465 /* We must not display in a row that's not a text row. */ 14465 if (MATRIX_ROW_VPOS (row, it->w->desired_matrix)
14466 xassert (MATRIX_ROW_VPOS (row, it->w->desired_matrix) 14466 >= it->w->desired_matrix->nrows)
14467 < it->w->desired_matrix->nrows); 14467 {
14468 it->w->nrows_scale_factor++;
14469 fonts_changed_p = 1;
14470 return 0;
14471 }
14468 14472
14469 /* Is IT->w showing the region? */ 14473 /* Is IT->w showing the region? */
14470 it->w->region_showing = it->region_beg_charpos > 0 ? Qt : Qnil; 14474 it->w->region_showing = it->region_beg_charpos > 0 ? Qt : Qnil;
@@ -18135,6 +18139,11 @@ append_glyph (it)
18135 glyph->font_type = FONT_TYPE_UNKNOWN; 18139 glyph->font_type = FONT_TYPE_UNKNOWN;
18136 ++it->glyph_row->used[area]; 18140 ++it->glyph_row->used[area];
18137 } 18141 }
18142 else if (!fonts_changed_p)
18143 {
18144 it->w->ncols_scale_factor++;
18145 fonts_changed_p = 1;
18146 }
18138} 18147}
18139 18148
18140/* Store one glyph for the composition IT->cmp_id in IT->glyph_row. 18149/* Store one glyph for the composition IT->cmp_id in IT->glyph_row.
@@ -18172,6 +18181,11 @@ append_composite_glyph (it)
18172 glyph->font_type = FONT_TYPE_UNKNOWN; 18181 glyph->font_type = FONT_TYPE_UNKNOWN;
18173 ++it->glyph_row->used[area]; 18182 ++it->glyph_row->used[area];
18174 } 18183 }
18184 else if (!fonts_changed_p)
18185 {
18186 it->w->ncols_scale_factor++;
18187 fonts_changed_p = 1;
18188 }
18175} 18189}
18176 18190
18177 18191
@@ -18341,6 +18355,11 @@ produce_image_glyph (it)
18341 glyph->font_type = FONT_TYPE_UNKNOWN; 18355 glyph->font_type = FONT_TYPE_UNKNOWN;
18342 ++it->glyph_row->used[area]; 18356 ++it->glyph_row->used[area];
18343 } 18357 }
18358 else if (!fonts_changed_p)
18359 {
18360 it->w->ncols_scale_factor++;
18361 fonts_changed_p = 1;
18362 }
18344 } 18363 }
18345} 18364}
18346 18365
@@ -18384,6 +18403,11 @@ append_stretch_glyph (it, object, width, height, ascent)
18384 glyph->font_type = FONT_TYPE_UNKNOWN; 18403 glyph->font_type = FONT_TYPE_UNKNOWN;
18385 ++it->glyph_row->used[area]; 18404 ++it->glyph_row->used[area];
18386 } 18405 }
18406 else if (!fonts_changed_p)
18407 {
18408 it->w->ncols_scale_factor++;
18409 fonts_changed_p = 1;
18410 }
18387} 18411}
18388 18412
18389 18413