diff --git a/GpApp/Settings.cpp b/GpApp/Settings.cpp index ec9fcb7..78d9aa9 100644 --- a/GpApp/Settings.cpp +++ b/GpApp/Settings.cpp @@ -726,6 +726,8 @@ void DoSoundPrefs (void) PLError_t theErr; short itemHit; Boolean leaving; + + PortabilityLayer::WindowManager *wm = PortabilityLayer::WindowManager::GetInstance(); BringUpDialog(&prefDlg, kSoundPrefsDialID, nullptr); @@ -741,6 +743,9 @@ void DoSoundPrefs (void) SetDialogItemValue(prefDlg, kPlayMusicItem, (short)wasPlay); leaving = false; + Window *exclStack = prefDlg->GetWindow(); + wm->SwapExclusiveWindow(exclStack); // Push exclusive window + while (!leaving) { itemHit = prefDlg->ExecuteModal(SoundFilter); @@ -844,6 +849,8 @@ void DoSoundPrefs (void) } } + wm->SwapExclusiveWindow(exclStack); // Pop exclusive window + prefDlg->Destroy(); }