"progress report" of percent completion on certain long-running processes (namely extraction, DEF reads, and GDS/CIF writes) was allowing Tcl/Tk events to be processed so that the display would be repainted and the console window updated to show the progress instead of hanging. But that was allowing any key macros or commands to be entered and executed, potentially corrupting the database while the process was running. I have used Tk_RestrictEvents() to prevent key and button events from being processed until afterward. This preserves the display updates (which do not alter the database) while preventing commands from being run during one of these long-running processes. Also: Previously, whenever a long-running process printed the status, it would not update at the end, leaving output like "52% complete" being the last output, leaving the impression that the process never finished. Changed the code so that if any partial progress is printed, then it will always finish up with the output "100% complete" so that it is clear to the user that everything went according to plan. |
||
|---|---|---|
| .. | ||
| CIFgen.c | ||
| CIFhier.c | ||
| CIFint.h | ||
| CIFmain.c | ||
| CIFrdcl.c | ||
| CIFrdpoly.c | ||
| CIFrdpt.c | ||
| CIFrdtech.c | ||
| CIFrdutils.c | ||
| CIFread.h | ||
| CIFsee.c | ||
| CIFtech.c | ||
| CIFwrite.c | ||
| Makefile | ||
| cif.h | ||