Kaydet (Commit) 86ce77b9 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Don't adertise PresenterCanvas as com.sun.star.rendering.Canvas service

Window::ImplGetCanvas (vcl/source/window/window.cxx) tries to obtain such a
Canvas service (passing in 6 initialization arguments), and the CanvasFactory in
canvas/source/factory/cf_service.cxx apparently goes through the implementations
advertised to implement that service, looking for the best match.  At least for
Linux-rpm_deb-x86_64@70-TDF-dbg tinderbox, it somehow manages to pick the
PresenterCanvas (instead of one of the more obvious choices among the variants
in canvas/soruce/{cairo,directx,vcl}), but which only epects 5 initialization
arguments, so CppunitTest_cppcanvas_emfplus fails with a "PresenterCanvas:
invalid number of arguments" exception. (And the choice of the PresenterCanvas
looks more than dubious anyway.)

Normally, instances of PresenterCanvas appear to be created "directly" from
PresenterHelper::createSharedCanvas (sd/source/ui/presenter/PresenterHelper.cxx)
so it shouldn't hurt to no longer adertise this implementation as providing the
Canvas service---and it might not even be necessary to make it available via the
service manager at all.

Change-Id: Ie76bfc87fec51b6d5361930204e55ef9cb80370e
üst 6d42dc0e
......@@ -33,7 +33,6 @@
</implementation>
<implementation name="com.sun.star.comp.Draw.PresenterCanvasFactory"
constructor="com_sun_star_comp_Draw_PresenterCanvasFactory_get_implementation">
<service name="com.sun.star.rendering.Canvas"/>
</implementation>
<implementation name="com.sun.star.comp.Draw.PresenterHelper"
constructor="com_sun_star_comp_Draw_PresenterHelper_get_implementation">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment