Module: wine Branch: master Commit: 728080667267a636d68cdf8ff8d1731a6e27aa0f URL: https://source.winehq.org/git/wine.git/?a=commit;h=728080667267a636d68cdf8ff...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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)