Проблема с функцией Еsc под Линуксом с новым модулем vr15. Суть проблемы в следующем : Строим список документов по запросу из Карточки поиска либо из Правового навигатора. Заходим в текст документа. При нажатии кнопки "Назад" или Esc возвращаемся не в список документов , а обратно в форму создания запроса в карточке поиска либо в правовой навигатор. Однако. на кнопке "назад" есть стрелка комбо бокса (появился в vr14). При нажатии этой стрелки выпадает список в котором фигурируют "меню" "карточка поиска" и "результат поиска". Если выбрать "результат поиска", то по ESC и "назад" теперь всегда возвращает в результаты поиска. Повтор поиска по другим условиям эффект ESC и "назад" не изменяет, возвращает в результаты. Повтор поиска по другим условиям, но при закрытии всех окон К+ и открытии карточки поиска снова, портит поведение кнопок. проявляется на 1.0.11 9/5, 1.0.11 11/6, версии для ubuntu 9.04. не проявляется в Windows - там ESC всегда возвращяет в результаты поиска.
Глеб, надо подтвердить и передать Илье в виде, пригодном для исправления.
Проблема с функцией Еsc под Линуксом с новым модулем vr15. Суть проблемы в следующем : Строим список документов по запросу из Карточки поиска либо из Правового навигатора. Заходим в текст документа. При нажатии кнопки "Назад" или Esc возвращаемся не в список документов , а обратно в форму создания запроса в карточке поиска либо в правовой навигатор. Проблема проявляется. Выкидывает в окно поиска. Однако. на кнопке "назад" есть стрелка комбо бокса (появился в vr14). При нажатии этой стрелки выпадает список в котором фигурируют "меню" "карточка поиска" и "результат поиска". Если выбрать "результат поиска", то по ESC и "назад" теперь всегда возвращает в результаты поиска. Повтор поиска по другим условиям эффект ESC и "назад" не изменяет, возвращает в результаты. Повтор поиска по другим условиям, но при закрытии всех окон К+ и открытии карточки поиска снова, портит поведение кнопок. Подтверждаю. После установки в "Назад" "результаты поиска" - возвращается в результаты. wine 1.0.12-eter1.3/1 проверял в swine consultant/cons-client диск f: cons.exe Далее как написал Юрий. p.s. если не сложно - заодно посмотри пожалуйста - причину почему при нажатии в стартовом окне - "правовой навигатор" - окно закрывается, а при дальнейшем нажатии через меню - ничего не происходит. Ответь в личку и если что багу создаю.
Если закрывать это mdi окно крестиком, т.е. через WM_SYSCOMMAND(SC_CLOSE), то ошибка не воспроизводится. Фокус передается предыдущему окну, т.е к "результату поиска", а не к "карточке поиска".
to baraka@ Можно где-нибудь у нас запустить консультант под виндой?
Сделай пожалуйста в какой нибудь виртуальной машине Консультант и отпиши, после этого перевесь багу обратно на shpigor@
Удалось зарегестрировать консультанта под виндой.
Ошибка заключается в том, что при нажатии кнопки "Назад" приложение посылает сообщение WM_MDINEXT с lParam = 0. Согласно MSDN wine активирует следующее по порядку mdi окно. В данном случае это карточка поиска. Вопрос - почему приложение посылает сообщение WM_MDINEXT с неправильным параметром?
Протестировал в windows XP поведение MDI окон при обработке сообщения WM_MDINEXT. ctrl+tab - генерируется WM_MDINEXT с lParam = 0, происходит переключение на предыдущее окно ctrl+shift+tab - с lParam = 1, переключение на следующее окно. В то же время в wine: ctrl+tab - с lParam = 1, переключение на предыдущее окно ctrl+shift+tab - с lParam = 0, переключение на следующее окно. Очевидно ошибка в обработке WM_MDINEXT mdi клиентом + при нажатии ctrl+tab... генерируется WM_MDINEXT с неправильным lParam. При этом в msdn написано (страница про WM_MDINEXT): lParam If this parameter is zero, the system activates the next MDI child window and places the child window identified by the wParam parameter behind all other child windows. If this parameter is nonzero, the system activates the previous child window, placing it in front of the child window identified by wParam. Т.е. wine ведет себя согласно msdn, а winxp нет!
Помнится я еще тест на эту проблему делал и посылал его в winehq. Мне сказали - смотри MSDN.
Выложил патч (будет доступен в следующей сборке wine). Решение - сделать обработку lParam сообщения WM_MDINEXT, как в windows. Попробую написать новый тест и отправить его на winehq.
Ситуация такая, что при нажатии на Esc возвращаемся в меню поиска, а окно с готовым поиском перекрыто, почему то окном меню поиска.