Jacek Caban : vbscript: Allow specifying simple builtin constants without proper getter.
Alexandre Julliard
julliard at winehq.org
Wed Oct 17 14:32:26 CDT 2012
Module: wine
Branch: master
Commit: 789f295efbb1c91e58103b1c67a2c02fc788a848
URL: http://source.winehq.org/git/wine.git/?a=commit;h=789f295efbb1c91e58103b1c67a2c02fc788a848
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Oct 17 09:54:27 2012 +0200
vbscript: Allow specifying simple builtin constants without proper getter.
---
dlls/vbscript/global.c | 56 ++++++------------------------------------------
dlls/vbscript/vbdisp.c | 6 +++++
2 files changed, 13 insertions(+), 49 deletions(-)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index 69686f5..87d2736 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -1560,48 +1560,6 @@ static HRESULT Global_vbUseSystemDayOfWeek(vbdisp_t *This, VARIANT *arg, unsigne
return E_NOTIMPL;
}
-static HRESULT Global_vbSunday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 1);
-}
-
-static HRESULT Global_vbMonday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 2);
-}
-
-static HRESULT Global_vbTuesday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 3);
-}
-
-static HRESULT Global_vbWednesday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 4);
-}
-
-static HRESULT Global_vbThursday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 5);
-}
-
-static HRESULT Global_vbFriday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 6);
-}
-
-static HRESULT Global_vbSaturday(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
- TRACE("\n");
- return return_short(res, 7);
-}
-
static HRESULT Global_vbFirstJan1(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
{
FIXME("\n");
@@ -2061,13 +2019,13 @@ static HRESULT Global_vbMsgBoxRtlReading(vbdisp_t *This, VARIANT *arg, unsigned
static const builtin_prop_t global_props[] = {
{DISPID_GLOBAL_VBUSESYSTEM, Global_vbUseSystem, BP_GET},
{DISPID_GLOBAL_USESYSTEMDAYOFWEEK, Global_vbUseSystemDayOfWeek, BP_GET},
- {DISPID_GLOBAL_VBSUNDAY, Global_vbSunday, BP_GET},
- {DISPID_GLOBAL_VBMONDAY, Global_vbMonday, BP_GET},
- {DISPID_GLOBAL_VBTUESDAY, Global_vbTuesday, BP_GET},
- {DISPID_GLOBAL_VBWEDNESDAY, Global_vbWednesday, BP_GET},
- {DISPID_GLOBAL_VBTHURSDAY, Global_vbThursday, BP_GET},
- {DISPID_GLOBAL_VBFRIDAY, Global_vbFriday, BP_GET},
- {DISPID_GLOBAL_VBSATURDAY, Global_vbSaturday, BP_GET},
+ {DISPID_GLOBAL_VBSUNDAY, NULL, BP_GET, 1},
+ {DISPID_GLOBAL_VBMONDAY, NULL, BP_GET, 2},
+ {DISPID_GLOBAL_VBTUESDAY, NULL, BP_GET, 3},
+ {DISPID_GLOBAL_VBWEDNESDAY, NULL, BP_GET, 4},
+ {DISPID_GLOBAL_VBTHURSDAY, NULL, BP_GET, 5},
+ {DISPID_GLOBAL_VBFRIDAY, NULL, BP_GET, 6},
+ {DISPID_GLOBAL_VBSATURDAY, NULL, BP_GET, 7},
{DISPID_GLOBAL_VBFIRSTJAN1, Global_vbFirstJan1, BP_GET},
{DISPID_GLOBAL_VBFIRSTFOURDAYS, Global_vbFirstFourDays, BP_GET},
{DISPID_GLOBAL_VBFIRSTFULLWEEK, Global_vbFirstFullWeek, BP_GET},
diff --git a/dlls/vbscript/vbdisp.c b/dlls/vbscript/vbdisp.c
index aff9361..b37caf6 100644
--- a/dlls/vbscript/vbdisp.c
+++ b/dlls/vbscript/vbdisp.c
@@ -149,6 +149,12 @@ static HRESULT invoke_builtin(vbdisp_t *This, const builtin_prop_t *prop, WORD f
}
break;
case DISPATCH_PROPERTYGET|DISPATCH_METHOD:
+ if(!prop->proc && prop->flags == BP_GET) {
+ assert((INT16)prop->min_args == prop->min_args);
+ V_VT(res) = VT_I2;
+ V_I2(res) = prop->min_args;
+ return S_OK;
+ }
break;
case DISPATCH_METHOD:
if(prop->flags & (BP_GET|BP_GETPUT)) {
More information about the wine-cvs
mailing list