Bug 1953

Summary: Не работает ни одна ссылка
Product: Wine School Reporter: Денис Баранов <baraka>
Component: КМ ШколаAssignee: Денис Баранов <baraka>
Status: CLOSED FIXED QA Contact:
Severity: blocker    
Priority: P1 CC: ivan, kondratyuk, lav, night, pav
Version: 0.9   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 934, 1528, 1964    

Description Денис Баранов 2008-06-19 21:42:56 MSD
Если на любой учетной записи зайти на вкладку VIP.KM.RU то загружается страничка, ее можно только просматривать, а ссылки не нажимаются.
Comment 1 Синицын Иван 2008-06-20 17:28:49 MSD
Не только ссылки не нажимаются, но и вообще ни какие элементы не реагируют на мышь и клавиатуру, за исключением скрола страницы. 
Comment 2 Синицын Иван 2008-06-20 17:33:06 MSD
Если этот же сайт просто открыть через 
wine iexplore VIP.KM.RU
то он функционирует нормально, все ссылки работают.
Надо смотреть, что происходит при вставке iexplore в окно KM Школы
Comment 3 Vitaly Lipatov 2008-06-24 23:57:10 MSD
На 0.8-alt2 ничего не изменилось.
Comment 4 Vitaly Lipatov 2008-06-27 11:18:35 MSD
Очень на многих страницах не работает, надо попытаться разобраться.
Comment 5 Синицын Иван 2008-06-27 11:55:24 MSD
Такая же проблема обнаружилась на 1C образовании (Client), т.е. все смотрится как картинка и ни чего не сделать. хотя если запускать IE отдельно, то все нормально.
Comment 6 Синицын Иван 2008-06-27 12:18:38 MSD
Установил MyIE в школьный wine в нем Gecko нормально себя ведет.
Comment 7 Синицын Иван 2008-06-27 13:34:16 MSD
Разница в логах при создании IE между (KM школой, 1С) и MyIE в этой строке 

При создании в MyIE:
trace:shdocvw:create_shell_embedding_hwnd parent=0x10092 hwnd=0x10094

при создании в KM школа и 1С
trace:shdocvw:create_shell_embedding_hwnd parent=(nil) hwnd=0x700a4

Видно, что почему-то они создаются без родительского окна.
Comment 8 Константин Кондратюк 2008-06-28 13:27:44 MSD
IOleClientSite_GetWindow, которую мы хотим заменить, вызывается в коде вайна всего в трёх местах:
mshtml: activate_window
shdocvw: activate_inplace
shdocvw: create_shell_embedding_hwnd
Comment 9 Константин Кондратюк 2008-06-28 13:33:29 MSD
Варианта возможного решения два:

1) После каждой из трёх функций проверять hwnd родительского окна и ставить нужный в случае нуля.
2) Подменить сам метод IOleClientSite::GetWindow. Для этого видимо придётся добавить функцию и сделать хак на макрос, разворачивающий метод GetWindow. В новой функции вызывать оригинальный метод GetWindow, а в случае нулевого hwnd возвращать нужное нам значение.

Если заработает первый метод, то мне он кажется более безболезненным в плане коверкания кода.
 
Comment 10 Константин Кондратюк 2008-06-28 19:37:09 MSD
Исправление включено в сборку
Comment 11 Andrey Vusik 2008-07-12 22:32:31 MSD
Работает. 0.9.4
Закрываю
Comment 12 Andrey Vusik 2008-07-13 15:06:31 MSD
сборка 0.9.4-alt0.M40.1
Comment 13 Денис Баранов 2008-09-07 13:51:45 MSD
*** Bug 1635 has been marked as a duplicate of this bug. ***
Comment 14 Константин Кондратюк 2009-01-26 13:26:55 MSK
Бага снова с нами в версии WINE School 0.9.9
Comment 15 Константин Кондратюк 2009-01-26 14:08:03 MSK
Нет, эта правка есть в коде. Возможно, что отвалился другой кусок.
Но на всякий случай нужно проверить ссылки в КМ-Школе
Comment 16 Константин Кондратюк 2009-01-26 14:34:29 MSK
КМ-Школа работает. Проверил.
Comment 17 Денис Баранов 2009-02-18 19:14:49 MSK
На последней сборке работает...
Comment 18 Денис Баранов 2009-02-18 19:14:56 MSK
На последней сборке работает...