From 805fd1ca343d6295b8114a24cc29bdac332f266d Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 19 May 2014 18:31:54 +0200 Subject: 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 --- sfx2/source/bastyp/fltfnc.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sfx2') diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx index 072ded5cf9e3..33d32e261bfd 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: -- cgit