From 009c1413aae4316a3dfebf2545bd3bae94389e7b Mon Sep 17 00:00:00 2001 From: Stephen Heumann Date: Mon, 15 Jul 2019 19:33:45 -0500 Subject: [PATCH] Make sure we shut down the resource manager only for our user ID. This fixes an issue that was causing crashes at shutdown in some cases. --- diskbrowser.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/diskbrowser.c b/diskbrowser.c index 2166bac..273a0da 100644 --- a/diskbrowser.c +++ b/diskbrowser.c @@ -28,6 +28,9 @@ GrafPortPtr window; /* Is the window open? */ Boolean windowOpened; +/* Is the resource manager started for our user ID? */ +Boolean resourceStarted = false; + /* Disks list control */ CtlRecHndl disksListHandle; @@ -105,7 +108,13 @@ void DoGoAway(void) { CloseBrowserWindow(); RemoveMenuItem(); AcceptRequests(NULL, myUserID, NULL); - ResourceShutDown(); + if (resourceStarted) { + Word origResourceApp = GetCurResourceApp(); + SetCurResourceApp(myUserID); + ResourceShutDown(); + SetCurResourceApp(origResourceApp); + resourceStarted = false; + } } /* @@ -171,6 +180,7 @@ int main(void) { Word origResourceApp = GetCurResourceApp(); ResourceStartUp(myUserID); + resourceStarted = true; SetCurResourceApp(origResourceApp); /* Bail out if NetDisk or Marinetti is not present */