I still think that the auto recovery bug under certain conditions is not really important for 99.9999% of the UltraEdit users. More important is that UltraEdit does not crash because of an error in source code.
I want to add my opinion on config changes where the session later crashes, are silently lost
There are in general 3 different methods for handling configuration settings:
- Settings are loaded on startup and saved whenever a setting is changed. This method is mainly used by applications saving settings in Windows registry as the registry is permanently loaded in RAM and saved regularly by Windows. Applications saving configuration settings in a file usually don't use this method, except the application is badly coded.
- Settings are loaded on startup and saved when the user changes them in one or more configuration dialogs. This method is used mainly by applications saving the configuration in 1 or more files and not in Windows registry and which do not contain configuration settings which can be modified anywhere else within the application like in context menus.
- Settings are loaded on startup and saved only on exit. This is a very efficient method for applications having configurations which can be modified by the user also outside a configuration dialog. Such applications need to handle often also settings changed dynamically by the user by simply clicking on an icon, a context menu or a button, and lots of history entries. And very often such applications support multiple instances where special handling for the configuration file is needed to avoid that two or even more instances read/write simultaneously the settings from the configuration file(s).
I'm also a developer for Windows applications and I use always third method although I know that when a user makes changes in configuration and then the application crashes, the changes are lost as all other modifications on the settings made outside the configuration dialogs. But I have designed my applications NOT to crash. So this case is simply unimportant.
Everything can happen up to a not starting computer when the entire PC crashes. I have once repaired a Windows machine which crashed and where next start failed as 1 bit in 12th byte of Windows system registry file was wrong as I later found out after repairing the registry file by using a Bart PE CD and systen repair snapshot of the system registry. I'm a developer for protective devices for power plants, substations and transformers with 20 years of experience in this area including IEC 61508 and design of hardware and software granting SIL3 (safety integrity level 3). All engineers really knowing what safety integrity level means know that a personal computer cannot be made safe. The software running on PCs is always unsafe and every PC hardware failure can always result in an irreparable loss or corruption of data.
That does not mean that developers of software for personal computers should not think about strategies on recovering data after an unexpected events like an application or total system crash. But the management of the software company has to decide how much time and money is invested in thinking and implementing of detection of corrupt data (often easy, but not for text files) and data recovery (extremly difficult) as PCs are unsafe by design.
By the way:Apply
means: Take over the values of the settings in ALL the configuration dialogs (not just the one currently displayed) and apply them to the application, but keep the window (configuration dialog) open.OK
means: Take over the values of the settings in ALL the configuration dialogs (not just the one currently displayed), apply them to the application and close the window (configuration dialog).
As Microsoft designed for Windows the 3 main buttons for property sheets as used for configurations, it was no accident that those buttons were labled OK
and not Save
. It is a common mistake that users think that OK
. Only a Save
button should really result always in an immediate saving of the data. A button labeled OK
just means okay for the entered data, and nothing more.