Generated typelib will use one name entry for both interface (although they differ in 'g' case). Make sure the right variant is used.
Signed-off-by: Jacek Caban jacek@codeweavers.com --- include/mshtml.idl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Jacek Caban jacek@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".
Dmitry Timoshkov dmitry@baikal.ru wrote:
Jacek Caban jacek@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)?
On 6/3/19 5:39 PM, Dmitry Timoshkov wrote:
Dmitry Timoshkov dmitry@baikal.ru wrote:
Jacek Caban jacek@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.
Jacek
Jacek Caban jacek@codeweavers.com wrote:
On 6/3/19 5:39 PM, Dmitry Timoshkov wrote:
Dmitry Timoshkov dmitry@baikal.ru wrote:
Jacek Caban jacek@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.
On 6/3/19 5:55 PM, Dmitry Timoshkov wrote:
Jacek Caban jacek@codeweavers.com wrote:
On 6/3/19 5:39 PM, Dmitry Timoshkov wrote:
Dmitry Timoshkov dmitry@baikal.ru wrote:
Jacek Caban jacek@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.
Oh, I forgot about forward declarations. Sure, looks good to me.
Thanks,
Jacek