Piotr Caban : jscript: Throw error in to_primitive function.
Alexandre Julliard
julliard at winehq.org
Wed Jul 22 09:35:04 CDT 2009
Module: wine
Branch: master
Commit: 412e0af26f05aaad53731fecbd9045e696bb6452
URL: http://source.winehq.org/git/wine.git/?a=commit;h=412e0af26f05aaad53731fecbd9045e696bb6452
Author: Piotr Caban <piotr.caban at gmail.com>
Date: Wed Jul 22 13:02:24 2009 +0200
jscript: Throw error in to_primitive function.
---
dlls/jscript/jscript_En.rc | 1 +
dlls/jscript/jsutils.c | 8 ++++----
dlls/jscript/resource.h | 1 +
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/jscript/jscript_En.rc b/dlls/jscript/jscript_En.rc
index 5e53f6d..df8ee2f 100644
--- a/dlls/jscript/jscript_En.rc
+++ b/dlls/jscript/jscript_En.rc
@@ -22,6 +22,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
{
+ IDS_TO_PRIMITIVE "Error converting object to primitive type"
IDS_INVALID_CALL_ARG "Invalid procedure call or argument"
IDS_NO_PROPERTY "Object doesn't support this property or method"
IDS_ARG_NOT_OPT "Argument not optional"
diff --git a/dlls/jscript/jsutils.c b/dlls/jscript/jsutils.c
index d5ffa7f..10d4f51 100644
--- a/dlls/jscript/jsutils.c
+++ b/dlls/jscript/jsutils.c
@@ -211,7 +211,7 @@ HRESULT to_primitive(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret
if(SUCCEEDED(hres)) {
hres = jsdisp_call(jsdisp, id, ctx->lcid, DISPATCH_METHOD, &dp, ret, ei, NULL /*FIXME*/);
if(FAILED(hres)) {
- FIXME("throw TypeError\n");
+ WARN("call error - forwarding exception\n");
jsdisp_release(jsdisp);
return hres;
}
@@ -227,7 +227,7 @@ HRESULT to_primitive(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret
if(SUCCEEDED(hres)) {
hres = jsdisp_call(jsdisp, id, ctx->lcid, DISPATCH_METHOD, &dp, ret, ei, NULL /*FIXME*/);
if(FAILED(hres)) {
- FIXME("throw TypeError\n");
+ WARN("call error - forwarding exception\n");
jsdisp_release(jsdisp);
return hres;
}
@@ -241,8 +241,8 @@ HRESULT to_primitive(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret
jsdisp_release(jsdisp);
- FIXME("throw TypeError\n");
- return E_FAIL;
+ WARN("failed\n");
+ return throw_type_error(ctx, ei, IDS_TO_PRIMITIVE, NULL);
}
default:
FIXME("Unimplemented for vt %d\n", V_VT(v));
diff --git a/dlls/jscript/resource.h b/dlls/jscript/resource.h
index 91d14d3..0f5af9b 100644
--- a/dlls/jscript/resource.h
+++ b/dlls/jscript/resource.h
@@ -18,6 +18,7 @@
#include <windef.h>
+#define IDS_TO_PRIMITIVE 0x0001
#define IDS_INVALID_CALL_ARG 0x0005
#define IDS_NO_PROPERTY 0x01B6
#define IDS_ARG_NOT_OPT 0x01c1
More information about the wine-cvs
mailing list