https://bugs.freedesktop.org/show_bug.cgi?id=50964

             Bug #: 50964
           Summary: PresenterConsole - missing all images...
    Classification: Unclassified
           Product: LibreOffice
           Version: LibO Master
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: blocker
          Priority: medium
         Component: Presentation
        AssignedTo: libreoffice-bugs@lists.freedesktop.org
        ReportedBy: michael.me...@novell.com


This is down to the PresenterConsole not getting the correct path to load it's
bitmaps from. It achieves this feat via:

void ReadContext::SetBitmapSourceExtension (const OUString&
rsExtensionIdentifier)
{
    // Get base path to bitmaps.
    msBasePath = PresenterComponent::GetBasePath(mxComponentContext,
rsExtensionIdentifier);
}

Which erroneously returns '/' - the rsExtensionIdentifier is -very- odd (cf.
the sdext stuff like this:

Library_presenter.mk:   
-DPRESENTER_IMPL_IDENTIFIER=\"com.sun.PresenterScreen-$(PLATFORMID)\" \
StaticLibrary_pdfimport_s.mk:   
-DPDFI_IMPL_IDENTIFIER=\"com.sun.star.PDFImport-$(sdext_PLATFORM)\" \

Where the idea of mangling the PLATFORMID into some impl identifier came from I
have no clue - it seems crazy on the surface.

The code then calls:

::rtl::OUString PresenterComponent::GetBasePath (
    const Reference<XComponentContext>& rxComponentContext,
    const OUString& rsExtensionIdentifier)
{
    static ::rtl::OUString sBasePath;
    if (sBasePath.isEmpty())
    {
        // Determine the base path of the bitmaps.
        Reference<deployment::XPackageInformationProvider> xInformationProvider
(
            rxComponentContext->getValueByName(
                OUString(RTL_CONSTASCII_USTRINGPARAM(
                   
"/singletons/com.sun.star.deployment.PackageInformationProvider"))),
            UNO_QUERY);
        if (xInformationProvider.is())
        {
            try
            {
                sBasePath =
xInformationProvider->getPackageLocation(rsExtensionIdentifier)
                    + OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
            }
            catch (const deployment::DeploymentException&)
            {
            }
        }
    }


And walking through:

dp_informationprovider.cxx's

rtl::OUString PackageInformationProvider::getPackageLocation(

shows it operating on an empty sequence. ie.

        const uno::Sequence< uno::Reference< deployment::XPackage > > packages(
                xManager->getDeployedExtensions(
                    repository,
                    uno::Reference< task::XAbortChannel >(),
                    uno::Reference< css_ucb::XCommandEnvironment > () ) );


returns an empty sequence. That seems to be the cause of the problem.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to