[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