Summary: | В менеджере библиотек КОМПАСа не отображается состояние вкл/выкл | ||
---|---|---|---|
Product: | [Поддержка проектов] КОМПАС 3D | Reporter: | Виталий Булгаков <bulgakov> |
Component: | Тестирование | Assignee: | Илья Шпигорь <shpigor> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | major | ||
Priority: | P4 | CC: | baraka, lav, mais, mx, shpigor |
Version: | v10 | Keywords: | WINEHQ |
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 753, 4135 |
Description
Виталий Булгаков
2009-09-02 17:57:17 MSD
В этом менеджере библиотек используется стандартный listview контрол. При включении библиотеки, приложение посылает сообщение с LVM_SETITEMW, в котором указывается новая иконка (т.е. картинка checkbox'а). Ошибка возникла из-за того, что приложение посылает неверную иконку. Запросил тестовый пример у АСКОН'а. В качестве временного решения можно отключить фиксацию окна "менеджер библиотек". После этого бага не воспроизводится. Если после добавления библиотеки переключиться обратно и попробовать добавить ее снова, будет выведено сообщение: "Библиотека "..." уже подключена. Повторное подключение не выполняется." После этого все иконки отрисуются корректно. Вряд ли это ошибка с comctl32 контролами. Тестировал на native comctl32 - воспроизводится. При использовании любого режима открытия библиотеки, кроме "Панель", ошибка не проявляется. Ошибка связана с передачей фокуса. Если есть окно имеющее фокус и его родитель становится невидимым, то фокус должен оставаться у этого окна. В wine в этой же самой ситуации фокус передается окну-родителю, по отношению к скрываемому окну. В Компасе это приводит к тому, что один из BCG контролов получает фокус и совершает какие-то действия. Результатом этих действий становится неверная отрисовка иконок. Для проверки патча сделал тест. Отправил все на winehq. Выложил патч без теста в нашу рассылку. Патч приняли в оригинальный wine. |