Corrected the previous commit, which did not fix the problem that
it claimed to fix, but caused an incorrect DRC maxwidth check instead. The problem appears to be correctly resolved now. Also: Tracked down a recently-introduced minor issue in which the interactive DRC stops running after issuing "drc check" and does not resume until another key or mouse even occurs. This turned out to be caused by the work on the "logcommands" command, which should have used "*bypass" before "logcommands suspend" and "logcommands resume", since the "*bypass" indicates that the command has no impact on layout and should not interrupt the DRC checker.
This commit is contained in:
parent
3e0ad4ff58
commit
e2c3eb3e20
6
INSTALL
6
INSTALL
|
|
@ -47,6 +47,12 @@ Autoconf Capsule Summary:
|
|||
Disable threaded X11 and OpenGL graphics.
|
||||
Normally enabled.
|
||||
|
||||
--disable-compression
|
||||
Disable reading and writing of compressed
|
||||
(gzipped) GDS files and reading of compressed
|
||||
.mag files. Normally enabled, if the zlib
|
||||
development package is installed.
|
||||
|
||||
Notes to Magic maintainers:
|
||||
--------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -2017,6 +2017,7 @@ badTransform:
|
|||
char argstr[1024];
|
||||
|
||||
githash1[0] = '\0';
|
||||
githash2[0] = '\0';
|
||||
|
||||
/* Remove the file component */
|
||||
sl1ptr = strrchr(pathptr, '/');
|
||||
|
|
@ -2487,8 +2488,8 @@ dbReadProperties(cellDef, line, len, f, scalen, scaled)
|
|||
/* Skip forward four values in pvalueptr */
|
||||
for (n = 0; n < 4; n++)
|
||||
{
|
||||
while (!isspace(*pptr)) pptr++;
|
||||
while (isspace(*pptr) && (*pptr != '\0')) pptr++;
|
||||
while ((*pptr != '\0') && !isspace(*pptr)) pptr++;
|
||||
while ((*pptr != '\0') && isspace(*pptr)) pptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -692,9 +692,15 @@ drcTile (tile, arg)
|
|||
cptr->drcc_dist++;
|
||||
|
||||
if (cptr->drcc_flags & DRC_REVERSE)
|
||||
{
|
||||
mrd = drcCanonicalMaxwidth(tpleft, GEO_WEST, arg, cptr);
|
||||
triggered = 0;
|
||||
}
|
||||
else if (firsttile)
|
||||
{
|
||||
mrd = drcCanonicalMaxwidth(tile, GEO_EAST, arg, cptr);
|
||||
triggered = 0;
|
||||
}
|
||||
if (!trigpending || (DRCCurStyle->DRCFlags
|
||||
& DRC_FLAGS_WIDEWIDTH_NONINCLUSIVE))
|
||||
cptr->drcc_dist--;
|
||||
|
|
@ -1089,9 +1095,15 @@ drcTile (tile, arg)
|
|||
cptr->drcc_dist++;
|
||||
|
||||
if (cptr->drcc_flags & DRC_REVERSE)
|
||||
{
|
||||
mrd = drcCanonicalMaxwidth(tpbot, GEO_SOUTH, arg, cptr);
|
||||
triggered = 0;
|
||||
}
|
||||
else if (firsttile)
|
||||
{
|
||||
mrd = drcCanonicalMaxwidth(tile, GEO_NORTH, arg, cptr);
|
||||
triggered = 0;
|
||||
}
|
||||
if (!trigpending || (DRCCurStyle->DRCFlags
|
||||
& DRC_FLAGS_WIDEWIDTH_NONINCLUSIVE))
|
||||
cptr->drcc_dist--;
|
||||
|
|
|
|||
|
|
@ -243,12 +243,12 @@ proc magic::drcupdate { option } {
|
|||
}
|
||||
|
||||
proc magic::drcstate { status } {
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
set winlist [*bypass windownames layout]
|
||||
foreach lwin $winlist {
|
||||
set framename [winfo parent $lwin]
|
||||
if {$framename == "."} {
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
return
|
||||
}
|
||||
switch $status {
|
||||
|
|
@ -264,7 +264,7 @@ proc magic::drcstate { status } {
|
|||
busy { ${framename}.titlebar.drcbutton configure -selectcolor yellow }
|
||||
}
|
||||
}
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
}
|
||||
|
||||
# Create the menu of windows. This is kept separate from the cell manager,
|
||||
|
|
@ -515,7 +515,7 @@ proc magic::captions {{subcommand {}}} {
|
|||
if {$subcommand != {} && $subcommand != "writeable" && $subcommand != "load"} {
|
||||
return
|
||||
}
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
set winlist [magic::windownames layout]
|
||||
foreach winpath $winlist {
|
||||
set framename [winfo parent $winpath]
|
||||
|
|
@ -535,7 +535,7 @@ proc magic::captions {{subcommand {}}} {
|
|||
"Loaded: ${subcaption1} Editing: ${subcaption2} Tool: $Opts(tool) \
|
||||
Technology: ${techname}"
|
||||
}
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
}
|
||||
|
||||
# Allow captioning in the title window by tagging the "load" and "edit" commands
|
||||
|
|
@ -670,10 +670,10 @@ proc magic::cursorview {win} {
|
|||
if {$win == {}} {
|
||||
return
|
||||
}
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
set framename [winfo parent $win]
|
||||
if {[catch {set cr [*bypass cif scale out]}]} {
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
return
|
||||
}
|
||||
if {$cr == 0} {return}
|
||||
|
|
@ -691,7 +691,7 @@ proc magic::cursorview {win} {
|
|||
set olstx [expr {$olstx * $cr}]
|
||||
set olsty [expr {$olsty * $cr}]
|
||||
}]} {
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -707,24 +707,24 @@ proc magic::cursorview {win} {
|
|||
set titletext [format "(%+g %+g) microns" $olstx $olsty]
|
||||
${framename}.titlebar.pos configure -text $titletext
|
||||
}
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
}
|
||||
|
||||
proc magic::toolupdate {win {yesno "yes"} {layerlist "none"}} {
|
||||
global Winopts
|
||||
|
||||
if {[magic::display] == "NULL"} {return}
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
if {$win == {}} {
|
||||
set win [magic::windownames]
|
||||
}
|
||||
|
||||
# Wind3d has a "see" function, so make sure this is not a 3d window
|
||||
if {$win == [magic::windownames wind3d]} {
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
return
|
||||
}
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
|
||||
set topname [winfo toplevel $win]
|
||||
set framename [winfo parent $win]
|
||||
|
|
@ -831,13 +831,13 @@ proc magic::techrebuild {winpath {cmdstr ""}} {
|
|||
proc magic::setscrollvalues {win} {
|
||||
global Opts
|
||||
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
set svalues [${win} view get]
|
||||
set bvalues [${win} view bbox]
|
||||
|
||||
set framename [winfo parent ${win}]
|
||||
if {$framename == "."} {
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -881,7 +881,7 @@ proc magic::setscrollvalues {win} {
|
|||
|
||||
proc magic::scrollupdate {win} {
|
||||
|
||||
logcommands suspend
|
||||
*bypass logcommands suspend
|
||||
if {[magic::display] == "NULL"} {return}
|
||||
if {[info level] <= 1} {
|
||||
|
||||
|
|
@ -898,7 +898,7 @@ proc magic::scrollupdate {win} {
|
|||
magic::setscrollvalues $win
|
||||
}
|
||||
}
|
||||
logcommands resume
|
||||
*bypass logcommands resume
|
||||
}
|
||||
|
||||
# scrollview: update the magic display to match the
|
||||
|
|
|
|||
Loading…
Reference in New Issue