[PATCH] mshtml.idl: Work around IDisplayServices and IHTMLWindow7 conflict for getComputedStyle.
Dmitry Timoshkov
dmitry at baikal.ru
Mon Jun 3 10:39:16 CDT 2019
Dmitry Timoshkov <dmitry at baikal.ru> wrote:
> Jacek Caban <jacek at codeweavers.com> wrote:
>
> > --- a/include/mshtml.idl
> > +++ b/include/mshtml.idl
> > @@ -28142,7 +28142,9 @@ interface IDisplayServices : IUnknown
> > HRESULT TransformRect([in, out] RECT *pRect,[in] COORD_SYSTEM eSource,[in] COORD_SYSTEM eDestination,[in] IHTMLElement *pIElement);
> > HRESULT TransformPoint([in, out] POINT *pPoint,[in] COORD_SYSTEM eSource,[in] COORD_SYSTEM eDestination,[in] IHTMLElement *pIElement);
> > HRESULT GetCaret([out] IHTMLCaret **ppCaret);
> > - HRESULT GetComputedStyle([in] IMarkupPointer *pPointer,[out] IHTMLComputedStyle **ppComputedStyle);
> > + /* NOTE: We should use GetComputedStyle name instead, but due to the way typelibs are generated,
> > + * it may conflict with lowercase getComputedStyle used by IHTMLWindow7 */
> > + HRESULT getComputedStyle([in] IMarkupPointer *pPointer,[out] IHTMLComputedStyle **ppComputedStyle);
>
> Are you sure that this is correct workaround? I checked Windows version of
> mshtml.tlb and it has "GetComputedStyle".
That was an XP version of mshtml.tlb without IHTMLWindow7 interface,
Windows7+ version of mshtml.tlb does indeed contain "getComputedStyle"
instead. Perhaps just do what PSDK does in that case: place IHTMLWindow7
declaration before IDisplayServices (with an appropriate comment)?
--
Dmitry.
More information about the wine-devel
mailing list