Author: orw Date: Fri Apr 19 11:41:08 2013 New Revision: 1469788 URL: http://svn.apache.org/r1469788 Log: 120529: abort print controller job, if no pages will be printed
Modified: openoffice/trunk/main/vcl/source/gdi/print3.cxx Modified: openoffice/trunk/main/vcl/source/gdi/print3.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/gdi/print3.cxx?rev=1469788&r1=1469787&r2=1469788&view=diff ============================================================================== --- openoffice/trunk/main/vcl/source/gdi/print3.cxx (original) +++ openoffice/trunk/main/vcl/source/gdi/print3.cxx Fri Apr 19 11:41:08 2013 @@ -522,17 +522,17 @@ void Printer::ImplPrintJob( const boost: bool Printer::StartJob( const rtl::OUString& i_rJobName, boost::shared_ptr<vcl::PrinterController>& i_pController ) { - mnError = PRINTER_OK; + mnError = PRINTER_OK; - if ( IsDisplayPrinter() ) - return sal_False; + if ( IsDisplayPrinter() ) + return sal_False; - if ( IsJobActive() || IsPrinting() ) - return sal_False; + if ( IsJobActive() || IsPrinting() ) + return sal_False; - sal_uLong nCopies = mnCopyCount; - bool bCollateCopy = mbCollateCopy; - bool bUserCopy = sal_False; + sal_uLong nCopies = mnCopyCount; + bool bCollateCopy = mbCollateCopy; + bool bUserCopy = sal_False; if ( nCopies > 1 ) { @@ -656,7 +656,13 @@ bool Printer::StartJob( const rtl::OUStr { mbJobActive = sal_True; i_pController->createProgressDialog(); - int nPages = i_pController->getFilteredPageCount(); + const int nPages = i_pController->getFilteredPageCount(); + // abort job, if no pages will be printed. + if ( nPages == 0 ) + { + i_pController->abortJob(); + bAborted = true; + } for( int nOuterIteration = 0; nOuterIteration < nOuterRepeatCount && ! bAborted; nOuterIteration++ ) { for( int nPage = 0; nPage < nPages && ! bAborted; nPage++ ) @@ -733,7 +739,7 @@ bool Printer::StartJob( const rtl::OUStr ); } - return true; + return true; } PrinterController::~PrinterController()