Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 489 - Неправильное отображение меню в Консультанте   Make a simular bug
Summary: Неправильное отображение меню в Консультанте
Status: CLOSED WONTFIX
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Графика GDI / DIB / GDIPLUS (show other bugs)
Version: 1.0.6
Hardware: PC Linux
: P5 enhancement
Target Milestone: ---
Assignee: Константин Кондратюк
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 697 767 1217
  Show dependency treegraph
 
In work:
Reported: 2007-02-27 10:38 MSK by Константин Кондратюк
Modified: 2009-04-19 14:59 MSD (History)
2 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments
скриншот (1.31 KB, image/png)
2010-11-18 03:58 MSK, Константин Кондратюк
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2007-02-27 10:38:32 MSK
В меню поля имеют неправильную ширину. При расчёте ширины не учитывается место под горячие клавиши.
Comment 1 Константин Кондратюк 2007-02-27 20:57:34 MSK
В Консультанте элементы меню имеют флаг MF_OWNERDRAW и должны рассчитываться и отрисовываться программой. Размер, возвращаемый функцией MENU_CalcItemSize, рассчитывается неправильно.
Comment 2 Константин Кондратюк 2007-02-27 20:59:36 MSK
При версии WinXP меню отображается правильно. В Win98 - нет. Нужно понять алгоритм расчёта и чем отличаются друг от друга расчёты для разных win-версий.
Comment 3 Константин Кондратюк 2007-02-27 21:01:14 MSK
К сборке 1.0.6 приложен патч, добавляющий к ширине строки 15 символов, если для пункта определены горячие клавиши. Вроде отображается корректно.
Comment 4 Vitaly Lipatov 2007-02-27 22:16:16 MSK
Как показали логи, по сообщению WM_MEASUREITEM Консультант в версии
>=win2000 вызывает DrawTextExW с полной строкой меню (с горячей клавишей), а при <win2000 - вызывает со строкой без горячей клавиши, выкидывая \tCtrl-P...
Из-за этого пункты не влезают в меню.
Comment 5 Vitaly Lipatov 2007-05-22 23:09:12 MSD
Оставляем на время, когда начнём общаться с Консультантом
Comment 6 Константин Кондратюк 2008-03-11 12:29:01 MSK
Имеет смысл поднимать вопрос и решать его сейчас?
Comment 7 Vitaly Lipatov 2008-03-11 12:42:45 MSK
Нет.
Comment 8 Vitaly Lipatov 2008-10-21 17:02:53 MSD
Патч был потерян и найден опять:

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)
Comment 9 Константин Кондратюк 2009-02-27 17:38:41 MSK
Опять всплывает проблема, на wine-1.0.10
Comment 10 Константин Кондратюк 2009-02-27 17:40:47 MSK
Патч, упоминающийся в комментарии #8, приложен
Comment 11 Денис Баранов 2009-03-03 14:48:18 MSK
(In reply to comment #10)
> Патч, упоминающийся в комментарии #8,
> приложен
> 

На текущей сборке eter10.1/eter6 проблемы не увидел. Можно поподробнее сценарий воспроизведения.

P.S. Через winexp консультант преобретает совсем другой вид. Появляются некоторые недостающие значки.
Comment 12 Константин Кондратюк 2009-03-03 15:31:42 MSK
Created attachment 1088 [details]
скриншот

Способ воспроизведения прост и виден на скриншоте :)
Comment 13 Константин Кондратюк 2009-04-10 14:37:35 MSD
Проблема уходит вместе с появлением возможности запускать Консультант в режиме winexp.
Старый хак откатил, патч в рассылке.