diff options
-rw-r--r-- | sd/source/core/sdpage.cxx | 5 | ||||
-rw-r--r-- | slideshow/source/engine/shapes/shapeimporter.cxx | 20 |
2 files changed, 22 insertions, 3 deletions
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 10b4f34b761f..020f1f6bbfd4 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -2802,9 +2802,10 @@ bool SdPage::checkVisibility( const bool bIsInsidePageObj(pPageView && pPageView->GetPage() != pVisualizedPage); // empty presentation objects only visible during edit mode - if( (bIsPrinting || !bEdit || bIsInsidePageObj ) && pObj->IsEmptyPresObj() ) + if( (bIsPrinting || !bEdit || bIsInsidePageObj ) && pObj->IsEmptyPresObj() && !(pObj->HasFillStyle() || pObj->HasLineStyle()) ) { - if( (pObj->GetObjInventor() != SdrInventor::Default) || ( (pObj->GetObjIdentifier() != SdrObjKind::Rectangle) && (pObj->GetObjIdentifier() != SdrObjKind::Page) ) ) + if( (pObj->GetObjInventor() != SdrInventor::Default) || ( (pObj->GetObjIdentifier() != SdrObjKind::Rectangle) && + (pObj->GetObjIdentifier() != SdrObjKind::Page) ) ) return false; } diff --git a/slideshow/source/engine/shapes/shapeimporter.cxx b/slideshow/source/engine/shapes/shapeimporter.cxx index 92162eeb60ad..7823a5588efd 100644 --- a/slideshow/source/engine/shapes/shapeimporter.cxx +++ b/slideshow/source/engine/shapes/shapeimporter.cxx @@ -346,7 +346,25 @@ bool ShapeImporter::isSkip( "IsEmptyPresentationObject") && bEmpty ) { - return true; + // check object have fill or linestyle, if have, it should be visible + drawing::FillStyle aFillStyle{ drawing::FillStyle_NONE }; + if (getPropertyValue(aFillStyle, + xPropSet, "FillStyle") && + aFillStyle != drawing::FillStyle_NONE) + { + bEmpty = false; + } + + drawing::LineStyle aLineStyle{ drawing::LineStyle_NONE }; + if (bEmpty && getPropertyValue(aLineStyle, + xPropSet, "LineStyle") && + aLineStyle != drawing::LineStyle_NONE) + { + bEmpty = false; + } + + if (bEmpty) + return true; } //skip shapes which corresponds to annotations |