
On Tue, Nov 09, 2004 at 10:35:07AM -0800, Kees Cook wrote:
- 1030436 WIN 0.39: document dirty on load, incomplete transaction
(Kees was working on that, any progress?)
No progress. Found lots of related bugs, but nothing was found to actually stop this bug yet. Various workaround are possible, but not desirable, since it doesn't uncover the reason why an undo is left hanging during a load.
Progress! I have solved the bug. Thanks to mental's reminder on how to do data-tracing in gdb, I hunted this down. Basically, the change happens not during file parsing, but later during the idle handler's call to updateDisplay. Since no one expected that to have undoable actions in it, I wrapped that call in some undo insensitivity, and that solved the bug. The file (correctly) remains not dirty unless something else marks it dirty, at which point the suble offset changes will be written to disk.
See the changes in document.cpp 1.65 -> 1.66 for details. I've closed the bug.