Summary: | Неправильное отображение меню в Консультанте | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Константин Кондратюк <kondratyuk> |
Component: | Графика GDI / DIB / GDIPLUS | Assignee: | Константин Кондратюк <kondratyuk> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | enhancement | ||
Priority: | P5 | CC: | baraka, lav |
Version: | 1.0.6 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 697, 767, 1217 | ||
Attachments: | скриншот |
Description
Константин Кондратюк
2007-02-27 10:38:32 MSK
В Консультанте элементы меню имеют флаг MF_OWNERDRAW и должны рассчитываться и отрисовываться программой. Размер, возвращаемый функцией MENU_CalcItemSize, рассчитывается неправильно. При версии WinXP меню отображается правильно. В Win98 - нет. Нужно понять алгоритм расчёта и чем отличаются друг от друга расчёты для разных win-версий. К сборке 1.0.6 приложен патч, добавляющий к ширине строки 15 символов, если для пункта определены горячие клавиши. Вроде отображается корректно. Как показали логи, по сообщению WM_MEASUREITEM Консультант в версии
>=win2000 вызывает DrawTextExW с полной строкой меню (с горячей клавишей), а при <win2000 - вызывает со строкой без горячей клавиши, выкидывая \tCtrl-P...
Из-за этого пункты не влезают в меню.
Оставляем на время, когда начнём общаться с Консультантом Имеет смысл поднимать вопрос и решать его сейчас? Нет. Патч был потерян и найден опять: commit 75fef45fabde9736e3b5af7a8e85ab5b4d2bd033 Author: Vitaly Lipatov <lav@etersoft.ru> Date: Tue Oct 21 16:59:50 2008 +0400 fix owner drawn menu in Konsultant (close eterbug #489 again) Опять всплывает проблема, на wine-1.0.10 Патч, упоминающийся в комментарии #8, приложен (In reply to comment #10) > Патч, упоминающийся в комментарии #8, > приложен > На текущей сборке eter10.1/eter6 проблемы не увидел. Можно поподробнее сценарий воспроизведения. P.S. Через winexp консультант преобретает совсем другой вид. Появляются некоторые недостающие значки. Created attachment 1088 [details]
скриншот
Способ воспроизведения прост и виден на скриншоте :)
Проблема уходит вместе с появлением возможности запускать Консультант в режиме winexp. Старый хак откатил, патч в рассылке. |