filter/source/pdf/impdialog.cxx   |    7 +++++++
 filter/source/pdf/impdialog.hrc   |    4 ++++
 filter/source/pdf/impdialog.src   |   10 ++++++++++
 filter/source/pdf/pdfexport.cxx   |    2 +-
 include/vcl/pdfwriter.hxx         |    5 ++++-
 vcl/source/gdi/pdfwriter_impl.cxx |   16 ++++++++++++++--
 6 files changed, 40 insertions(+), 4 deletions(-)

New commits:
commit d8a8ff8177df628636d80c4dc1d8f597f6677dfc
Author: Tor Lillqvist <t...@collabora.com>
Date:   Wed Dec 3 14:02:34 2014 +0200

    fdo#83939: Set error code if signing failed
    
    Change-Id: I45f1077c744e20a369a73bf0b83c8dba04ddcda7

diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index 5f77f88..f018615 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -6984,7 +6984,13 @@ bool PDFWriterImpl::emit()
 
 #if !defined(ANDROID) && !defined(IOS)
     if (m_nSignatureObject != -1) // if document is signed, emit sigdict
-        CHECK_RETURN( emitSignature() );
+    {
+        if( !emitSignature() )
+        {
+            m_aErrors.insert( PDFWriter::Error_Signature_Failed );
+            return false;
+        }
+    }
 #endif
 
     // emit trailer
@@ -6992,7 +6998,13 @@ bool PDFWriterImpl::emit()
 
 #if !defined(ANDROID) && !defined(IOS)
     if (m_nSignatureObject != -1) // finalize the signature
-        CHECK_RETURN( finalizeSignature() );
+    {
+        if( !finalizeSignature() )
+        {
+            m_aErrors.insert( PDFWriter::Error_Signature_Failed );
+            return false;
+        }
+    }
 #endif
 
     m_aFile.close();
commit 1fe9ee73a758603ee0e1465931352c41ef8bd999
Author: Tor Lillqvist <t...@collabora.com>
Date:   Wed Dec 3 14:01:58 2014 +0200

    fdo#83939: Add new error code for failed PDF signing, and handle it
    
    Change-Id: Ide6dc06d33faea795272d9d32fc028ac8d023c5a

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 20e0350..b024d17 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -1496,6 +1496,13 @@ ImplErrorDialog::ImplErrorDialog(const std::set< 
vcl::PDFWriter::ErrorCode >& rE
             m_pErrors->SetEntryData( nPos, new OUString( PDFFilterResId( 
STR_WARN_TRANSP_CONVERTED ) ) );
         }
         break;
+        case vcl::PDFWriter::Error_Signature_Failed:
+        {
+            sal_uInt16 nPos = m_pErrors->InsertEntry( OUString( 
PDFFilterResId( STR_ERR_SIGNATURE_FAILED ) ),
+                                                aErrImg );
+            m_pErrors->SetEntryData( nPos, new OUString( PDFFilterResId( 
STR_ERR_PDF_EXPORT_ABORTED ) ) );
+        }
+        break;
         default:
             break;
         }
diff --git a/filter/source/pdf/impdialog.hrc b/filter/source/pdf/impdialog.hrc
index d55d590..57f1045 100644
--- a/filter/source/pdf/impdialog.hrc
+++ b/filter/source/pdf/impdialog.hrc
@@ -19,6 +19,9 @@
 
 #include <filter.hrc>
 
+#define STR_ERR_SIGNATURE_FAILED        (RID_PDF_DIALOG_START + 0)
+#define STR_ERR_PDF_EXPORT_ABORTED      (RID_PDF_DIALOG_START + 1)
+
 #define STR_WARN_PASSWORD_PDFA          (RID_PDF_DIALOG_START + 6)
 
 //strings for PDF security, user password management
@@ -39,5 +42,6 @@
 #define IMG_ERR                         (RID_PDF_DIALOG_START + 18)
 
 //ATTENTION: maximum allowed value is   (RID_PDF_DIALOG_START + 19)
+//(see filter/inc/filter.hrc)
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/filter/source/pdf/impdialog.src b/filter/source/pdf/impdialog.src
index 8bb0512..53ba8f2 100644
--- a/filter/source/pdf/impdialog.src
+++ b/filter/source/pdf/impdialog.src
@@ -78,6 +78,16 @@ String STR_WARN_TRANSP_CONVERTED_SHORT
     Text [en-US] = "Transparencies removed";
 };
 
+String STR_ERR_SIGNATURE_FAILED
+{
+    Text [en-US] = "Signature generation failed";
+};
+
+String STR_ERR_PDF_EXPORT_ABORTED
+{
+    Text [en-US] = "PDF export aborted";
+};
+
 Bitmap IMG_WARN
 {
     File = "ballgreen_7.png";
diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx
index 880e2fa..5b4b35d 100644
--- a/include/vcl/pdfwriter.hxx
+++ b/include/vcl/pdfwriter.hxx
@@ -216,7 +216,10 @@ public:
 
         // transparent objects were converted to a bitmap in order
         // to removetransparencies from the output
-        Warning_Transparency_Converted
+        Warning_Transparency_Converted,
+
+        // signature generation failed
+        Error_Signature_Failed,
     };
 
     struct VCL_DLLPUBLIC AnyWidget
commit 840f75065918c4584fa9159fdc90242b5374ab37
Author: Tor Lillqvist <t...@collabora.com>
Date:   Wed Dec 3 14:00:38 2014 +0200

    fdo#83939: Check return value from pPDFWriter->Emit()
    
    Change-Id: Id492b1b6b9d534276c155b1e46953d098ce8b969

diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index ffa9e42..9e83456 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -914,7 +914,7 @@ bool PDFExport::Export( const OUString& rFile, const 
Sequence< PropertyValue >&
                 if( bRet )
                 {
                     pPDFExtOutDevData->PlayGlobalActions( *pPDFWriter );
-                    pPDFWriter->Emit();
+                    bRet = pPDFWriter->Emit();
                     aErrors = pPDFWriter->GetErrors();
                 }
                 pOut->SetExtOutDevData( NULL );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to