Bug 4721

Summary: Переписать патчи, связанные с печатью
Product: WINE@Etersoft Reporter: Виталий Перов <vitperov>
Component: Печать ; Диалог печатиAssignee: Виталий Перов <vitperov>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: minor    
Priority: P4    
Version: 1.0.10   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 443, 2843, 3688, 4117    

Description Виталий Перов 2009-12-28 16:57:54 MSK
В wine-pure была переделана система печати:
в dlls/wineps.drv/escape.c появилась функция create_job, которая используется вместо OpenJob16 из библиотеки gdi32.

Необходимо:
1) Выяснить можно ли переделать патчи с использованием новой функции.
2) Переделать патчи или вернуть старую версию с использованием OpenJob16
Comment 1 Виталий Перов 2009-12-30 15:18:58 MSK
Патч, непосредственно вызывающий конфликт:
commit e85ba2081f4f6ca15d2997d97d66b64b70d2657a
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Mon Mar 2 19:02:34 2009 +0300

    print: implement collation (eterbug #2843)

Отдельно патч не откатить, надо сначала откатить более поздние патчи


Дополняющие патчи:
1)commit 7736a8fa5a79aea8d82a0fdb1c0c01a4643a915f
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Mon Jul 6 15:59:31 2009 +0400

    wineps.drv: fix passing output parameters in case job.output is not set (fix eterbug #4076)

2)commit e46ec7f72a3ba027ed5dfb29b35d7a767ebc06a4
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Fri Apr 17 16:20:54 2009 +0400

    wineps.drv: set duplex value when calling 'lpr' command (fix eterbug 3688)

3)commit fa3d513def018ef6b4c5e7e4f51fd24b82ce5625
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Fri May 22 15:11:56 2009 +0400

    wineps.drv: Ignore LPR: destination in Output parameter of a document (fix eterbug #3868)

Главный патч, меняющий обработку печати:
commit e85ba2081f4f6ca15d2997d97d66b64b70d2657a
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Mon Mar 2 19:02:34 2009 +0300

    print: implement collation (eterbug #2843)
Comment 2 Виталий Перов 2009-12-30 15:34:07 MSK
функции OpenJob16 болше нет.
Придётся использовать create_job.
Но возможен и другой вариант: можно сделать такую же функцию, но свою, выкинув оттуда всё лишнее
Comment 3 Виталий Перов 2009-12-30 15:50:50 MSK
Ещё один коммит, который требуется откатить:
commit 2101eafcf074c36a638556d47d6e392dd0b202bc
Author: Vitaly Perov <vitperov@etersoft.ru>
Date:   Fri Apr 24 19:03:09 2009 +0400

    wineps.drv: add default print job name
Comment 4 Виталий Перов 2010-02-05 17:36:39 MSK
Откатил старые патчи. Сделал новый патч. Необходимо проверить.
Comment 5 Виталий Перов 2010-02-05 17:52:00 MSK
Проверил на notepad и OpenOffice.
Обнаружил странное поведение:
pszOutput вместо ожидаемого 'LPR:' передаётся 'LPT1:'.

Добавил обработку 'LPT*'.

Дуплекс работает.
Collate не работает: всегда выставляет Collate=False.
Comment 6 Виталий Перов 2010-02-05 18:22:53 MSK
Проблема была в старых настройках реестра. Для решения проблемы необходимо выполнить:
wine --removeprinters 
Comment 7 Виталий Перов 2010-02-05 18:40:59 MSK
Ещё одна проблема: при печати из блокнота не работает печать в файл. Документ всё-равно отправляется на принтер.

Похоже на багу #4117
Comment 8 Виталий Перов 2010-02-05 19:02:27 MSK
Проверит в Openoffice. Печать в файл работает.
Зато не работает collate. Завёл новую багу #5025
Comment 9 Виталий Перов 2010-02-05 19:57:11 MSK
Проверил на реальном принтере - всё работает.

Сделал окончательный патч.
Приложил в eterwine. Опубликовал
Comment 10 Виталий Перов 2010-02-05 19:58:02 MSK
Думаю багу можно считать закрытой
Comment 11 Виталий Перов 2010-02-24 18:17:17 MSK
Изменения появились в eterhack. Можно проверять