1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-19 16:40:26 +02:00

Fixed a shutdown crash

This commit is contained in:
Brian Fiete 2020-04-28 12:55:35 -07:00
parent 607f819d90
commit 9210346853

View file

@ -3188,7 +3188,7 @@ namespace IDE
#endif #endif
#unwarn #unwarn
if (mMainWindow == null) if ((mMainWindow == null) || (mShuttingDown))
{ {
mDeferredFails.Add(new String(text)); mDeferredFails.Add(new String(text));
return null; return null;
@ -4372,7 +4372,7 @@ namespace IDE
{ {
if (!mInitialized) if (!mInitialized)
return; return;
#if !CLI
mLastActivePanel = panel; mLastActivePanel = panel;
RecordHistoryLocation(); RecordHistoryLocation();
ShowTab(panel, label, false, setFocus); ShowTab(panel, label, false, setFocus);
@ -4380,6 +4380,7 @@ namespace IDE
panel.FocusForKeyboard(); panel.FocusForKeyboard();
if ((!panel.mWidgetWindow.mHasFocus) && (!mRunningTestScript)) if ((!panel.mWidgetWindow.mHasFocus) && (!mRunningTestScript))
panel.mWidgetWindow.SetForeground(); panel.mWidgetWindow.SetForeground();
#endif
} }
[IDECommand] [IDECommand]
@ -6127,13 +6128,16 @@ namespace IDE
TabbedView.TabButton nextTab = null; TabbedView.TabButton nextTab = null;
bool foundRemovedTab = false; bool foundRemovedTab = false;
// Select the previous tab or the next one (if this is the first) // Select the previous tab or the next one (if this is the first)
tabbedView.WithTabs(scope [&] (checkTab) => if (tabButton.mIsActive)
{ {
if (checkTab == tabButton) tabbedView.WithTabs(scope [&] (checkTab) =>
foundRemovedTab = true; {
else if ((!foundRemovedTab) || (nextTab == null)) if (checkTab == tabButton)
nextTab = checkTab; foundRemovedTab = true;
}); else if ((!foundRemovedTab) || (nextTab == null))
nextTab = checkTab;
});
}
tabbedView.RemoveTab(tabButton); tabbedView.RemoveTab(tabButton);
if (nextTab != null) if (nextTab != null)
@ -6493,7 +6497,7 @@ namespace IDE
case "-testNoExit": case "-testNoExit":
mExitWhenTestScriptDone = false; mExitWhenTestScriptDone = false;
case "-firstRun": case "-firstRun":
mForceFirstRun = true; mForceFirstRun = true;
mIsFirstRun = true; mIsFirstRun = true;
case "-clean": case "-clean":
mWantsClean = true; mWantsClean = true;
@ -6505,7 +6509,7 @@ namespace IDE
case "-launchPaused": case "-launchPaused":
if (mLaunchData != null) if (mLaunchData != null)
mLaunchData.mPaused = true; mLaunchData.mPaused = true;
else else
Fail("'-launchPaused' can only be used after '-launch'"); Fail("'-launchPaused' can only be used after '-launch'");
default: default:
return false; return false;