[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/igc 806c6b2339d: Fix glyph pools instead of matrices on ttys
From: |
Gerd Moellmann |
Subject: |
scratch/igc 806c6b2339d: Fix glyph pools instead of matrices on ttys |
Date: |
Mon, 28 Oct 2024 03:31:15 -0400 (EDT) |
branch: scratch/igc
commit 806c6b2339d919905b94d7a719ca4f904904c72b
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Fix glyph pools instead of matrices on ttys
* src/igc.c (fix_glyph_pool): New function.
(fix_frame): Call fix_glyph_pool.
---
src/igc.c | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/src/igc.c b/src/igc.c
index 3e94c94f686..58d22a234a3 100644
--- a/src/igc.c
+++ b/src/igc.c
@@ -2019,6 +2019,21 @@ fix_buffer (mps_ss_t ss, struct buffer *b)
return MPS_RES_OK;
}
+static mps_res_t
+fix_glyph_pool (mps_ss_t ss, struct glyph_pool *pool)
+{
+ MPS_SCAN_BEGIN (ss)
+ {
+ for (ptrdiff_t i = 0; i < pool->nglyphs; ++i)
+ {
+ IGC_FIX12_OBJ (ss, &pool->glyphs[i].object);
+ IGC_FIX12_RAW (ss, &pool->glyphs[i].frame);
+ }
+ }
+ MPS_SCAN_END (ss);
+ return MPS_RES_OK;
+}
+
static mps_res_t
fix_glyph_matrix (mps_ss_t ss, struct glyph_matrix *matrix)
{
@@ -2094,13 +2109,10 @@ fix_frame (mps_ss_t ss, struct frame *f)
IGC_FIX12_OBJ (ss, &f->conversion.field);
#endif
- if (!FRAME_WINDOW_P (f))
- {
- if (f->current_matrix)
- IGC_FIX_CALL (ss, fix_glyph_matrix (ss, f->current_matrix));
- if (f->desired_matrix)
- IGC_FIX_CALL (ss, fix_glyph_matrix (ss, f->desired_matrix));
- }
+ if (f->current_pool)
+ IGC_FIX_CALL (ss, fix_glyph_pool (ss, f->current_pool));
+ if (f->desired_pool)
+ IGC_FIX_CALL (ss, fix_glyph_pool (ss, f->desired_pool));
}
MPS_SCAN_END (ss);
return MPS_RES_OK;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- scratch/igc 806c6b2339d: Fix glyph pools instead of matrices on ttys,
Gerd Moellmann <=