From e3189e041b278cc778197dcca174d18ecc67faf0 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 13 Nov 2016 17:32:56 +0100 Subject: Refuse to edit inside macro blocks --- src/sc_interp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/sc_interp.c') diff --git a/src/sc_interp.c b/src/sc_interp.c index 625948e..59d5e33 100644 --- a/src/sc_interp.c +++ b/src/sc_interp.c @@ -875,6 +875,7 @@ static int add_text(struct frame *fr, PangoContext *pc, SCBlock *bl, double *col; int just_closed = 0; struct sc_state *st = &scin->state[scin->j]; + SCBlock *mrb; /* Empty block? */ if ( text == NULL ) return 1; @@ -885,6 +886,7 @@ static int add_text(struct frame *fr, PangoContext *pc, SCBlock *bl, fontdesc = sc_interp_get_fontdesc(scin); col = sc_interp_get_fgcol(scin); + mrb = sc_interp_get_macro_real_block(scin); len_bytes = strlen(text); start = 0; @@ -903,7 +905,7 @@ static int add_text(struct frame *fr, PangoContext *pc, SCBlock *bl, if ( text[start] == '\n' ) { if ( just_closed ) { Paragraph *para = last_open_para(fr); - add_run(para, bl, start, 0, fontdesc, col); + add_run(para, bl, mrb, start, 0, fontdesc, col); set_para_spacing(para, st->paraspace); } close_last_paragraph(fr); @@ -911,7 +913,7 @@ static int add_text(struct frame *fr, PangoContext *pc, SCBlock *bl, just_closed = 1; } else { Paragraph *para = last_open_para(fr); - add_run(para, bl, start, len, fontdesc, col); + add_run(para, bl, mrb, start, len, fontdesc, col); set_para_spacing(para, st->paraspace); start += len; just_closed = 0; -- cgit v1.2.3