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>
This commit is contained in:
parent
87f823ad91
commit
7280806672
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue