Jacek Caban : mshtml: Store compat mode in dispex_data_t and use it in dispex_compat_mode when possible.
Alexandre Julliard
julliard at winehq.org
Thu Feb 8 15:33:08 CST 2018
Module: wine
Branch: master
Commit: 728080667267a636d68cdf8ff8d1731a6e27aa0f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=728080667267a636d68cdf8ff8d1731a6e27aa0f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Feb 8 20:53:21 2018 +0100
mshtml: Store compat mode in dispex_data_t and use it in dispex_compat_mode when possible.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/dispex.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index ea20baf..360d915 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -64,6 +64,7 @@ typedef struct {
struct dispex_data_t {
dispex_static_data_t *desc;
+ compat_mode_t compat_mode;
DWORD func_cnt;
DWORD func_size;
@@ -411,6 +412,7 @@ static dispex_data_t *preprocess_dispex_data(dispex_static_data_t *desc, compat_
return NULL;
}
data->desc = desc;
+ data->compat_mode = compat_mode;
data->func_cnt = 0;
data->func_disp_cnt = 0;
data->func_size = 16;
@@ -1364,7 +1366,9 @@ HRESULT remove_attribute(DispatchEx *This, DISPID id, VARIANT_BOOL *success)
compat_mode_t dispex_compat_mode(DispatchEx *dispex)
{
- return dispex->info->desc->vtbl->get_compat_mode(dispex);
+ return dispex->info != dispex->info->desc->delayed_init_info
+ ? dispex->info->compat_mode
+ : dispex->info->desc->vtbl->get_compat_mode(dispex);
}
static dispex_data_t *ensure_dispex_info(dispex_static_data_t *desc, compat_mode_t compat_mode)
More information about the wine-cvs
mailing list