Summary: | Потеря фокуса 1С 7.7 при закрытии модального окна | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Александр Пликус <pav> |
Component: | Окна / фокус / перерисовка | Assignee: | Илья Шпигорь <shpigor> |
Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
Severity: | normal | ||
Priority: | P2 | CC: | andrey.chichak, baraka, ivan, kondratyuk, lav, leonid, vostok |
Version: | 1.0.3 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | 2845 | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 492, 73, 101, 150, 166, 287, 760, 1916, 10708 | ||
Attachments: | тестовая база 1С для проверки работы фокуса |
Description
Александр Пликус
2006-06-22 14:00:04 MSD
Created attachment 25 [details]
тестовая база 1С для проверки работы фокуса
функция в 1С ОткрытьФормуМодально(); или OpenFormModal (); Похоже фокус остаётся на нажатой кнопке в модальном окне и пропадает вместе с её удалением. поскольку модальное окошко имеет шапку не KDE, а WINE'а, я думаю, что проблема в реализации библиотеки mfc42.dll (mfc40.dll). mfc40 никак не используется Написать человеку когда исправим. http://www.unixforum.org/lofiversion/index.php/t22209.html Подтверждаю для 1.0.5 Т.к. занимаюсь этим перевешиваю на себя. В конфигурации, которую предоставил Саша переодически окну возвращается фокус. Буду сравнивать. Написал тест(MDI),который открывает такие же окна. Полностью синтезирует ошибку и найдена интересноая особенность: если окно не двигать, а сразу закрыть, то фокус вернётся, если его немного подвигать, то фокус в 95% случаев не возвращается). Засада, исправил так, что в моём тесте стабильно всё возвращается, а Сашином тесте только окну родителю =( Принудительно возвращаю фокус окну-родителю и корневому окну. В данной конфигурации работает, правда иногда и Корневого окна полоска не перекрашивается (когда приобретает фокус), но фокус возвращается туда, куда надо - факт. Закрываю. Патч в нашем cvs. подтверждаю, работает, фокус возвращается. В сборке 36/14 на KDE 3.5 ошибка вновь воспроизводится *** Bug 73 has been marked as a duplicate of this bug. *** *** Bug 2938 has been marked as a duplicate of this bug. *** Похоже, баги #2938, #165, #73 заключаются в одной и той же проблеме - передаче X-ового фокуса не enabled окну. Для решения этой проблемы в 1с7 надо приложить патч из рассылки: winex11.drv: Skip checking to window disabled for X set focus (eterbug #2938 #2845) commit ec7a545407eebfadf6a70d525958518555666917 Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Thu Nov 27 10:16:26 2008 +0300 winex11.drv: Skip checking to window disabled for X set focus (eterbug #2938 #2845) diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index bc86414..ad825f9 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -465,12 +465,7 @@ static inline BOOL can_activate_window( HWND hwnd ) if (!(style & WS_VISIBLE)) return FALSE; if ((style & (WS_POPUP|WS_CHILD)) == WS_CHILD) return FALSE; if (hwnd == GetDesktopWindow()) return FALSE; - - LOADETER_FUNC(etersoft_1version); - if ( etersoft_1version && (etersoft_1version() == 8) ) - return TRUE; - else - return !(style & WS_DISABLED); + return TRUE; } |