From 4384a116f1fc9e8edba74d31439c242240a9b33b Mon Sep 17 00:00:00 2001 From: Sven Strickroth Date: Tue, 5 Feb 2019 19:36:02 +0100 Subject: [PATCH] SyncDlg&RebaseDlg: Handle thread creation failures gracefully Signed-off-by: Sven Strickroth --- src/TortoiseProc/RebaseDlg.cpp | 8 ++++---- src/TortoiseProc/SyncDlg.cpp | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/TortoiseProc/RebaseDlg.cpp b/src/TortoiseProc/RebaseDlg.cpp index d18b9e6b4..2c6b0c646 100644 --- a/src/TortoiseProc/RebaseDlg.cpp +++ b/src/TortoiseProc/RebaseDlg.cpp @@ -2518,20 +2518,20 @@ void CRebaseDlg::OnBnClickedAbort() SaveSplitterPos(); - if(m_OrigUpstreamHash.IsEmpty()) + if (m_RebaseStage == CHOOSE_BRANCH || m_RebaseStage== CHOOSE_COMMIT_PICK_MODE) { __super::OnCancel(); - return; + goto end; } - if(m_RebaseStage == CHOOSE_BRANCH || m_RebaseStage== CHOOSE_COMMIT_PICK_MODE) + if (m_OrigUpstreamHash.IsEmpty() || m_OrigHEADHash.IsEmpty()) { __super::OnCancel(); goto end; } if (!m_bAbort && CMessageBox::Show(GetSafeHwnd(), IDS_PROC_REBASE_ABORT, IDS_APPNAME, MB_YESNO | MB_ICONQUESTION) != IDYES) - return; + goto end; m_ctrlTabCtrl.SetActiveTab(REBASE_TAB_LOG); diff --git a/src/TortoiseProc/SyncDlg.cpp b/src/TortoiseProc/SyncDlg.cpp index 28f5879d2..00257fa6c 100644 --- a/src/TortoiseProc/SyncDlg.cpp +++ b/src/TortoiseProc/SyncDlg.cpp @@ -1877,5 +1877,7 @@ void CSyncDlg::StartWorkerThread() { InterlockedExchange(&m_bBlock, FALSE); CMessageBox::Show(this->m_hWnd, IDS_ERR_THREADSTARTFAILED, IDS_APPNAME, MB_OK | MB_ICONERROR); + SwitchToInput(); + EnableControlButton(true); } } -- 2.11.4.GIT