Author: cfinck Date: Wed Jul 22 09:21:20 2015 New Revision: 68549
URL: http://svn.reactos.org/svn/reactos?rev=68549&view=rev Log: [LOCALSPL] Stalling execution of the Print Processor under Windows reveals that the status flag JOB_STATUS_PRINTING is only set right before calling PrintDocumentOnPrintProcessor.
Modified: branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/jobs.c branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/printingthread.c
Modified: branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/jobs.c URL: http://svn.reactos.org/svn/reactos/branches/colins-printing-for-freedom/reac... ============================================================================== --- branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/jobs.c [iso-8859-1] (original) +++ branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/jobs.c [iso-8859-1] Wed Jul 22 09:21:20 2015 @@ -1155,9 +1155,8 @@ goto Cleanup; }
- // Switch from spooling to printing. + // Spooling is finished at this point. pJob->dwStatus &= ~JOB_STATUS_SPOOLING; - pJob->dwStatus |= JOB_STATUS_PRINTING;
// Write the job data into the shadow file. wcscpy(wcsrchr(wszFullPath, L'.'), L".SHD");
Modified: branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/printingthread.c URL: http://svn.reactos.org/svn/reactos/branches/colins-printing-for-freedom/reac... ============================================================================== --- branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/printingthread.c [iso-8859-1] (original) +++ branches/colins-printing-for-freedom/reactos/win32ss/printing/providers/localspl/printingthread.c [iso-8859-1] Wed Jul 22 09:21:20 2015 @@ -74,6 +74,9 @@ CopyMemory(&pwszPrinterAndJob[cchPrinterName], wszJobAppendix, cchJobAppendix * sizeof(WCHAR)); _ultow(OpenData.JobId, &pwszPrinterAndJob[cchPrinterName + cchJobAppendix], 10);
+ // Printing starts here. + pJob->dwStatus |= JOB_STATUS_PRINTING; + // Print the document. // Note that pJob is freed after this function, so we may not access it anymore. if (!pPrintProcessor->pfnPrintDocumentOnPrintProcessor(hPrintProcessor, pwszPrinterAndJob))