fix wrong conditional on "dr" (draw, nofullzoom) in create_new_tab() and create_new_window(). Some better error messages on malformed raw files loading
This commit is contained in:
parent
7d74948154
commit
d7f3980301
|
|
@ -714,7 +714,7 @@ static int read_dataset(FILE *fd, Raw **rawptr, const char *type, int no_warning
|
|||
/* array of number of points of datasets (they are of varialbe length) */
|
||||
n = sscanf(line, "No. of Data Rows : %d", &npoints);
|
||||
if(n < 1) {
|
||||
dbg(0, "read_dataset(): WAARNING: malformed raw file, aborting\n");
|
||||
dbg(0, "read_dataset(): WARNING (No. of Data Rows): malformed raw file, aborting, line:\n%s\n", line);
|
||||
extra_rawfile(3, NULL, NULL, -1.0, -1.0);
|
||||
/* free_rawfile(rawptr, 0, 0); */
|
||||
exit_status = 0;
|
||||
|
|
@ -747,7 +747,7 @@ static int read_dataset(FILE *fd, Raw **rawptr, const char *type, int no_warning
|
|||
}
|
||||
|
||||
if(n < 1) {
|
||||
dbg(0, "read_dataset(): WAARNING: malformed raw file, aborting\n");
|
||||
dbg(0, "read_dataset(): WARNING (No. Variables): malformed raw file, aborting, line:\n%s\n", line);
|
||||
extra_rawfile(3, NULL, NULL, -1.0, -1.0);
|
||||
/* free_rawfile(rawptr, 0, 0); */
|
||||
exit_status = 0;
|
||||
|
|
@ -761,7 +761,7 @@ static int read_dataset(FILE *fd, Raw **rawptr, const char *type, int no_warning
|
|||
else if(!done_points && !strncmp(line, "No. Points:", 11)) {
|
||||
n = sscanf(line, "No. Points: %d", &npoints);
|
||||
if(n < 1) {
|
||||
dbg(0, "read_dataset(): WAARNING: malformed raw file, aborting\n");
|
||||
dbg(0, "read_dataset(): WARNING (No. Points): malformed raw file, aborting, line:\n%s\n", line);
|
||||
extra_rawfile(3, NULL, NULL, -1.0, -1.0);
|
||||
/* free_rawfile(rawptr, 0, 0); */
|
||||
exit_status = 0;
|
||||
|
|
@ -784,7 +784,7 @@ static int read_dataset(FILE *fd, Raw **rawptr, const char *type, int no_warning
|
|||
my_realloc(_ALLOC_ID_, &varname, strlen(line) + 1) ;
|
||||
n = sscanf(line, "%*[\t]%d%*[\t]%[^\t]", &i, varname); /* read index and name of saved waveform */
|
||||
if(n < 2) {
|
||||
dbg(0, "read_dataset(): WAARNING: malformed raw file, aborting\n");
|
||||
dbg(0, "read_dataset(): WARNING (Variables): malformed raw file, aborting, line:\n%s\n", line);
|
||||
extra_rawfile(3, NULL, NULL, -1.0, -1.0);
|
||||
/* free_rawfile(rawptr, 0, 0); */
|
||||
exit_status = 0;
|
||||
|
|
|
|||
|
|
@ -3174,7 +3174,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
dbg(1, "scheduler: undo_reset=%d\n", undo_reset);
|
||||
|
||||
if(first_loaded) {
|
||||
int dr = nofullzoom ? 3 : 1;
|
||||
int dr = nofullzoom * 2 + !nodraw;
|
||||
ret = new_schematic("create", "noconfirm", f, dr);
|
||||
if(undo_reset) {
|
||||
tclvareval("update_recent_file {", f, "}", NULL);
|
||||
|
|
@ -3720,7 +3720,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
if(!xctx) {Tcl_SetResult(interp, not_avail, TCL_STATIC); return TCL_ERROR;}
|
||||
if(argc > 2) {
|
||||
|
||||
if(argc >= 6 && argv[5][0] == '0') dr = 0;
|
||||
if(argc >= 6 ) dr = atoi(argv[5]);
|
||||
if(argc == 3) r = new_schematic(argv[2], NULL, NULL, 1);
|
||||
else if(argc == 4) r = new_schematic(argv[2], argv[3], NULL, 1);
|
||||
else if(argc >= 5) {
|
||||
|
|
|
|||
12
src/xinit.c
12
src/xinit.c
|
|
@ -1630,7 +1630,7 @@ static int switch_tab(int *window_count, const char *win_path, int dr)
|
|||
|
||||
/* non NULL and not empty win_path is used to avoid warning for duplicated filenames */
|
||||
/* dr: 1 : draw
|
||||
3 : draw without doing a fullzoom
|
||||
2 : draw without doing a fullzoom
|
||||
*/
|
||||
static void create_new_window(int *window_count, const char *win_path, const char *fname, int dr)
|
||||
{
|
||||
|
|
@ -1723,7 +1723,7 @@ static void create_new_window(int *window_count, const char *win_path, const cha
|
|||
enable_layers();
|
||||
build_colors(0.0, 0.0);
|
||||
resetwin(1, 0, 1, 0, 0); /* resetwin(create_pixmap, clear_pixmap, force, w, h) */
|
||||
if(!loaded && !(dr & 3)) {
|
||||
if(!loaded && !(dr & 2)) {
|
||||
xctx->zoom = CADINITIALZOOM;
|
||||
xctx->mooz = 1 / CADINITIALZOOM;
|
||||
xctx->xorigin = CADINITIALX;
|
||||
|
|
@ -1735,7 +1735,7 @@ static void create_new_window(int *window_count, const char *win_path, const cha
|
|||
xctx->yorigin =old_xctx->yorigin;
|
||||
}
|
||||
load_schematic(1, fname, 1, confirm);
|
||||
if(!loaded && (dr & 1) && !(dr & 3) ) xctx->pending_fullzoom=1;
|
||||
if(!loaded && (dr & 1) && !(dr & 2) ) xctx->pending_fullzoom=1;
|
||||
tclvareval("set_bindings ", window_path[n], NULL);
|
||||
if(has_x) {
|
||||
tclvareval("set_geom ", toppath, " [xschem get current_name]", NULL);
|
||||
|
|
@ -1755,7 +1755,7 @@ static void create_new_window(int *window_count, const char *win_path, const cha
|
|||
|
||||
/* non NULL and not empty noconfirm is used to avoid warning for duplicated filenames */
|
||||
/* dr: 1 : draw
|
||||
3 : draw without doing a fullzoom
|
||||
2 : draw without doing a fullzoom
|
||||
*/
|
||||
static void create_new_tab(int *window_count, const char *noconfirm, const char *fname, int dr)
|
||||
{
|
||||
|
|
@ -1853,7 +1853,7 @@ static void create_new_tab(int *window_count, const char *noconfirm, const char
|
|||
build_colors(0.0, 0.0);
|
||||
resetwin(1, 0, 1, 0, 0); /* resetwin(create_pixmap, clear_pixmap, force, w, h) */
|
||||
tclvareval("housekeeping_ctx", NULL);
|
||||
if(!loaded && !(dr & 3)) {
|
||||
if(!loaded && !(dr & 2)) {
|
||||
xctx->zoom = CADINITIALZOOM;
|
||||
xctx->mooz = 1 / CADINITIALZOOM;
|
||||
xctx->xorigin = CADINITIALX;
|
||||
|
|
@ -1866,7 +1866,7 @@ static void create_new_tab(int *window_count, const char *noconfirm, const char
|
|||
}
|
||||
load_schematic(1,fname, 1, confirm);
|
||||
if(dr & 1) {
|
||||
if(!loaded && !(dr & 3) ) zoom_full(1, 0, 1 + 2 * tclgetboolvar("zoom_full_center"), 0.97); /* draw */
|
||||
if(!loaded && !(dr & 2) ) zoom_full(1, 0, 1 + 2 * tclgetboolvar("zoom_full_center"), 0.97); /* draw */
|
||||
else draw();
|
||||
}
|
||||
tcleval("tab_queue STORE");
|
||||
|
|
|
|||
Loading…
Reference in New Issue