Jacek Caban <jacek(a)codeweavers.com> wrote:
On 6/3/19 5:39 PM, Dmitry Timoshkov wrote:
Dmitry Timoshkov <dmitry(a)baikal.ru> wrote:
Jacek Caban <jacek(a)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)?
We already do that and it's apparently not enough.
Attached patch does the trick. -- Dmitry.