From: Takashi Sawanaka Date: Sat, 5 Jun 2021 01:19:35 +0000 (+0900) Subject: Add WinMergePluginBase.h (7) X-Git-Tag: v2.16.13~21 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=8c74d7694e271f7ab00fc0e0f4fa74ec052f617b;p=winmerge-jp%2Fwinmerge-jp.git Add WinMergePluginBase.h (7) --- 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; }