summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/source/core/sdpage.cxx5
-rw-r--r--slideshow/source/engine/shapes/shapeimporter.cxx20
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