Bug 5394

Summary: Гарант: Настройка конфигурации: нельзя зайти в некоторые разделы
Product: WINE@Etersoft Reporter: Александр Морозов <amorozov>
Component: Окна / фокус / перерисовкаAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: minor    
Priority: P4 CC: lav, sonner
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 769, 5395    
Attachments: Скриншот, сделанный в WinXP

Description Александр Морозов 2010-04-01 22:01:47 MSD
Created attachment 1611 [details]
Скриншот, сделанный в WinXP

Файл -> Настройка конфигурации... 
В появившемся окне слева нельзя выбрать часть разделов: Настройки интерфейса, Документы на контроле, Правовая поддержка онлайн, Контекстная фильтрация

Бутылка prav/garant/local-last
WINE@Etersoft 1.0 SQL 1.0.12-eter4.1/3
Comment 1 Илья Шпигорь 2010-04-08 14:49:07 MSD
Не работает переключение по клику мыши. Если использовать клавиши вниз/вверх - переходит.

Скорее всего проблема в обработке сообщений от мыши контролом.
Comment 2 Илья Шпигорь 2010-04-08 15:39:45 MSD
Ошибка связана с всплывающей подсказкой. Подсказка показывается для тех пунктов меню, название которых не поместилось и было обрезано.

Эта подсказка обрабатывает WM_LBUTTONDOWN, который не доходит до контрола.
Comment 3 Илья Шпигорь 2010-04-09 13:47:28 MSD
Выложил патч.

Проблема в обработке сообщений от мыши (ф-ция process_mouse_message). Там вызывается WINPOS_WindowFromPoint, в качестве параметра передается хэндл окна всплывающей подсказки. Но эта функция проверяет только дочерние окна. Поэтому WINPOS_WindowFromPoint ничего не находит и сообщение вообще не обрабатывается.

Решение заключается в том, чтобы передавать NULL в WINPOS_WindowFromPoint. В этом случае проверяются все окна, дочерние по отношению к десктопу.
Comment 4 Денис Баранов 2010-04-11 17:19:45 MSD
Принято.
WINE@Etersoft 1.0.12 eter5/eter4