Bug 3343

Summary: Отсутствует интерфейс IHTMLBaseElement
Product: WINE@Etersoft Reporter: Константин Кондратюк <kondratyuk>
Component: Internet Explorer / GeckoAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P5 CC: ivan, lav, vitperov
Version: 1.0.10   
Target Milestone: release 1.0.10   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 4401    
Bug Blocks: 1217, 2517, 3025, 3107, 3168, 3484    

Description Константин Кондратюк 2009-01-21 13:29:22 MSK
warn:mshtml:HTMLDOMNode_QI (0x2ea7200)->({3050f204-98b5-11cf-bb82-00aa00bdce0b}
0x32e7cc)

При получении через HTMLDOMNode_QI возвращается E_NOINTERFACE. 1С 8.1 падает сразу после этого, в разных ситуациях. Уже нашёл как минимум 3 баги, связанных с отсутствием в wine IHTMLBaseElement.
Comment 1 Константин Кондратюк 2009-01-21 13:32:51 MSK
Патч, добавляющий объявление интерфейса в mshtml.idl - в рассылке 

commit ad5d5dfe4156d2a3f5c782c933bbc6e5174ccb58
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Wed Jan 21 11:37:08 2009 +0300

    mshtml: Add declaration of IHTMLBaseElement
Comment 2 Константин Кондратюк 2009-02-11 15:27:12 MSK
Добавил IHTMLBaseElement и его получение через QI.

Сразу замечу, что решение принципиально неправильное (vtbl содержится в объекте HTMLDocument, хотя должен быть где-то рядом с HTMLDOMNode). Если понадобится его использование, то нужно будет переносить код в правильное место.

Для 1С пока вроде бы достаточно, так что не срочно.


Ещё не забыть, что у него есть dispinterface
Comment 3 Константин Кондратюк 2009-02-12 15:11:51 MSK
Интерфейс добавлен, что решает половину из проблем, которые из-за него возникали.
Плановая доработка интерфейса - отдельная задача.