Summary: | Проблемы с Clip функциями в Гаранте при печати | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Илья Шпигорь <shpigor> |
Component: | Графика GDI / DIB / GDIPLUS | Assignee: | Илья Шпигорь <shpigor> |
Status: | CLOSED FIXED | QA Contact: | Денис Баранов <baraka> |
Severity: | major | ||
Priority: | P3 | CC: | lav, shpigor, svzhu, vitperov |
Version: | 1.0.11 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | 419 | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 419, 769, 3932, 7387, 8867 | ||
Attachments: | Тестовое приложение |
Description
Илья Шпигорь
2009-08-27 16:19:40 MSD
Created attachment 1302 [details]
Тестовое приложение
При нажатии на кнопку пытается начать виртуальную отрисовку превью.
В окно выводит размер установленного ClipRect.
Также создает/дополняет файл с расширением .log куда пишет переданные
размеры ClipRect и получившиеся (если они отличаются).
Я думаю, надо делать нормальный тест. Выложил патч в нашу рассылку. Проблема заключается в том, что SelectClipRgn, в случае работы с метафайлом, вызывает соответствующую функцию драйвера (EMFDRV_ExtSelectClipRgn), после чего возвращает управление. При этом никакие изменения в DC структуре не происходят. Т.е. в случае работы с метафайлом изменения Clip/Visible регионов никак не сохраняются, в отличие от работы с DC экрана. Поэтому при попытке получить Clip регион возвращается пустой регион. Решение заключается в том, чтобы вносить необходимые изменения в DC структуру при вызове SelectClipRgn независимо от того есть ExtSelectClipRgn функция драйвера или нет, как было раньше. Есть тест для этой ошибки, но с его отправкой на winehq возникли проблемы. Принято. WINE@Etersoft 1.0.11 eter9/eter5 - |