From 331722ab0788d826a2af3029a2abbe6cc841984c Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Fri, 2 Feb 2024 10:48:51 +0100 Subject: [PATCH] fix too early xctx->currsch increment in descend_symbol() --- src/save.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/save.c b/src/save.c index 9fa88410..6c834bbe 100644 --- a/src/save.c +++ b/src/save.c @@ -4499,8 +4499,6 @@ void descend_symbol(void) xctx->zoom_array[xctx->currsch].y=xctx->yorigin; xctx->zoom_array[xctx->currsch].zoom=xctx->zoom; - ++xctx->currsch; /* increment level counter */ - if((xctx->inst[n].ptr+ xctx->sym)->flags & EMBEDDED || xctx->inst[n].embed) { /* save embedded symbol into a temporary file */ my_snprintf(name_embedded, S(name_embedded), @@ -4514,6 +4512,7 @@ void descend_symbol(void) unselect_all(1); remove_symbols(); /* must follow save (if) embedded */ /* load_symbol(name_embedded); */ + ++xctx->currsch; /* increment level counter */ load_schematic(1, name_embedded, 1, 1); } else { char *sympath = NULL; @@ -4536,6 +4535,7 @@ void descend_symbol(void) my_strdup2(_ALLOC_ID_, &sympath, abs_sym_path(tcl_hook2(name), "")); } dbg(1, "descend_symbol(): name=%s, sympath=%s, dirname=%s\n", name, sympath, xctx->current_dirname); + ++xctx->currsch; /* increment level counter */ load_schematic(1, sympath, 1, 1); if(web_url) { /* restore web url current_dirname that is reset by load_schematic with local path */