Функция WebBrowser_QueryInterface выдаёт FIXME если запрашивается неизвестный интерфейс. Большинство из неизвестных интерфейсов не поддерживается. Чтобы не вводить в заблуждение пользователей и программистов нужно добавить TRACE и подтвердить тестом. Сейчас в eterhack есть несколько наших патчей. Хотелось бы привести всё к нормальному виду и отправить в winehq
Патчи и тесты к ним: 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 Думаю можно оформить это всё одним большим патчем
Сделал патч. Запустил тест на 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 Хорошо бы найти багу для которой делался этот неверный патч.
патч, убирающий сообщение об отсутствии IExternalConnection относится к багам 147 и 3130. Там проблема решилась временным хаком. Думаю стоит попробовать решить проблему другим способом. Создал отдельную багу #6110
Переделал патч, отправил в WINEHQ
Патч принят