Jacek Caban : jscript: Propagate Invoke error code using jsexcept_t.

Alexandre Julliard julliard at winehq.org
Mon Feb 3 15:06:06 CST 2020


Module: wine
Branch: master
Commit: 83fa76c25e89897766eb6abde3c266e129f1baa5
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=83fa76c25e89897766eb6abde3c266e129f1baa5

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Feb  3 14:47:07 2020 +0100

jscript: Propagate Invoke error code using jsexcept_t.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/dispex.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c
index cdfbf9f57e..5b41f2702c 100644
--- a/dlls/jscript/dispex.c
+++ b/dlls/jscript/dispex.c
@@ -1974,7 +1974,8 @@ static HRESULT disp_invoke(script_ctx_t *ctx, IDispatch *disp, DISPID id, WORD f
 
     if(hres == DISP_E_EXCEPTION) {
         TRACE("DISP_E_EXCEPTION: %08x %s %s\n", ei.scode, debugstr_w(ei.bstrSource), debugstr_w(ei.bstrDescription));
-        hres = SUCCEEDED(ei.scode) ? E_FAIL : ei.scode;
+        reset_ei(ctx->ei);
+        ctx->ei->error = (SUCCEEDED(ei.scode) || ei.scode == DISP_E_EXCEPTION) ? E_FAIL : ei.scode;
         SysFreeString(ei.bstrSource);
         SysFreeString(ei.bstrDescription);
         SysFreeString(ei.bstrHelpFile);




More information about the wine-cvs mailing list