Do not remove autosave after successfully opening file.
If SolveSpace crashes after the open, or hangs and is forcibly killed, data would be lost. (I lost my data.) Instead, remove autosave only in two cases: right after a successful save, or right after a save is declined. This should be completely safe.pull/19/head
parent
3a34f63415
commit
51f4f27b2b
|
@ -15,6 +15,8 @@ Other new features:
|
||||||
* OS X: support 3Dconnexion devices (SpaceMouse, SpaceNavigator, etc).
|
* OS X: support 3Dconnexion devices (SpaceMouse, SpaceNavigator, etc).
|
||||||
|
|
||||||
Bug fixes:
|
Bug fixes:
|
||||||
|
* Do not remove autosaves after successfully opening a file, preventing
|
||||||
|
data loss in case of two abnormal terminations in a row.
|
||||||
* Three.js: correctly respond to controls when browser zoom is used.
|
* Three.js: correctly respond to controls when browser zoom is used.
|
||||||
* OS X: do not completely hide main window when defocused.
|
* OS X: do not completely hide main window when defocused.
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,6 @@ bool SolveSpaceUI::OpenFile(const std::string &filename) {
|
||||||
saveFile = filename;
|
saveFile = filename;
|
||||||
bool success = fileLoaded && ReloadAllImported(/*canCancel=*/true);
|
bool success = fileLoaded && ReloadAllImported(/*canCancel=*/true);
|
||||||
if(success) {
|
if(success) {
|
||||||
RemoveAutosave();
|
|
||||||
AddToRecentList(filename);
|
AddToRecentList(filename);
|
||||||
} else {
|
} else {
|
||||||
saveFile = "";
|
saveFile = "";
|
||||||
|
@ -220,9 +219,6 @@ void SolveSpaceUI::Exit() {
|
||||||
// And the default styles, colors and line widths and such.
|
// And the default styles, colors and line widths and such.
|
||||||
Style::FreezeDefaultStyles();
|
Style::FreezeDefaultStyles();
|
||||||
|
|
||||||
// Exiting cleanly.
|
|
||||||
RemoveAutosave();
|
|
||||||
|
|
||||||
ExitNow();
|
ExitNow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -415,6 +411,7 @@ bool SolveSpaceUI::OkayToStartNewFile() {
|
||||||
return GetFilenameAndSave(/*saveAs=*/false);
|
return GetFilenameAndSave(/*saveAs=*/false);
|
||||||
|
|
||||||
case DIALOG_NO:
|
case DIALOG_NO:
|
||||||
|
RemoveAutosave();
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case DIALOG_CANCEL:
|
case DIALOG_CANCEL:
|
||||||
|
|
Loading…
Reference in New Issue