diff --git a/src/platform/cocoamain.mm b/src/platform/cocoamain.mm index 069923b..ad8c723 100644 --- a/src/platform/cocoamain.mm +++ b/src/platform/cocoamain.mm @@ -1176,8 +1176,6 @@ const void *SolveSpace::LoadResource(const std::string &name, size_t *size) { } - (void)applicationWillTerminate:(NSNotification *)aNotification { - SolveSpace::SK.Clear(); - SolveSpace::SS.Clear(); SolveSpace::SS.Exit(); } @@ -1211,5 +1209,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/platform/gtkmain.cpp b/src/platform/gtkmain.cpp index 90a47a7..f1639e8 100644 --- a/src/platform/gtkmain.cpp +++ b/src/platform/gtkmain.cpp @@ -642,6 +642,7 @@ protected: } bool on_delete_event(GdkEventAny *) override { + if(!SS.OkayToStartNewFile()) return true; SS.Exit(); return true; diff --git a/src/solvespace.cpp b/src/solvespace.cpp index e38b279..1abaa1d 100644 --- a/src/solvespace.cpp +++ b/src/solvespace.cpp @@ -147,9 +147,6 @@ bool SolveSpaceUI::OpenFile(const std::string &filename) { } void SolveSpaceUI::Exit() { - if(!OkayToStartNewFile()) - return; - // Recent files for(int i = 0; i < MAX_RECENT; i++) CnfFreezeString(RecentFile[i], "RecentFile_" + std::to_string(i));