From 7ce7654748e9f1073d4e10be6c657ac57804ecf3 Mon Sep 17 00:00:00 2001 From: Stefan Schippers Date: Sun, 30 Aug 2020 23:58:51 +0200 Subject: [PATCH] fix some race conditions (xevents) when doing a png export from cmdline options; fix svg light colorscheme background (was always black) --- src/draw.c | 15 +++++++-------- src/svgdraw.c | 2 +- src/xinit.c | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/draw.c b/src/draw.c index ed95e7c1..af394e6a 100644 --- a/src/draw.c +++ b/src/draw.c @@ -50,15 +50,14 @@ void print_image() if(!has_x) return ; - ww = xschem_w; - hh = xschem_h; - my_snprintf(cmd, S(cmd), "input_line {Enter image size} {} {%dx%d}", xschem_w, xschem_h); - tcleval(cmd); - if(sscanf(tclresult(), "%dx%d", &w, &h) != 2) { - w = xschem_w; h = xschem_h; - } - + w = ww = xschem_w; + h = hh = xschem_h; if(!plotfile[0]) { + my_snprintf(cmd, S(cmd), "input_line {Enter image size} {} {%dx%d}", xschem_w, xschem_h); + tcleval(cmd); + if(sscanf(tclresult(), "%dx%d", &w, &h) != 2) { + w = xschem_w; h = xschem_h; + } my_strdup(60, &tmpstring, "tk_getSaveFile -title {Select destination file} -initialdir $env(PWD)"); tcleval(tmpstring); r = tclresult(); diff --git a/src/svgdraw.c b/src/svgdraw.c index 7ab53983..200c64e4 100644 --- a/src/svgdraw.c +++ b/src/svgdraw.c @@ -481,7 +481,7 @@ void svg_draw(void) } fprintf(fd, "\n"); - if(color_ps) { + if(dark_colorscheme) { /* black background */ fprintf(fd,"\n", 0.0, 0.0, dx, dy, 0, 0, 0, diff --git a/src/xinit.c b/src/xinit.c index f171b7da..fd126a8b 100644 --- a/src/xinit.c +++ b/src/xinit.c @@ -1407,7 +1407,7 @@ int Tcl_AppInit(Tcl_Interp *inter) tcleval( "exit"); } if(do_print==1) ps_draw(); - else if(do_print == 2) print_image(); + else if(do_print == 2) { tcleval("tkwait visibility .drw"); print_image(); } else svg_draw(); }