<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED --- - Adapt supportsService implementations to cppu::supportsService"
href="https://bugs.freedesktop.org/show_bug.cgi?id=54938#c58">Comment # 58</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED --- - Adapt supportsService implementations to cppu::supportsService"
href="https://bugs.freedesktop.org/show_bug.cgi?id=54938">bug 54938</a>
from <span class="vcard"><a class="email" href="mailto:sbergman@redhat.com" title="Stephan Bergmann <sbergman@redhat.com>"> <span class="fn">Stephan Bergmann</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=54938#c56">comment #56</a>)
<span class="quote">> 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.</span >
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.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>