summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/dialog/filedlghelper.cxx6
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() )
{