From 8c74d7694e271f7ab00fc0e0f4fa74ec052f617b Mon Sep 17 00:00:00 2001 From: Takashi Sawanaka Date: Sat, 5 Jun 2021 10:19:35 +0900 Subject: [PATCH] Add WinMergePluginBase.h (7) --- Src/WinMergePluginBase.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Src/WinMergePluginBase.h b/Src/WinMergePluginBase.h index b8bd3b007..c62b2f32a 100644 --- a/Src/WinMergePluginBase.h +++ b/Src/WinMergePluginBase.h @@ -186,7 +186,7 @@ public: BSTR fileSrc = pDispParams->rgvarg[3].bstrVal; BSTR fileDst = pDispParams->rgvarg[2].bstrVal; VARIANT_BOOL* pbChanged = pDispParams->rgvarg[1].pboolVal; - INT* pSubcode = &pDispParams->rgvarg[0].intVal; + INT* pSubcode = pDispParams->rgvarg[0].pintVal; VARIANT_BOOL* pbSuccess = &pVarResult->boolVal; hr = UnpackFile(fileSrc, fileDst, pbChanged, pSubcode, pbSuccess); break; @@ -213,7 +213,7 @@ public: BSTR fileSrc = pDispParams->rgvarg[3].bstrVal; BSTR folderDst = pDispParams->rgvarg[2].bstrVal; VARIANT_BOOL* pbChanged = pDispParams->rgvarg[1].pboolVal; - INT* pSubcode = &pDispParams->rgvarg[0].intVal; + INT* pSubcode = pDispParams->rgvarg[0].pintVal; VARIANT_BOOL* pbSuccess = &pVarResult->boolVal; hr = UnpackFolder(fileSrc, folderDst, pbChanged, pSubcode, pbSuccess); break; @@ -268,6 +268,13 @@ public: break; } } + if (hr == DISP_E_EXCEPTION && pExcepInfo) + { + IErrorInfo* pErrorInfo = nullptr; + GetErrorInfo(0, &pErrorInfo); + pErrorInfo->GetDescription(&pExcepInfo->bstrDescription); + pErrorInfo->GetSource(&pExcepInfo->bstrSource); + } return hr; } -- 2.11.0