| Commit | Date | |
|---|---|---|
| 2007-08-07 05:09:31 | Tree | |
|
[r2281]
by
david_costanzo
Fix bug #1735569; When the clipboard contains text, running BITMAPTURTLE no longer prevents subsequent calls to BITMAPTURTLE from working. The root of the bug is that, if FMSLogo has an unhanded "stop" error, the routine which implements BITMAPTURTLE would do nothing. In most cases, this is what we want, but in this case, the routine was called from the WM_PAINT message handler, not the Logo evaluator, so it would cause this bitmapped-turtle drawing part of WM_PAINT to do nothing. Every time a new instruction was run in the commander, it would save the current state of the "stopping_flag", run the command, then restore "stopping_flag". Then WM_PAINT would fire and this routine would see that FMSLogo was still in a stopping state and again, it would nothing. Once the stopping_flag was set, there was no way to unset it. Depending on how you look at it, this could be considered a regression from MSWLogo. I had earlier fixed a bug where this condition would cause FMSLogo to have an unprocessed "halt" error, which caused the next command to always throw a stopping error. The fix was to backup and restore the state of stopping_flag while running any instruction from the commander. But because the stopping_flag is now always restored after it is run, the WM_PAINT message has no way of clearing it. The fix for this bug is to ignore the state of stopping_flag from the context of WM_PAINT. The only time that this flag should be honored is if we're in the evaluator, in which case, it's used to ignore further Logo instructions. |
2007-08-07 05:00:14 | Tree |
| 2007-08-07 00:14:53 | Tree | |
| 2007-08-07 00:05:32 | Tree | |
|
[r2278]
by
david_costanzo
Add a Portuguese translation of localizedstrings-en.h, courtesy of Alexandre Soare. |
2007-08-06 23:25:55 | Tree |
|
[r2277]
by
david_costanzo
Fix bug #1765108; MACHINE now outputs the correct working area, even it it changed. FMSLogo also now positions new windows in the working area, even if the size of the desktop or taskbar has changed. The fix was to always call SystemParametersInfo() to get the size of the current working area, instead of calling it once when the program starts up and using the cached values from then on. |
2007-08-06 00:21:02 | Tree |
|
[r2276]
by
david_costanzo
#ifdef-out the body of release_all_objects() unless MEM_DEBUG is defined. This was done because releasing all objects can cause FMSLogo to hang on exit. It is also provides no value, as the operating system will do this. It's only really useful when looking for memory leaks. In truth, the real reason for this change is that releasing all objects can cause an AV. I don't know what causes this condition, but running benchmark.lgo triggers it. This is definately a bug, but there's no value in having the program crash on exit for the end-user. |
2007-08-05 23:30:56 | Tree |
|
[r2275]
by
david_costanzo
Fix a bug in the way the makefile deletes temporary files. As a result of this bug, I accidently released a file called AM.lgo.bak. |
2007-07-16 06:18:43 | Tree |
| 2007-07-16 06:15:38 | Tree | |
| 2007-07-16 06:15:37 | Tree |