summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-28 14:17:11 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-28 16:05:53 +0000
commitfee29fde64567e91c69a350a787b6aefadfb71af (patch)
treecb1f3e5fb0aa8576141d0df2f9b8c729e23a8e15
parent3c9fb5898159fbda9d5b23f3f518044a5df03f72 (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>
-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 6211602d94b7..63cec8d78622 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& )
{