[Bug 54938] Adapt supportsService implementations to cppu::supportsService
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Feb 12 12:33:10 CET 2014
https://bugs.freedesktop.org/show_bug.cgi?id=54938
--- Comment #58 from Stephan Bergmann <sbergman at redhat.com> ---
(In reply to comment #56)
> I tried to convert dbaccess/source/inc/apitools.hxx, but I get this:
>
> In member function ‘virtual sal_Bool dbaccess::OQuery::supportsService(const
> rtl::OUString&)’:
> ./dbaccess/source/inc/apitools.hxx:81:57: error:
> ‘com::sun::star::lang::XServiceInfo’ is an ambiguous base of
> ‘dbaccess::OQuery’
> return cppu::supportsService(this, _rServiceName);
>
> Do you have any idea? In this case supportsService is a macro.
Multiple inheritance of the same UNO interface does happen, and you then need
to help the compiler by static_casting this to one of the branches through
which it is inherited. (Though multiple inheritance of XServiceInfo rather
smells like a design bug that should be cleaned up.)
Unwind the use of IMPLEMENT_SERVICE_INFO3 in
dbaccess/source/core/api/query.cxx, find out through which branches
XServiceInfo is inherited, and use a static_cast around the this pointer in the
implementation of OQuery::supportsService.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20140212/7a507fff/attachment.html>
More information about the LibreOffice
mailing list