Bug 4423

Summary: Не отображается справка в Магистрали
Product: WINE@Etersoft Reporter: Devaev Maxim <mdevaev>
Component: ОбщееAssignee: Илья Шпигорь <shpigor>
Status: CLOSED FIXED QA Contact: Devaev Maxim <mdevaev>
Severity: normal    
Priority: P3 CC: baraka, night
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: 11738 Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 4592, 4284    

Description Devaev Maxim 2009-11-09 18:02:57 MSK
Программа - "Магистраль". Не показывается информация в окне справки, ни дерево навигации, ни текст.
Демо-версия: http://www.sigma-soft.ru/download/install.shtml?prog=ata32
Программа работает крайне нестабильно. Кроме описанных в RT проблем, ошибки при повторном (после первого выхода) запуске программы исключают возможность хоть какой-то работы с ней. Из замеченных - ошибки доступа к памяти и зависания на стадии запуска.
Повторение ошибки на уже установленной и настроенной программе не представляется возможным.

Бутылка: rt/11738
Для воспроизведения следует установить "./dosdevices/p\:/Windows/sigma-soft/magistral/Setup.exe", все установочные параметры оставить по умолчанию. Затем запустить "./dosdevices/c\:/Program\ Files/Magistral/ata32.exe". При первом запуске возможно зависание, в этом случае следует нажать Ctrl-C, программа пропустит текущую выполнаемую задачу и будет запускаться дальше.
При активации "Справка"->"Что нового", виджеты окна справки будут пустыми.
При активации "Справка"->"Содержание", окно справки отображается некорректно, разрываясь на несколько частей.
Comment 1 Илья Шпигорь 2009-12-11 11:37:56 MSK
*** Bug 4587 has been marked as a duplicate of this bug. ***
Comment 2 Илья Шпигорь 2009-12-11 11:48:29 MSK
При вызове справки программа дважды вызывает функцию HtmlHelpW. Сначала с командой HH_DISPLAY_TOPIC для открытия chm файла в новом окне, затем с HH_HELP_CONTEXT для навигации по открытому файлу справки.

Wine при обработке каждого вызова HtmlHelpW создает новое окно, для отображения chm, т.е. не учитывает уже открытые окна.

По поводу этих команд MSDN пишет:
If the window type or default window type is open, the help topic replaces the current topic in the window.

Решение с использованием внешней программы для просмотра chm не позволяет осуществлять навигацию по открытому файлу. Поэтому, полагаю, будет правильно сделать вместо обработки HH_HELP_CONTEXT заглушку.

Можно, конечно, открывать chm и по HH_HELP_CONTEXT, но тогда в rt появятся заявки на то что help открывается дважды.
Можно проверять, что пытаемся подряд открыть один и тот же файл, но это хак с неприятными последствиями.

Если выяснится, что из-за заглушки на HH_HELP_CONTEXT что-то сломалось и перестал открываться help в какой-то программе, тогда решение надо будет доработать.

Comment 3 Илья Шпигорь 2009-12-11 16:18:20 MSK
Выложил соответствующий патч.
Comment 4 Andrey Vusik 2009-12-16 18:12:48 MSK
(In reply to comment #3)
> Выложил соответствующий патч.
> 

Принято.
1.0.12-eter1.2/1
Comment 5 Devaev Maxim 2009-12-19 17:23:03 MSK
Проверил, работает.