Module: wine Branch: master Commit: f61bd1c5bf748b0a2d940b98105c48ff660eefbe URL: http://source.winehq.org/git/wine.git/?a=commit;h=f61bd1c5bf748b0a2d940b9810...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Sep 22 14:25:06 2011 +0200
vbscript: Added support for DISPATCH_METHOD flags in invoke_builtin.
---
dlls/vbscript/vbdisp.c | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c index 96df71a..d083d74 100644 --- a/dlls/vbscript/vbdisp.c +++ b/dlls/vbscript/vbdisp.c @@ -139,14 +139,15 @@ static HRESULT invoke_builtin(vbdisp_t *This, const builtin_prop_t *prop, WORD f FIXME("property does not support DISPATCH_PROPERTYGET\n"); return E_FAIL; } - /* FALLTHROUGH */ + break; case DISPATCH_PROPERTYGET|DISPATCH_METHOD: - if(arg_cnt(dp) < prop->min_args || arg_cnt(dp) > (prop->max_args ? prop->max_args : prop->min_args)) { - FIXME("invalid number of arguments\n"); + break; + case DISPATCH_METHOD: + if(prop->flags & (BP_GET|BP_GETPUT)) { + FIXME("Call on property\n"); return E_FAIL; } - - return prop->proc(This, dp->rgvarg, dp->cArgs, res); + break; case DISPATCH_PROPERTYPUT: if(!(prop->flags & (BP_GET|BP_GETPUT))) { FIXME("property does not support DISPATCH_PROPERTYPUT\n"); @@ -159,6 +160,13 @@ static HRESULT invoke_builtin(vbdisp_t *This, const builtin_prop_t *prop, WORD f FIXME("unsupported flags %x\n", flags); return E_NOTIMPL; } + + if(arg_cnt(dp) < prop->min_args || arg_cnt(dp) > (prop->max_args ? prop->max_args : prop->min_args)) { + FIXME("invalid number of arguments\n"); + return E_FAIL; + } + + return prop->proc(This, dp->rgvarg, dp->cArgs, res); }
static BOOL run_terminator(vbdisp_t *This)