diff options
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/dialog/filedlghelper.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx index c9ab00c7c704..a927cfe35e74 100644 --- a/sfx2/source/dialog/filedlghelper.cxx +++ b/sfx2/source/dialog/filedlghelper.cxx @@ -1769,6 +1769,9 @@ void FileDialogHelper_Impl::setFilter( const OUString& rFilter ) // ------------------------------------------------------------------------ void FileDialogHelper_Impl::createMatcher( const String& rFactory ) { + if (mbDeleteMatcher) + delete mpMatcher; + mpMatcher = new SfxFilterMatcher( SfxObjectShell::GetServiceNameFromFactory(rFactory) ); mbDeleteMatcher = sal_True; } @@ -1783,6 +1786,9 @@ void FileDialogHelper_Impl::addFilters( const String& rFactory, if ( ! xFltMgr.is() ) return; + if (mbDeleteMatcher) + delete mpMatcher; + // we still need a matcher to convert UI names to filter names if ( !rFactory.Len() ) { |