• Stephan Bergmann's avatar
    Don't adertise PresenterCanvas as com.sun.star.rendering.Canvas service · 86ce77b9
    Stephan Bergmann yazdı
    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
    86ce77b9
sd.component 6.33 KB