fdo#78742: SfxFilterMatcher: respect requested document service if set
sfx2::DocumentInserter::CreateMediumList() creates a SfxFilterMatcher
that should match Writer filters only, but actually Calc filters may be
returned; check that the document service matches.
(regression from 3da8f3680556e0163f660a0a159930337c8c32ff)
Change-Id: I6208d38c1110355105aa5d1ffa1b57142193a4d7
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index 072ded5c..33d32e2 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -497,7 +497,9 @@ sal_uInt32 SfxFilterMatcher::GuessFilterControlDefaultUI( SfxMedium& rMedium, c
// Type detection returned a suitable filter for this. Use it.
pFilter = SfxFilter::GetFilterByName(aFilterName);
if (!pFilter)
// fdo#78742 respect requested document service if set
if (!pFilter || (!m_rImpl.aName.isEmpty()
&& m_rImpl.aName != pFilter->GetServiceName()))
{
// detect filter by given type
// In case of this matcher is bound to a particular document type: