[Libreoffice-commits] core.git: 2 commits - reportdesign/source svx/source
Lionel Elie Mamane
lionel at mamane.lu
Fri Nov 8 01:09:55 PST 2013
On Fri, Nov 08, 2013 at 08:57:31AM +0100, Stephan Bergmann wrote:
> Ouch. I must admit I at least didn't carefully inspect all of the
> supportsService implementations cleaned up in
> <https://bugs.freedesktop.org/show_bug.cgi?id=54938> "Adapt
> supportsService implementations to cppu::supportsService" for this
> gotcha of deliberate incompatibility between supportsService and
> getSupportedServiceNames.
> Would it not be better here to change
> OShape::getSupportedServiceNames instead, to also report
> m_sServiceName?
On the face of it, it sounds reasonable.
I tried to do it with the attached patch.
However, rpt_component_getFactory in file
reportdesign/source/core/api/services.cxx wants to use
OShape::getSupportedServiceNames_Static
I'm not sure for what exactly; but I expect there it wants a static
function there (no "this" pointer).
So we are making getSupportedServiceNames and supportsService
compatible, but we are making getSupportedServiceNames incompatible
with getSupportedServiceNames_Static.
What are the consequences of that? Which incompatibility is
preferable? I don't know. Do you have an opinion on that?
> On 11/08/2013 03:10 AM, Lionel Elie Mamane wrote:
>> commit e7fad6da680631f82684d4f248ab77d53caa4189
>> Author: Lionel Elie Mamane <lionel at mamane.lu>
>> Date: Fri Nov 8 03:06:09 2013 +0100
>> fdo#71130 pretend to support service m_sServiceName
>>
>> Which was the case before, and was probably erroneously changed in
>> commit 196f980012739d94654e6863b85b2e49f7e1a1e5
>> fdo#54938: Replace existsValue for cppu::supportsService
>>
>> Change-Id: I20323bba1105d1844c79a5a0ad3c9e133a9d0d05
>> diff --git a/reportdesign/source/core/api/Shape.cxx b/reportdesign/source/core/api/Shape.cxx
>> index 47270d4..d22ed65 100644
>> --- a/reportdesign/source/core/api/Shape.cxx
>> +++ b/reportdesign/source/core/api/Shape.cxx
>> @@ -151,7 +151,7 @@ uno::Sequence< OUString > SAL_CALL OShape::getSupportedServiceNames( ) throw(un
>> sal_Bool SAL_CALL OShape::supportsService(const OUString& ServiceName) throw( uno::RuntimeException )
>> {
>>
>> - return cppu::supportsService(this, ServiceName);
>> + return m_sServiceName == ServiceName || cppu::supportsService(this, ServiceName);
>> }
>> // -----------------------------------------------------------------------------
>> // XReportComponent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FOO.patch
Type: text/x-diff
Size: 2776 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20131108/e839f8ad/attachment.patch>
More information about the LibreOffice
mailing list