fix error in set_snap(): should not do a redraw (draw() ) here, causing a segfault if x11/tk structures are not ready yet. add draw() in places where this function is called if there is something to draw/
This commit is contained in:
parent
263b72de03
commit
28aec3fad8
|
|
@ -300,7 +300,6 @@ void set_snap(double newsnap) /* 20161212 set new snap factor and just notify n
|
||||||
}
|
}
|
||||||
xctx->cadhalfdotsize = CADHALFDOTSIZE * (cs < 10. ? cs : 10.) / 10.;
|
xctx->cadhalfdotsize = CADHALFDOTSIZE * (cs < 10. ? cs : 10.) / 10.;
|
||||||
tclsetdoublevar("cadsnap", cs);
|
tclsetdoublevar("cadsnap", cs);
|
||||||
draw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_grid(double newgrid)
|
void set_grid(double newgrid)
|
||||||
|
|
|
||||||
|
|
@ -2207,6 +2207,7 @@ int rstate; /* (reduced state, without ShiftMask) */
|
||||||
if(key=='g' && rstate==0) /* half snap factor */
|
if(key=='g' && rstate==0) /* half snap factor */
|
||||||
{
|
{
|
||||||
set_snap(c_snap / 2.0);
|
set_snap(c_snap / 2.0);
|
||||||
|
draw();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(key=='g' && rstate==ControlMask) /* set snap factor 20161212 */
|
if(key=='g' && rstate==ControlMask) /* set snap factor 20161212 */
|
||||||
|
|
@ -2220,6 +2221,7 @@ int rstate; /* (reduced state, without ShiftMask) */
|
||||||
if(key=='G' && rstate == 0) /* double snap factor */
|
if(key=='G' && rstate == 0) /* double snap factor */
|
||||||
{
|
{
|
||||||
set_snap(c_snap * 2.0);
|
set_snap(c_snap * 2.0);
|
||||||
|
draw();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(key=='*' && EQUAL_MODMASK) /* svg print , 20121108 */
|
if(key=='*' && EQUAL_MODMASK) /* svg print , 20121108 */
|
||||||
|
|
|
||||||
|
|
@ -4546,6 +4546,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
||||||
else if(!strcmp(argv[2], "cadsnap")) { /* set mouse snap (default: 10) */
|
else if(!strcmp(argv[2], "cadsnap")) { /* set mouse snap (default: 10) */
|
||||||
if(!xctx) {Tcl_SetResult(interp, not_avail, TCL_STATIC); return TCL_ERROR;}
|
if(!xctx) {Tcl_SetResult(interp, not_avail, TCL_STATIC); return TCL_ERROR;}
|
||||||
set_snap( atof(argv[3]) );
|
set_snap( atof(argv[3]) );
|
||||||
|
draw();
|
||||||
}
|
}
|
||||||
else if(!strcmp(argv[2], "color_ps")) { /* set color psoscript (1 or 0) */
|
else if(!strcmp(argv[2], "color_ps")) { /* set color psoscript (1 or 0) */
|
||||||
color_ps=atoi(argv[3]);
|
color_ps=atoi(argv[3]);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue