Kaydet (Commit) bc7bff4a authored tarafından Mark Wielaard's avatar Mark Wielaard Kaydeden (comit) David Tardon

Fix memory leak in FileDialogHelper_Impl::createMatcher/addFilters.

Before resetting mpMatcher to a new value check whether the current
value needs to be deleted first.

Change-Id: I26039c19483621d809dbd8474b86254948efc9f6
Reviewed-on: https://gerrit.libreoffice.org/4194Reviewed-by: 's avatarDavid Tardon <dtardon@redhat.com>
Tested-by: 's avatarDavid Tardon <dtardon@redhat.com>
üst cad5e28b
......@@ -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() )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment