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

Отработанное время:
Продуктивное время:
Bug 3940 - Не работает печать из irfanview   Make a simular bug
Summary: Не работает печать из irfanview
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Печать ; Диалог печати (show other bugs)
Version: 1.0.10
Hardware: PC All
: P2 major
Target Milestone: ---
Assignee: Виталий Перов
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 3962
  Show dependency treegraph
 
In work:
Reported: 2009-05-13 12:22 MSD by Боренко Денис
Modified: 2014-09-11 18:47 MSK (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Боренко Денис 2009-05-13 12:22:59 MSD
Irfanview очень удобно использовать из коммандной строки для печати картинок. Аналогов с такой функциональностью нет.
Версии выше 4 по каким-то причинам падают (не всегда). 3.99 работает хорошо.
К сожалению не работает печать. Просто ничего не происходит.
По каналу print вроде все хорошо:
trace:print:WriteSpool16 0001 0x7dcb99bf 0009
trace:print:WriteSpool16 0001 0x7dcb9cd8 0018
trace:print:WriteSpool16 0001 0x864150 001b
trace:print:CloseJob16 0001
Есть подозрение, что это из-за не правильной передачи параметров принтера. В диалоге печати DPI у принтера 0.
Comment 1 Боренко Денис 2009-05-15 14:36:07 MSD
Если печатать непосредственно из IrfanView файл --> печать, то в каталоге с картинкой создается постскрипт файл с именем 
LPR:LBP1120-CAPT-ver.1.5
где LBP1120-CAPT-ver.1.5 -- имя CUPS принтера. 
В файле все прекрасно нарисовано, но на печать не послано.
Comment 2 Боренко Денис 2009-05-15 14:41:26 MSD
Вот начало лога (конец я в первом сообщении привел):
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32cbb0
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32cbb0
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32cbac
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32cbac
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32d254
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32d254
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32d258
trace:print:DrvGetPrinterData16 printer LBP1120-CAPT-ver.1.5
trace:print:DrvGetPrinterData16 profile 0x1
trace:print:DrvGetPrinterData16 lpType 0x32d258
trace:print:StartDocW DocName = L"C:\\SL_LOG\\1.tif" Output = (null) Datatype = (null)
trace:print:OpenJob16 'LPR:LBP1120-CAPT-ver.1.5' 'C:\SL_LOG\1.tif' 60e4
trace:print:CreateSpoolFile Got printerSpoolCommand '' for output device 'LPR:LBP1120-CAPT-ver.1.5'
trace:print:CreateSpoolFile command: 'LPR:LBP1120-CAPT-ver.1.5'
trace:print:CreateSpoolFile Just assume it's a file
trace:print:OpenJob16 return 0001
trace:print:WriteSpool16 0001 0x864150 0086
Comment 3 Боренко Денис 2009-05-15 15:02:28 MSD
В оригинальном вине вроде все нормально (printdrv16.c):
psCmd[0] = 0;
/* @@ Wine registry key: HKCU\Software\Wine\Printing\Spooler */
if(!RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Printing\\Spooler", &hkey))
{
   DWORD type, count = sizeof(psCmd);
   RegQueryValueExA(hkey, pszOutput, 0, &type, (LPBYTE)psCmd, &count);
   RegCloseKey(hkey);
}
if (!psCmd[0] && !strncmp("LPR:",pszOutput,4))
sprintf(psCmd,"|lpr -P'%s'",pszOutput+4);
TRACE("Got printerSpoolCommand '%s' for output device '%s'\n",
       psCmd, pszOutput);

HKCU\Software\Wine\Printing\Spooler у меня пустой, pszOutput = 'LPR:LBP1120-CAPT-ver.1.5'
На выходе должны получить psCmd = "|lpr -PLBP1120-CAPT-ver.1.5", а в wine@etersoft получаем пустую строку.
Видимо есть воркэраунд с заполнением HKCU\Software\Wine\Printing\Spooler\LPR:LBP1120-CAPT-ver.1.5
Ща проверю.

Comment 4 Боренко Денис 2009-05-15 15:09:50 MSD
Да, создание строкового параметра
HKCU\Software\Wine\Printing\Spooler\LPR:LBP1120-CAPT-ver.1.5
со значением 
|lpr -PLBP1120-CAPT-ver.1.5
помогло.
Comment 5 Боренко Денис 2009-05-15 21:48:09 MSD
Да, да!
У вас там сейчас в git бред!
http://git.etersoft.ru/projects/?p=eterwine.git;a=blob;f=dlls/gdi32/printdrv16.c#l314
Поправьте, а?
Comment 6 Vitaly Lipatov 2009-05-19 23:48:40 MSD
Спасибо, поправили, сборка 1.0.10-eter23
Comment 7 Лебединский Александр 2009-05-20 00:17:11 MSD
(In reply to comment #6)
> Спасибо, поправили, сборка 1.0.10-eter23
> 

А это: http://bugs.etersoft.ru/show_bug.cgi?id=3868 в данной сборке исправлено, или можно ещё подождать?
Comment 8 Боренко Денис 2009-05-20 00:42:46 MSD
Судя по всему 3940 и 3868 одно и тоже. Будем тестить.
Comment 9 Боренко Денис 2009-05-20 00:43:49 MSD
По крайней мере git обнадеживает.
Comment 10 Vitaly Lipatov 2014-09-11 18:47:00 MSK
Для тех, кто не пользуется багзиллой или не умеет пользоваться групповым редактированием при поиске, закрываем задачи, которые они должны были принять.