Jacek Caban : mshtml: Initialize HTMLFiltersCollection object with compat mode.
Alexandre Julliard
julliard at winehq.org
Tue Mar 16 16:39:04 CDT 2021
Module: wine
Branch: master
Commit: 51479d560ca53856f8b20dcb334ea61161fafdb9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=51479d560ca53856f8b20dcb334ea61161fafdb9
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Mar 16 19:57:17 2021 +0100
mshtml: Initialize HTMLFiltersCollection object with compat mode.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlelem.c | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c
index 8e79da70571..8d2d8626047 100644
--- a/dlls/mshtml/htmlelem.c
+++ b/dlls/mshtml/htmlelem.c
@@ -230,7 +230,7 @@ static inline HTMLFiltersCollection *impl_from_IHTMLFiltersCollection(IHTMLFilte
return CONTAINING_RECORD(iface, HTMLFiltersCollection, IHTMLFiltersCollection_iface);
}
-static IHTMLFiltersCollection *HTMLFiltersCollection_Create(void);
+static HRESULT create_filters_collection(compat_mode_t compat_mode, IHTMLFiltersCollection **ret);
static inline HTMLElement *impl_from_IHTMLElement(IHTMLElement *iface)
{
@@ -2011,18 +2011,16 @@ static HRESULT WINAPI HTMLElement_click(IHTMLElement *iface)
return S_OK;
}
-static HRESULT WINAPI HTMLElement_get_filters(IHTMLElement *iface,
- IHTMLFiltersCollection **p)
+static HRESULT WINAPI HTMLElement_get_filters(IHTMLElement *iface, IHTMLFiltersCollection **p)
{
HTMLElement *This = impl_from_IHTMLElement(iface);
+
TRACE("(%p)->(%p)\n", This, p);
if(!p)
return E_POINTER;
- *p = HTMLFiltersCollection_Create();
-
- return S_OK;
+ return create_filters_collection(dispex_compat_mode(&This->node.event_target.dispex), p);
}
static HRESULT WINAPI HTMLElement_put_ondragstart(IHTMLElement *iface, VARIANT v)
@@ -6606,17 +6604,21 @@ static dispex_static_data_t HTMLFiltersCollection_dispex = {
HTMLFiltersCollection_iface_tids
};
-static IHTMLFiltersCollection *HTMLFiltersCollection_Create(void)
+static HRESULT create_filters_collection(compat_mode_t compat_mode, IHTMLFiltersCollection **ret)
{
- HTMLFiltersCollection *ret = heap_alloc(sizeof(HTMLFiltersCollection));
+ HTMLFiltersCollection *collection;
- ret->IHTMLFiltersCollection_iface.lpVtbl = &HTMLFiltersCollectionVtbl;
- ret->ref = 1;
+ if(!(collection = heap_alloc(sizeof(HTMLFiltersCollection))))
+ return E_OUTOFMEMORY;
+
+ collection->IHTMLFiltersCollection_iface.lpVtbl = &HTMLFiltersCollectionVtbl;
+ collection->ref = 1;
- init_dispex(&ret->dispex, (IUnknown*)&ret->IHTMLFiltersCollection_iface,
- &HTMLFiltersCollection_dispex);
+ init_dispex_with_compat_mode(&collection->dispex, (IUnknown*)&collection->IHTMLFiltersCollection_iface,
+ &HTMLFiltersCollection_dispex, compat_mode);
- return &ret->IHTMLFiltersCollection_iface;
+ *ret = &collection->IHTMLFiltersCollection_iface;
+ return S_OK;
}
/* interface IHTMLAttributeCollection */
More information about the wine-cvs
mailing list