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

Отработанное время:
Продуктивное время:
Bug 4254 - Проблемы с Clip функциями в Гаранте при печати   Make a simular bug
Summary: Проблемы с Clip функциями в Гаранте при печати
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: GDI / DIB / GDIPLUS ; графика (show other bugs)
Version: 1.0.11
Hardware: PC All
: P3 major
Target Milestone: ---
Assignee: Илья Шпигорь
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 419 769 3932 7387 8867
  Show dependency treegraph
 
In work:
Reported: 2009-08-27 16:19 MSD by Илья Шпигорь
Modified: 2013-10-03 15:41 MSK (History)
4 users (show)

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


Attachments
Тестовое приложение (845.50 KB, application/octet-stream)
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 Илья Шпигорь 2009-08-27 16:19:40 MSD
Из письма:

По поводу печати - смотрел и тестировал на последней версии 7.3. Нашел такое отличие в поведении под Windows и WinE. При печати у нас активно пользуется
ClipRect. Под WinE регион для отсечения создается и устанавливается успешно
(вызов SelectClipRgn завершается успешно). Но для hDC подготовки превью
последующий вызов GetClipBox (сразу после SelectClipRgn) завершается с
ошибкой и возвращает ERROR. Хотя работа с ClipRect на hDC от окна вполне
успешно работает.
Comment 1 Илья Шпигорь 2009-08-27 16:21:00 MSD
Created attachment 1302 [details]
Тестовое приложение

При нажатии на кнопку пытается начать виртуальную отрисовку превью.
В окно выводит размер установленного ClipRect.
Также создает/дополняет файл с расширением .log куда пишет переданные 
размеры ClipRect и получившиеся (если они отличаются).
Comment 2 Vitaly Lipatov 2009-08-27 19:37:54 MSD
Я думаю, надо делать нормальный тест.
Comment 3 Илья Шпигорь 2009-09-03 16:56:39 MSD
Выложил патч в нашу рассылку.

Проблема заключается в том, что SelectClipRgn, в случае работы с метафайлом, вызывает соответствующую функцию драйвера (EMFDRV_ExtSelectClipRgn), после чего возвращает управление. При этом никакие изменения в DC структуре не происходят. Т.е. в случае работы с метафайлом изменения Clip/Visible регионов никак не сохраняются, в отличие от работы с DC экрана. Поэтому при попытке получить Clip регион возвращается пустой регион.

Решение заключается в том, чтобы вносить необходимые изменения в DC структуру при вызове SelectClipRgn независимо от того есть ExtSelectClipRgn функция драйвера или нет, как было раньше.

Есть тест для этой ошибки, но с его отправкой на winehq возникли проблемы.
Comment 4 Денис Баранов 2009-10-13 18:38:00 MSD
Принято.
WINE@Etersoft 1.0.11 eter9/eter5
Comment 5 Svetlana Zhukova 2013-10-03 15:41:24 MSK
-