diff --git a/src/cocoa/cocoamain.mm b/src/cocoa/cocoamain.mm index d3f6733..35ce19b 100644 --- a/src/cocoa/cocoamain.mm +++ b/src/cocoa/cocoamain.mm @@ -1156,8 +1156,6 @@ std::vector SolveSpace::GetFontFiles() { } - (void)applicationWillTerminate:(NSNotification *)aNotification { - SolveSpace::SK.Clear(); - SolveSpace::SS.Clear(); SolveSpace::SS.Exit(); } @@ -1191,5 +1189,8 @@ int main(int argc, const char *argv[]) { [NSApp activateIgnoringOtherApps:YES]; [NSApp run]; + SolveSpace::SK.Clear(); + SolveSpace::SS.Clear(); + return 0; } diff --git a/src/gtk/gtkmain.cpp b/src/gtk/gtkmain.cpp index c155498..aae81b4 100644 --- a/src/gtk/gtkmain.cpp +++ b/src/gtk/gtkmain.cpp @@ -650,6 +650,7 @@ protected: } virtual bool on_delete_event(GdkEventAny *) { + if(!SS.OkayToStartNewFile()) return true; SS.Exit(); return true; diff --git a/src/solvespace.cpp b/src/solvespace.cpp index 0080e9a..b89044d 100644 --- a/src/solvespace.cpp +++ b/src/solvespace.cpp @@ -144,9 +144,6 @@ bool SolveSpaceUI::OpenFile(const std::string &filename) { } void SolveSpaceUI::Exit(void) { - if(!OkayToStartNewFile()) - return; - // Recent files for(int i = 0; i < MAX_RECENT; i++) CnfFreezeString(RecentFile[i], "RecentFile_" + std::to_string(i));