Module: wine Branch: master Commit: a5eb4f6fe1dfb3d578c384f3f384fe30d8ce25e8 URL: https://gitlab.winehq.org/wine/wine/-/commit/a5eb4f6fe1dfb3d578c384f3f384fe3...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Mar 23 12:21:07 2023 +0100
wineps: Initialize PSDRV_PDEVICE print job information in PrintDocumentOnPrintProcessor.
---
dlls/wineps.drv/printproc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/wineps.drv/printproc.c b/dlls/wineps.drv/printproc.c index 67a9dfd9ce8..4c0271d4bd1 100644 --- a/dlls/wineps.drv/printproc.c +++ b/dlls/wineps.drv/printproc.c @@ -285,7 +285,8 @@ BOOL WINAPI PrintDocumentOnPrintProcessor(HANDLE pp, WCHAR *doc_name) info.pDocName = data->doc_name; info.pOutputFile = data->out_file; info.pDatatype = (WCHAR *)L"RAW"; - if (!StartDocPrinterW(data->hport, 1, (BYTE *)&info)) + data->pdev->job.id = StartDocPrinterW(data->hport, 1, (BYTE *)&info); + if (!data->pdev->job.id) { ClosePrinter(spool_data); return FALSE; @@ -310,6 +311,14 @@ BOOL WINAPI PrintDocumentOnPrintProcessor(HANDLE pp, WCHAR *doc_name) if (!(ret = SeekPrinter(spool_data, pos, NULL, FILE_BEGIN, FALSE))) goto cleanup;
+ data->pdev->job.hprinter = data->hport; + data->pdev->job.banding = FALSE; + data->pdev->job.OutOfPage = TRUE; + data->pdev->job.PageNo = 0; + data->pdev->job.quiet = FALSE; + data->pdev->job.passthrough_state = passthrough_none; + data->pdev->job.doc_name = strdupW(data->doc_name); + while (1) { if (!(ret = ReadPrinter(spool_data, &record, sizeof(record), &r))) @@ -366,6 +375,7 @@ BOOL WINAPI PrintDocumentOnPrintProcessor(HANDLE pp, WCHAR *doc_name) }
cleanup: + HeapFree(GetProcessHeap(), 0, data->pdev->job.doc_name); ClosePrinter(spool_data); return EndDocPrinter(data->hport) && ret; }