diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-05-28 14:17:11 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-05-28 16:05:53 +0000 |
commit | fee29fde64567e91c69a350a787b6aefadfb71af (patch) | |
tree | cb1f3e5fb0aa8576141d0df2f9b8c729e23a8e15 | |
parent | 3c9fb5898159fbda9d5b23f3f518044a5df03f72 (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.cxx | 2 | ||||
-rw-r--r-- | include/vcl/FilterConfigItem.hxx | 3 | ||||
-rw-r--r-- | vcl/source/filter/FilterConfigItem.cxx | 6 |
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& ) { |