Bug 6093

Summary: shdocvw/webbrowser: Добавить тесты на неиспользуемые интерфейсы
Product: WINE@Etersoft Reporter: Виталий Перов <vitperov>
Component: Internet Explorer / GeckoAssignee: Виталий Перов <vitperov>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: trivial    
Priority: P5 Keywords: WINEHQ
Version: 1.1   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 42    

Description Виталий Перов 2010-09-30 13:37:56 MSD
Функция WebBrowser_QueryInterface выдаёт FIXME если запрашивается неизвестный интерфейс. Большинство из неизвестных интерфейсов не поддерживается. Чтобы не вводить в заблуждение пользователей и программистов нужно добавить TRACE и подтвердить тестом.
Сейчас в eterhack есть несколько наших патчей.
Хотелось бы привести всё к нормальному виду и отправить в winehq
Comment 1 Виталий Перов 2010-09-30 13:39:20 MSD
Патчи и тесты к ним:

87041766        (Vitaly Perov   2009-01-14 22:03:27 +0300       131)    }else if(IsEqualGUID(&IID_IMarshal, riid)) {
87041766        (Vitaly Perov   2009-01-14 22:03:27 +0300       132)        TRACE("(%p)->(IID_IMarshal %p) returning NULL\n",
87041766        (Vitaly Perov   2009-01-14 22:03:27 +0300       133)        return E_NOINTERFACE;
test: 2eb4aaef600f73030446afe7c657fff5e88b0141


739c0454        (Vitaly Perov   2009-01-19 15:58:09 +0300       134)    }else if(IsEqualGUID(&IID_IStdMarshalInfo, riid)) {
739c0454        (Vitaly Perov   2009-01-19 15:58:09 +0300       135)        TRACE("(%p)->(IID_IStdMarshalInfo %p) returning N
739c0454        (Vitaly Perov   2009-01-19 15:58:09 +0300       136)        return E_NOINTERFACE;
test c469ab63bf16303137d2bc9ae5083bf484097e76

471987fb        (Vitaly Perov   2009-01-19 16:13:05 +0300       137)    }else if(IsEqualGUID(&IID_IExternalConnection, riid))
471987fb        (Vitaly Perov   2009-01-19 16:13:05 +0300       138)        TRACE("(%p)->(IID_IExternalConnection %p) returni
471987fb        (Vitaly Perov   2009-01-19 16:13:05 +0300       139)        return E_NOINTERFACE;
test 2728f4cb2ec0a528025647d3eefe2011ab817ea5


Думаю можно оформить это всё одним большим патчем
Comment 2 Виталий Перов 2010-10-01 13:47:25 MSD
Сделал патч.
Запустил тест на WinXP.
Оказалось, что интерфейс IExternalConnection присутствует!

webbrowser.c:2571: Testing WebBrowser...
webbrowser.c:2472: ----------->>>> BEGIN
webbrowser.c:2486: Test failed: QueryInterface returned 00000000, expected E_NOINTERFACE
NTERFACE
webbrowser.c:2487: Test failed: connection=00272168, expected NULL
webbrowser.c:2488: -----------<<<< END

Хорошо бы найти багу для которой делался этот неверный патч.
Comment 3 Виталий Перов 2010-10-01 14:04:13 MSD
патч, убирающий сообщение об отсутствии IExternalConnection относится к багам 147 и 3130. Там проблема решилась временным хаком. Думаю стоит попробовать решить проблему другим способом.
Создал отдельную багу #6110
Comment 4 Виталий Перов 2010-10-01 14:51:51 MSD
Переделал патч, отправил в WINEHQ
Comment 5 Виталий Перов 2010-10-04 15:43:55 MSD
Патч принят