From d2e40a86057e14714bffb627fe67439d7ba7c5ff Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Mon, 21 Apr 2025 00:36:07 +0200 Subject: [PATCH] fix missing label text highlights in symbols. still to handle if highlight layer set to last --- src/draw.c | 5 ++--- src/psprint.c | 5 ++--- src/svgdraw.c | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/draw.c b/src/draw.c index ec96a271..5645c617 100644 --- a/src/draw.c +++ b/src/draw.c @@ -822,9 +822,8 @@ void draw_symbol(int what,int c, int n,int layer,short tmp_flip, short rot, draw_texts: if(xctx->sym_txt && !(xctx->inst[n].flags & HIDE_SYMBOL_TEXTS) && (layer == cadlayers - 1)) { - if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; - else if(!(xctx->inst[n].flags & PIN_OR_LABEL)) c_for_text = TEXTLAYER; - else if(c != layer) c_for_text = c; + if(c != layer) c_for_text = c; + else if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; else c_for_text = TEXTLAYER; for(j=0;j< symptr->texts; ++j) { diff --git a/src/psprint.c b/src/psprint.c index 12303a6b..aaaca7c5 100644 --- a/src/psprint.c +++ b/src/psprint.c @@ -1110,9 +1110,8 @@ static void ps_draw_symbol(int c, int n,int layer, int what, short tmp_flip, sho draw_texts: if(xctx->sym_txt && !(xctx->inst[n].flags & HIDE_SYMBOL_TEXTS) && (layer == cadlayers - 1)) { const char *txtptr; - if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; - else if(xctx->sym_txt && !(xctx->inst[n].flags & PIN_OR_LABEL)) c_for_text = TEXTLAYER; - else if(c != layer) c_for_text = c; + if(c != layer) c_for_text = c; + else if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; else c_for_text = TEXTLAYER; for(j=0;j< (xctx->inst[n].ptr+ xctx->sym)->texts; ++j) { diff --git a/src/svgdraw.c b/src/svgdraw.c index ad394a40..66257550 100644 --- a/src/svgdraw.c +++ b/src/svgdraw.c @@ -789,9 +789,8 @@ static void svg_draw_symbol(int c, int n,int layer,short tmp_flip, short rot, draw_texts: if( xctx->sym_txt && !(xctx->inst[n].flags & HIDE_SYMBOL_TEXTS) && (layer == cadlayers - 1)) { const char *txtptr; - if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; - else if(xctx->sym_txt && !(xctx->inst[n].flags & PIN_OR_LABEL)) c_for_text = TEXTLAYER; - else if(c != layer) c_for_text = c; + if(c != layer) c_for_text = c; + else if(xctx->inst[n].flags & PIN_OR_LABEL) c_for_text = TEXTWIRELAYER; else c_for_text = TEXTLAYER; for(j=0;j< symptr->texts; ++j) {