[PATCH 1/3] include/mshtml.idl: Add more interface declarations.

Jacek Caban jacek at codeweavers.com
Mon Jun 3 09:36:04 CDT 2019


On 6/3/19 3:56 PM, Dmitry Timoshkov wrote:
> Jacek Caban <jacek at codeweavers.com> wrote:
>
>> On 6/3/19 1:56 PM, Dmitry Timoshkov wrote:
>>> Alexandre Julliard <julliard at winehq.org> wrote:
>>>
>>>> Dmitry Timoshkov <dmitry at baikal.ru> writes:
>>>>
>>>>> Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
>>>>> ---
>>>>>    include/mshtmdid.h |  32 ++++-
>>>>>    include/mshtml.idl | 342 ++++++++++++++++++++++++++++++++++++++++++---
>>>>>    2 files changed, 356 insertions(+), 18 deletions(-)
>>>> This breaks the tests, sorry for not catching this earlier:
>>>>
>>>> ../../../tools/runtest -q -P wine -T ../../.. -M mshtml.dll -p mshtml_test.exe script && touch script.ok
>>>> script.c:645: Test failed: L"Got exception Object doesn't support this property or method"
>>> Something is wrong with new generated mshtml.tlb: somebody tries to get
>>> an id of the identifier with name "getComputedStyle" however mshtml.tlb
>>> doesn't (and shouldn't) have it, instead "GetComputedStyle" is returned,
>>> and that leads to the failure later on. After looking at dlls/mshtml/dispex.c,
>>> get_builtin_id() I wonder whether case sensitive identifier search is
>>> broken there, perhaps Jacek has a better idea what is going on.
>>
>> It looks like a widl but and the attached patch fixes it. I got some
>> tests failing in oleaut32. Those are autogenerated from .tlb file. If I
>> regenerate them using midl for .idl->.tlb conversion, I get different
>> generated files. git blame shows you on those case, do you remember how
>> you generated it? I suspect that you used widl instead of midl, but
>> maybe some older midl behaved differently?
> Thanks for looking at this breakage. Most likely I just regenerated existing
> tests, I don't recall adding these lines with "Test" in particular.


Testing some more, it looks like widl is actually right and this weird 
behaviour is present in midl as well. We differ in order of processing 
it, through (so widl will use GetComputedStyle for both IHTMLWindow7 and 
IDisplayServices, whie midl will use getComputedStyle for both). Anyway, 
I don't think that depending on such a broken feature is worth it, I 
will send a patch to work around it in IDL file.


Jacek




More information about the wine-devel mailing list