summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-28 14:17:11 +0100
committerDavid Tardon <dtardon@redhat.com>2015-06-01 10:35:31 +0200
commit13da15429b670d78174d7da605058a2e4636f297 (patch)
tree63b68e8d5b9646c06fb043e8da1f7f79c53c20af
parent75ceb04d81f68bbe8e3fecc24ad4977d9b2499f6 (diff)
tdf#91652 - store PDF FilterConfigItem options in dispose.
Change-Id: I808aeab8fdac35330de24970b873f49e22c52c6a Reviewed-on: https://gerrit.libreoffice.org/15946 Tested-by: Jenkins <ci@libreoffice.org> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit fee29fde64567e91c69a350a787b6aefadfb71af)
-rw-r--r--filter/source/pdf/impdialog.cxx2
-rw-r--r--include/vcl/FilterConfigItem.hxx3
-rw-r--r--vcl/source/filter/FilterConfigItem.cxx6
3 files changed, 11 insertions, 0 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 7a7ff0c7a095..89a135104243 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 88694f09b88e..ccee439b74af 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 156dc67fa491..119485971445 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& )
{