From 4c49a6a40fa0fead1e5ff8b1e654fed465492176 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 12 Mar 2018 19:55:59 +0100 Subject: Show SCBlocks for image/callback paragraphs in debugger --- src/debugger.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'src/debugger.c') diff --git a/src/debugger.c b/src/debugger.c index 09332d4..8ac275d 100644 --- a/src/debugger.c +++ b/src/debugger.c @@ -121,8 +121,13 @@ static void debug_text_para(Paragraph *para, cairo_t *cr, double *ypos, plot_text(cr, ypos, fontdesc, "Error"); } else { - snprintf(tmp, 255, " Run %i: SCBlock %p / %p", i, - scblock, rscblock); + if ( scblock != rscblock ) { + snprintf(tmp, 255, " Run %i: SCBlock %p / %p", i, + scblock, rscblock); + } else { + snprintf(tmp, 255, " Run %i: SCBlock %p", i, + scblock); + } plot_text(cr, ypos, fontdesc, tmp); (*dpos)++; @@ -134,6 +139,23 @@ static void debug_text_para(Paragraph *para, cairo_t *cr, double *ypos, } +static void debug_other_para(Paragraph *para, cairo_t *cr, double *ypos, + PangoFontDescription *fontdesc) +{ + char tmp[256]; + SCBlock *scblock = para_scblock(para); + SCBlock *rscblock = para_rscblock(para); + + if ( scblock == rscblock ) { + snprintf(tmp, 255, "SCBlock %p\n", scblock); + } else { + snprintf(tmp, 255, "SCBlock %p / %p\n", scblock, rscblock); + } + + plot_text(cr, ypos, fontdesc, tmp); +} + + static void record_runs(struct debugwindow *dbgw) { int i; @@ -222,7 +244,7 @@ static gboolean dbg_draw_sig(GtkWidget *da, cairo_t *cr, struct debugwindow *dbg debug_text_para(dbgw->fr->paras[i], cr, &ypos, fontdesc, dbgw->runs, &dpos, &changesig); } else { - dpos++; + debug_other_para(dbgw->fr->paras[i], cr, &ypos, fontdesc); } } -- cgit v1.2.3