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
Showing
Please
register
or
sign in
to comment