vcl/generic/print/genprnpsp.cxx | 1 + vcl/inc/vcl/jobdata.hxx | 3 ++- vcl/unx/generic/printer/jobdata.cxx | 8 +++++++- 3 files changed, 10 insertions(+), 2 deletions(-)
New commits: commit 4c93acdba9274f5571a01a7ed5738957d8ebb0cd Author: Caolán McNamara <caol...@redhat.com> Date: Wed Jan 9 12:44:09 2013 +0000 Resolves: fdo#59131 resolve default backend on printer->setup For setting permanent defaults via spadmin we don't want to resolve the default backend on saving "default", this happens during the print initialization stuff. But when we tweak the printer settings for a single print job and reset back to default, we need to resolve that to what backend we want Change-Id: Iac2370624b6d248c9658fb0fbc2f2d449849d81a (cherry picked from commit 9c4d77f22d58f5b500c95f65a431628a8d8d6e6e) Reviewed-on: https://gerrit.libreoffice.org/1609 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/vcl/generic/print/genprnpsp.cxx b/vcl/generic/print/genprnpsp.cxx index 9949eae..6800e01 100644 --- a/vcl/generic/print/genprnpsp.cxx +++ b/vcl/generic/print/genprnpsp.cxx @@ -584,6 +584,7 @@ sal_Bool PspSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pJobSetup ) if( pSetupFunction( aInfo ) ) { + aInfo.resolveDefaultBackend(); rtl_freeMemory( pJobSetup->mpDriverData ); pJobSetup->mpDriverData = NULL; diff --git a/vcl/inc/vcl/jobdata.hxx b/vcl/inc/vcl/jobdata.hxx index 577e0fa..3f81877 100644 --- a/vcl/inc/vcl/jobdata.hxx +++ b/vcl/inc/vcl/jobdata.hxx @@ -68,7 +68,8 @@ struct VCL_DLLPUBLIC JobData void setCollate( bool bCollate ); bool setPaper( int nWidth, int nHeight ); // dimensions in pt bool setPaperBin( int nPaperBin ); // dimensions in pt - void setDefaultBackend( bool bUsePDF ); + void resolveDefaultBackend(); + void setDefaultBackend(bool bUsePDF); // creates a new buffer using new // it is up to the user to delete it again diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx index 385ed02..c55f64a 100644 --- a/vcl/unx/generic/printer/jobdata.cxx +++ b/vcl/unx/generic/printer/jobdata.cxx @@ -18,9 +18,9 @@ */ +#include <officecfg/Office/Common.hxx> #include "vcl/jobdata.hxx" #include "vcl/printerinfomanager.hxx" - #include "tools/stream.hxx" #include <sal/alloca.h> @@ -269,6 +269,12 @@ bool JobData::constructFromStreamBuffer( void* pData, int bytes, JobData& rJobDa return bVersion && bPrinter && bOrientation && bCopies && bContext && bMargin && bPSLevel && bPDFDevice && bColorDevice && bColorDepth; } +void JobData::resolveDefaultBackend() +{ + if (m_nPSLevel == 0 && m_nPDFDevice == 0) + setDefaultBackend(officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::get()); +} + void JobData::setDefaultBackend(bool bUsePDF) { if (bUsePDF && m_nPSLevel == 0 && m_nPDFDevice == 0)
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits