From b8da6ab001b609a20e3edaa9bce5bc365ea4cc6f Mon Sep 17 00:00:00 2001 From: Frank Li Date: Thu, 13 Jan 2011 10:25:43 +0800 Subject: [PATCH] Fixed issue #661: TProc crash when choose file and Git Sync dialog loads Signed-off-by: Frank Li --- src/TortoiseProc/BranchCombox.h | 2 +- src/TortoiseShell/ContextMenu.cpp | 30 ++++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/TortoiseProc/BranchCombox.h b/src/TortoiseProc/BranchCombox.h index 6652898e5..949012159 100644 --- a/src/TortoiseProc/BranchCombox.h +++ b/src/TortoiseProc/BranchCombox.h @@ -155,7 +155,7 @@ protected: STRING_VECTOR list; list.clear(); - int current; + int current=0; m_ctrlLocalBranch.Reset(); m_ctrlRemoteBranch.Reset(); diff --git a/src/TortoiseShell/ContextMenu.cpp b/src/TortoiseShell/ContextMenu.cpp index 3aa016040..839238a07 100644 --- a/src/TortoiseShell/ContextMenu.cpp +++ b/src/TortoiseShell/ContextMenu.cpp @@ -1280,12 +1280,18 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) //#region case case ShellMenuSync: svnCmd += _T("sync /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuCheckout: svnCmd += _T("checkout /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuUpdate: @@ -1424,12 +1430,18 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) break; case ShellMenuImport: svnCmd += _T("import /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuExport: svnCmd += _T("export /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuAbout: @@ -1437,7 +1449,10 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) break; case ShellMenuCreateRepos: svnCmd += _T("repocreate /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuMerge: @@ -1906,7 +1921,10 @@ STDMETHODIMP CShellExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi) break; case ShellMenuClone: svnCmd += _T("clone /path:\""); - svnCmd += folder_; + if (files_.size() > 0) + svnCmd += files_.front(); + else + svnCmd += folder_; svnCmd += _T("\""); break; case ShellMenuPull: -- 2.11.4.GIT