https://bugs.documentfoundation.org/show_bug.cgi?id=53864

--- Comment #29 from Justin L <[email protected]> ---
The key code location for this bug is svx/source/svdraw/svdpagv.cxx
    // For example, in the case of charts, there is a LayerAdmin,
    // but it has no valid values. Therefore
    // a solution like pLayerAdmin->getVisibleLayersODF(aLayerVisi)
    // is not possible. So use the generic SetAll() for now.
    m_aLayerVisi.SetAll();
which sets all the layers to visible for this SdrPageView.

A red herring (probably) was in svx/source/unodraw/UnoGraphicExporter.cxx
      ImplExportCheckVisisbilityRedirector aRedirector( mpCurrentPage );
except that mpCurrentPage is nullptr, but even if filled with the current page
it didn't solve anything.
  SdrPage* pVisibilityPage = mpCurrentPage;
  if (!pVisibilityPage && mxPage.is())
      SvxDrawPage* pUnoPage =
comphelper::getFromUnoTunnel<SvxDrawPage>(mxPage);
        if (pUnoPage)
            pVisibilityPage = pUnoPage->GetSdrPage();

svx/source/svdraw/sdrpagewindow.cxx RedrawAll basically does the right thing
    SdrLayerIDSet aProcessLayers
         = bPrinter ? mpImpl->mrPageView.GetPrintableLayers()
                    : mpImpl->mrPageView.GetVisibleLayers();
except that GetVisibleLayers ignores all of the stuff in parent layers which
looks like a massive fundamental issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to