From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/dispex.c | 10 +++++----- dlls/mshtml/htmldoc.c | 10 +++++----- dlls/mshtml/htmlwindow.c | 8 ++++---- dlls/mshtml/mshtml_private.h | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index f26789f49e7..24cba0a9be7 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -1743,14 +1743,14 @@ static dispex_data_t *ensure_dispex_info(DispatchEx *dispex, dispex_static_data_
static BOOL ensure_real_info(DispatchEx *dispex) { - HTMLInnerWindow *script_global = NULL; - compat_mode_t compat_mode; + HTMLInnerWindow *script_global;
if(dispex->info != dispex->info->desc->delayed_init_info) return TRUE;
- compat_mode = dispex->info->desc->vtbl->get_compat_mode(dispex, &script_global); - dispex->info = ensure_dispex_info(dispex, dispex->info->desc, compat_mode, script_global); + script_global = dispex->info->desc->vtbl->get_script_global(dispex); + dispex->info = ensure_dispex_info(dispex, dispex->info->desc, + script_global->doc->document_mode, script_global); return dispex->info != NULL; }
@@ -2652,7 +2652,7 @@ void init_dispatch(DispatchEx *dispex, dispex_static_data_t *data, HTMLInnerWind dispex->jsdisp = NULL; ccref_init(&dispex->ccref, 1);
- if(data->vtbl->get_compat_mode) { + if(data->vtbl->get_script_global) { /* delayed init */ if(!data->delayed_init_info) { EnterCriticalSection(&cs_dispex_static_data); diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 0eb2bc3bcda..eaf3b352006 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -5535,14 +5535,14 @@ static HRESULT HTMLDocumentNode_get_prop_desc(DispatchEx *dispex, DISPID id, str return S_OK; }
-static compat_mode_t HTMLDocumentNode_get_compat_mode(DispatchEx *dispex, HTMLInnerWindow **script_global) +static HTMLInnerWindow *HTMLDocumentNode_get_script_global(DispatchEx *dispex) { HTMLDocumentNode *This = impl_from_DispatchEx(dispex);
- TRACE("(%p) returning %u\n", This, This->document_mode); + TRACE("(%p) using %u compat mode\n", This, This->document_mode);
- *script_global = This->script_global; - return lock_document_mode(This); + lock_document_mode(This); + return This->script_global; }
static nsISupports *HTMLDocumentNode_get_gecko_target(DispatchEx *dispex) @@ -5639,7 +5639,7 @@ static const event_target_vtbl_t HTMLDocumentNode_event_target_vtbl = { .invoke = HTMLDocumentNode_invoke, .disp_invoke = HTMLDocumentNode_disp_invoke, .next_dispid = HTMLDocumentNode_next_dispid, - .get_compat_mode = HTMLDocumentNode_get_compat_mode, + .get_script_global = HTMLDocumentNode_get_script_global, }, .get_gecko_target = HTMLDocumentNode_get_gecko_target, .bind_event = HTMLDocumentNode_bind_event, diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index a428158f4ac..445be60fba8 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -3960,11 +3960,11 @@ HRESULT HTMLWindow_get_prop_desc(DispatchEx *dispex, DISPID id, struct property_ return S_OK; }
-static compat_mode_t HTMLWindow_get_compat_mode(DispatchEx *dispex, HTMLInnerWindow **script_global) +static HTMLInnerWindow *HTMLWindow_get_script_global(DispatchEx *dispex) { HTMLInnerWindow *This = impl_from_DispatchEx(dispex); - *script_global = This; - return lock_document_mode(This->doc); + lock_document_mode(This->doc); + return This; }
static IWineJSDispatchHost *HTMLWindow_get_outer_iface(DispatchEx *dispex) @@ -4155,7 +4155,7 @@ static const event_target_vtbl_t HTMLWindow_event_target_vtbl = { .invoke = HTMLWindow_invoke, .next_dispid = HTMLWindow_next_dispid, .get_prop_desc = HTMLWindow_get_prop_desc, - .get_compat_mode = HTMLWindow_get_compat_mode, + .get_script_global = HTMLWindow_get_script_global, .get_outer_iface = HTMLWindow_get_outer_iface, }, .get_gecko_target = HTMLWindow_get_gecko_target, diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 2952149d881..35cb705d0a5 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -401,7 +401,7 @@ typedef struct { HRESULT (*disp_invoke)(DispatchEx*,DISPID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,IServiceProvider*);
/* Used by objects that want to delay their compat mode initialization until actually needed */ - compat_mode_t (*get_compat_mode)(DispatchEx*,HTMLInnerWindow**); + HTMLInnerWindow *(*get_script_global)(DispatchEx*);
/* Used by objects that want to populate some dynamic props on initialization */ HRESULT (*populate_props)(DispatchEx*);