[Libreoffice-commits] .: Branch 'libreoffice-4-0' - vcl/generic vcl/inc vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jan 10 01:02:32 PST 2013


 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 <caolanm at 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 <vmiklos at suse.cz>
    Tested-by: Miklos Vajna <vmiklos at 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)


More information about the Libreoffice-commits mailing list