aboutsummaryrefslogtreecommitdiff
path: root/src/sc_interp.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2016-11-13 17:32:56 +0100
committerThomas White <taw@bitwiz.org.uk>2016-11-13 17:32:56 +0100
commite3189e041b278cc778197dcca174d18ecc67faf0 (patch)
tree34e1b8b174c70c6dcbada85d1c3d79dcb891b476 /src/sc_interp.c
parentdd8d96dfffc5c1fe3f080dbe281b2dd11d4644a4 (diff)
Refuse to edit inside macro blocks
Diffstat (limited to 'src/sc_interp.c')
-rw-r--r--src/sc_interp.c6
1 files changed, 4 insertions, 2 deletions
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;