summaryrefslogtreecommitdiff
path: root/sfx2/source/bastyp
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-05-19 18:31:54 +0200
committerMichael Stahl <mstahl@redhat.com>2014-05-19 18:49:46 +0200
commit805fd1ca343d6295b8114a24cc29bdac332f266d (patch)
tree211aae439d8a9df0d4927b04fff0a22f2c03b223 /sfx2/source/bastyp
parent184e4ef35641403fd293262ee413ceee37b3761a (diff)
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
Diffstat (limited to 'sfx2/source/bastyp')
-rw-r--r--sfx2/source/bastyp/fltfnc.cxx4
1 files changed, 3 insertions, 1 deletions
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: