diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-09-28 12:24:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-09-28 12:39:30 +0100 |
commit | 5345b1562066d61b9ed79f072f8a953c67f847ed (patch) | |
tree | ace2acd0c229f334e9829f4fd902a674295b01b0 | |
parent | e439058541cd02937cf43f399fef8767bd3d4996 (diff) |
Resolves: tdf#102358 writer cannot save 3d shape inserted from draw
because SwXShape::supportsService always returned true for
com.sun.star.drawing.Shape I surmise that getSupportedServiceNames
should always list com.sun.star.drawing.Shape as a supported service
This went awry with...
commit 2f50ce6cfab2871cd879c1429e1938d3642616ef
Author: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Date: Thu Dec 5 19:17:18 2013 -0200
fdo#54938: Convert sw to use cppu::supportsService
Change-Id: Ic27bf31e5eb991ccceb8b97713d1e50a736709c8
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
Change-Id: I9821a620da8bac3b6b59da976a8c25bb2deafcf1
-rw-r--r-- | sw/source/core/unocore/unodraw.cxx | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 7aa7bceb0370..04291f64b810 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -2207,18 +2207,15 @@ sal_Bool SwXShape::supportsService(const OUString& rServiceName) throw( uno::Run uno::Sequence< OUString > SwXShape::getSupportedServiceNames() throw( uno::RuntimeException, std::exception ) { uno::Sequence< OUString > aSeq; - if(xShapeAgg.is()) + if (xShapeAgg.is()) { uno::Reference< lang::XUnoTunnel > xShapeTunnel(xShapeAgg, uno::UNO_QUERY); SvxShape* pSvxShape = GetSvxShape(); if(pSvxShape) aSeq = pSvxShape->getSupportedServiceNames(); } - else - { - aSeq.realloc(1); - aSeq.getArray()[0] = "com.sun.star.drawing.Shape"; - } + aSeq.realloc(aSeq.getLength() + 1); + aSeq.getArray()[aSeq.getLength() - 1] = "com.sun.star.drawing.Shape"; return aSeq; } |