[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - filter/source include/vcl vcl/source

Michael Meeks michael.meeks at collabora.com
Mon Jun 1 01:37:09 PDT 2015


 filter/source/pdf/impdialog.cxx        |    2 ++
 include/vcl/FilterConfigItem.hxx       |    3 +++
 vcl/source/filter/FilterConfigItem.cxx |    6 ++++++
 3 files changed, 11 insertions(+)

New commits:
commit 13da15429b670d78174d7da605058a2e4636f297
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu May 28 14:17:11 2015 +0100

    tdf#91652 - store PDF FilterConfigItem options in dispose.
    
    Change-Id: I808aeab8fdac35330de24970b873f49e22c52c6a
    Reviewed-on: https://gerrit.libreoffice.org/15946
    Tested-by: Jenkins <ci at libreoffice.org>
    Tested-by: Michael Meeks <michael.meeks at collabora.com>
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
    (cherry picked from commit fee29fde64567e91c69a350a787b6aefadfb71af)

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 7a7ff0c..89a1351 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -325,6 +325,8 @@ void ImpPDFTabDialog::dispose()
     RemoveTabPage(mnLinksPage);
     RemoveTabPage(mnSecurityPageId);
     RemoveTabPage(mnSigningPageId);
+    maConfigItem.WriteModifiedConfig();
+    maConfigI18N.WriteModifiedConfig();
     SfxTabDialog::dispose();
 }
 
diff --git a/include/vcl/FilterConfigItem.hxx b/include/vcl/FilterConfigItem.hxx
index 88694f0..ccee439b 100644
--- a/include/vcl/FilterConfigItem.hxx
+++ b/include/vcl/FilterConfigItem.hxx
@@ -60,7 +60,10 @@ public :
     FilterConfigItem( const OUString& rSubTree );
     FilterConfigItem( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData );
     FilterConfigItem( const OUString& rSubTree, ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData );
+    /// Writes config in destructor
     ~FilterConfigItem();
+    /// Writes config and sets unmodified state again.
+    void WriteModifiedConfig();
 
     // all read methods are trying to return values in following order:
     // 1. FilterData PropertySequence
diff --git a/vcl/source/filter/FilterConfigItem.cxx b/vcl/source/filter/FilterConfigItem.cxx
index 156dc67..1194859 100644
--- a/vcl/source/filter/FilterConfigItem.cxx
+++ b/vcl/source/filter/FilterConfigItem.cxx
@@ -169,6 +169,11 @@ FilterConfigItem::FilterConfigItem( const OUString& rSubTree,
 
 FilterConfigItem::~FilterConfigItem()
 {
+    WriteModifiedConfig();
+}
+
+void FilterConfigItem::WriteModifiedConfig()
+{
     if ( xUpdatableView.is() )
     {
         if ( xPropSet.is() && bModified )
@@ -179,6 +184,7 @@ FilterConfigItem::~FilterConfigItem()
                 try
                 {
                     xUpdateControl->commitChanges();
+                    bModified = false;
                 }
                 catch ( ::com::sun::star::uno::Exception& )
                 {


More information about the Libreoffice-commits mailing list