summaryrefslogtreecommitdiff
path: root/svx/source/svdraw
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r--svx/source/svdraw/svddrgv.cxx3
-rw-r--r--svx/source/svdraw/svdedtv1.cxx3
-rw-r--r--svx/source/svdraw/svdedxv.cxx11
-rw-r--r--svx/source/svdraw/svdmrkv.cxx5
-rw-r--r--svx/source/svdraw/svdoashp.cxx12
-rw-r--r--svx/source/svdraw/svdograf.cxx8
-rw-r--r--svx/source/svdraw/svdopath.cxx8
-rw-r--r--svx/source/svdraw/svdotext.cxx16
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx19
-rw-r--r--svx/source/svdraw/svdotxed.cxx2
-rw-r--r--svx/source/svdraw/svdovirt.cxx18
-rw-r--r--svx/source/svdraw/svdpagv.cxx18
-rw-r--r--svx/source/svdraw/svdpdf.cxx15
13 files changed, 76 insertions, 62 deletions
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index 02cfc5ee38c8..645cb8fd2bef 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -415,8 +415,7 @@ bool SdrDragView::BegDragObj(const Point& rPnt, OutputDevice* pOut, SdrHdl* pHdl
{
bool bResizeAllowed = IsResizeAllowed(true);
SfxViewShell* pViewShell = GetSfxViewShell();
- SfxObjectShell* pObjectShell = pViewShell ? pViewShell->GetObjectShell() : nullptr;
- if (!bResizeAllowed && pObjectShell && pObjectShell->GetSignPDFCertificate().Is())
+ if (!bResizeAllowed && pViewShell && pViewShell->GetSignPDFCertificate().Is())
{
// If the just added signature line shape is selected, allow resizing it.
bResizeAllowed = true;
diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx
index d8b5162c70f6..693d5f3c0f7c 100644
--- a/svx/source/svdraw/svdedtv1.cxx
+++ b/svx/source/svdraw/svdedtv1.cxx
@@ -1829,8 +1829,7 @@ void SdrEditView::SetGeoAttrToMarked(const SfxItemSet& rAttr, bool addPageMargin
// change position
bool bMoveAllowed = m_bMoveAllowed;
SfxViewShell* pViewShell = GetSfxViewShell();
- SfxObjectShell* pObjectShell = pViewShell ? pViewShell->GetObjectShell() : nullptr;
- if (!bMoveAllowed && pObjectShell && pObjectShell->GetSignPDFCertificate().Is())
+ if (!bMoveAllowed && pViewShell && pViewShell->GetSignPDFCertificate().Is())
{
// If the just added signature line shape is selected, allow moving it.
bMoveAllowed = true;
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 374c38baf00e..cd7cb89b2e05 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -2830,10 +2830,13 @@ sal_uInt16 SdrObjEditView::GetSelectionLevel() const
for (sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++)
{
sal_Int16 nDepth = mpTextEditOutliner->GetDepth(nPara);
- assert(nDepth >= 0 && nDepth <= 15);
- sal_uInt16 nParaDepth = 1 << static_cast<sal_uInt16>(nDepth);
- if (!(nLevel & nParaDepth))
- nLevel += nParaDepth;
+ assert(nDepth <= 15);
+ if (nDepth >= 0)
+ {
+ sal_uInt16 nParaDepth = 1 << static_cast<sal_uInt16>(nDepth);
+ if (!(nLevel & nParaDepth))
+ nLevel += nParaDepth;
+ }
}
//reduce one level for Outliner Object
//if( nLevel > 0 && GetTextEditObject()->GetObjIdentifier() == OBJ_OUTLINETEXT )
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index c4f096dd04a8..5c9db14b5402 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -985,6 +985,9 @@ void SdrMarkView::SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const S
+ OString::number(p.getY()));
}
+ if (meDragMode == SdrDragMode::Crop)
+ aExtraInfo.append(", \"isCropMode\": true");
+
if (bWriterGraphic)
{
aExtraInfo.append(", \"isWriterGraphic\": true");
@@ -1116,7 +1119,7 @@ void SdrMarkView::SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const S
else
{
SfxObjectShell* pObjectShell = pViewShell ? pViewShell->GetObjectShell() : nullptr;
- if (pObjectShell && pObjectShell->IsSignPDF() && pObjectShell->GetSignPDFCertificate().Is())
+ if (pObjectShell && pObjectShell->IsSignPDF() && pViewShell && pViewShell->GetSignPDFCertificate().Is())
{
// Expose the info that this is the special signature widget that is OK to
// move/resize.
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index 996071b27e92..51a2fc58b98a 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -2964,8 +2964,8 @@ void SdrObjCustomShape::AdjustToMaxRect(const tools::Rectangle& rMaxRect, bool b
basegfx::B2DHomMatrix aMathMatrix;
aMathMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
- basegfx::fTools::equalZero(fShearX) ? 0.0 : -fShearX,
- basegfx::fTools::equalZero(fRotate) ? 0.0 : fRotate,
+ -fShearX,
+ fRotate,
aTranslate);
// Calculate scaling factors from size of the transformed unit polygon as ersatz for the not
@@ -2995,8 +2995,8 @@ void SdrObjCustomShape::AdjustToMaxRect(const tools::Rectangle& rMaxRect, bool b
aMathMatrix.decompose(aScale, aTranslate, fRotate, fShearX);
aMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
- basegfx::fTools::equalZero(fShearX) ? 0.0 : -fShearX,
- basegfx::fTools::equalZero(fRotate) ? 0.0 : fRotate,
+ -fShearX,
+ fRotate,
aTranslate);
// Now use TRSetBaseGeometry to actually perform scale, shear, rotate and translate
@@ -3103,7 +3103,7 @@ void SdrObjCustomShape::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix,
if (aScale.getX() > 2.0 && aScale.getY() > 2.0)
aScale -= basegfx::B2DTuple(1.0, 1.0);
basegfx::B2DHomMatrix aMathMat = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
- aScale, -fShearX, basegfx::fTools::equalZero(fRotate) ? 0.0 : fRotate,
+ aScale, -fShearX, fRotate,
aTranslate);
// Use matrix to get current center
basegfx::B2DPoint aCenter(0.5,0.5);
@@ -3200,7 +3200,7 @@ bool SdrObjCustomShape::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegf
rMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
basegfx::fTools::equalZero(fShearX) ? 0.0 : tan(fShearX),
- basegfx::fTools::equalZero(fRotate) ? 0.0 : -fRotate,
+ -fRotate,
aTranslate);
return false;
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 82a312c77d9c..7a074bf29ed1 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -1143,15 +1143,9 @@ void SdrGrafObj::addCropHandles(SdrHdlList& rTarget) const
aMatrix.decompose(aScale, aTranslate, fRotate, fShearX);
- if(!basegfx::fTools::equalZero(fShearX))
- {
- // shearX is used, correct it
- fShearX = -fShearX;
- }
-
aMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
- fShearX,
+ -fShearX,
fRotate,
aTranslate);
}
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index 84ef3909c7b5..2782930b0fd7 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -2876,7 +2876,7 @@ bool SdrPathObj::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegfx::B2DP
rMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
basegfx::fTools::equalZero(fShearX) ? 0.0 : tan(fShearX),
- basegfx::fTools::equalZero(fRotate) ? 0.0 : -fRotate,
+ -fRotate,
aTranslate);
return true;
@@ -2900,7 +2900,7 @@ void SdrPathObj::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, const b
// #i75086# Old DrawingLayer (GeoStat and geometry) does not support holding negative scalings
// in X and Y which equal a 180 degree rotation. Recognize it and react accordingly
- if(basegfx::fTools::less(aScale.getX(), 0.0) && basegfx::fTools::less(aScale.getY(), 0.0))
+ if(aScale.getX() < 0.0 && aScale.getY() < 0.0)
{
aScale.setX(fabs(aScale.getX()));
aScale.setY(fabs(aScale.getY()));
@@ -2931,8 +2931,8 @@ void SdrPathObj::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, const b
// #i75086#
// Given polygon is already scaled (for historical reasons), but not mirrored yet.
// Thus, when scale is negative in X or Y, apply the needed mirroring accordingly.
- double fScaleX(basegfx::fTools::less(aScale.getX(), 0.0) ? -1.0 : 1.0);
- double fScaleY(basegfx::fTools::less(aScale.getY(), 0.0) ? -1.0 : 1.0);
+ double fScaleX(aScale.getX() < 0.0 ? -1.0 : 1.0);
+ double fScaleY(aScale.getY() < 0.0 ? -1.0 : 1.0);
// tdf#98565, tdf#98584. While loading a shape, svg:width and svg:height is used to scale
// the polygon. But draw:transform might introduce additional scaling factors, which need to
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 88def27d0d2c..d0ac761a205e 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -520,9 +520,9 @@ void SdrTextObj::AdaptTextMinSize()
// No auto grow requested. Bail out.
return;
- SfxItemSetFixed<SDRATTR_TEXT_MINFRAMEHEIGHT, SDRATTR_TEXT_AUTOGROWHEIGHT,
- SDRATTR_TEXT_MINFRAMEWIDTH, SDRATTR_TEXT_AUTOGROWWIDTH> // contains SDRATTR_TEXT_MAXFRAMEWIDTH
- aSet(*GetObjectItemSet().GetPool());
+ SfxItemSet aSet(SfxItemSet::makeFixedSfxItemSet<SDRATTR_TEXT_MINFRAMEHEIGHT, SDRATTR_TEXT_AUTOGROWHEIGHT,
+ // contains SDRATTR_TEXT_MAXFRAMEWIDTH
+ SDRATTR_TEXT_MINFRAMEWIDTH, SDRATTR_TEXT_AUTOGROWWIDTH>(*GetObjectItemSet().GetPool()));
if(bW)
{
@@ -1507,10 +1507,10 @@ void SdrTextObj::SetVerticalWriting(bool bVertical)
tools::Rectangle aObjectRect = GetSnapRect();
// prepare ItemSet to set exchanged width and height items
- SfxItemSetFixed<SDRATTR_TEXT_AUTOGROWHEIGHT, SDRATTR_TEXT_AUTOGROWHEIGHT,
- // Expanded item ranges to also support hor and ver adjust.
- SDRATTR_TEXT_VERTADJUST, SDRATTR_TEXT_VERTADJUST,
- SDRATTR_TEXT_AUTOGROWWIDTH, SDRATTR_TEXT_HORZADJUST> aNewSet(*rSet.GetPool());
+ SfxItemSet aNewSet(SfxItemSet::makeFixedSfxItemSet<SDRATTR_TEXT_AUTOGROWHEIGHT, SDRATTR_TEXT_AUTOGROWHEIGHT,
+ // Expanded item ranges to also support hor and ver adjust.
+ SDRATTR_TEXT_VERTADJUST, SDRATTR_TEXT_VERTADJUST,
+ SDRATTR_TEXT_AUTOGROWWIDTH, SDRATTR_TEXT_HORZADJUST>(*rSet.GetPool()));
aNewSet.Put(rSet);
aNewSet.Put(makeSdrTextAutoGrowWidthItem(bAutoGrowHeight));
@@ -1590,7 +1590,7 @@ bool SdrTextObj::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, basegfx::B2DP
rMatrix = basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix(
aScale,
basegfx::fTools::equalZero(fShearX) ? 0.0 : tan(fShearX),
- basegfx::fTools::equalZero(fRotate) ? 0.0 : -fRotate,
+ -fRotate,
aTranslate);
return false;
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index be386f0be223..10975edd9c0f 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -962,10 +962,9 @@ void SdrTextObj::impDecomposeAutoFitTextPrimitive(
// add one to range sizes to get back to the old Rectangle and outliner measurements
const sal_uInt32 nAnchorTextWidth(basegfx::fround<sal_uInt32>(aAnchorTextRange.getWidth() + 1));
const sal_uInt32 nAnchorTextHeight(basegfx::fround<sal_uInt32>(aAnchorTextRange.getHeight() + 1));
- const OutlinerParaObject* pOutlinerParaObject = rSdrAutofitTextPrimitive.getSdrText()->GetOutlinerParaObject();
- OSL_ENSURE(pOutlinerParaObject, "impDecomposeBlockTextPrimitive used with no OutlinerParaObject (!)");
- const bool bVerticalWriting(pOutlinerParaObject->IsEffectivelyVertical());
- const bool bTopToBottom(pOutlinerParaObject->IsTopToBottom());
+ const OutlinerParaObject& rOutlinerParaObject(rSdrAutofitTextPrimitive.getOutlinerParaObject());
+ const bool bVerticalWriting(rOutlinerParaObject.IsEffectivelyVertical());
+ const bool bTopToBottom(rOutlinerParaObject.IsTopToBottom());
const Size aAnchorTextSize(Size(nAnchorTextWidth, nAnchorTextHeight));
if(rSdrAutofitTextPrimitive.getWordWrap() || IsTextFrame())
@@ -987,7 +986,7 @@ void SdrTextObj::impDecomposeAutoFitTextPrimitive(
rOutliner.SetPaperSize(aAnchorTextSize);
rOutliner.SetUpdateLayout(true);
- rOutliner.SetText(*pOutlinerParaObject);
+ rOutliner.SetText(rOutlinerParaObject);
setupAutoFitText(rOutliner, aAnchorTextSize);
// set visualizing page at Outliner; needed e.g. for PageNumberField decomposition
@@ -1788,11 +1787,9 @@ void SdrTextObj::impDecomposeChainedTextPrimitive(
const sal_uInt32 nAnchorTextHeight(basegfx::fround<sal_uInt32>(aAnchorTextRange.getHeight() + 1));
// Text
- const OutlinerParaObject* pOutlinerParaObject = rSdrChainedTextPrimitive.getSdrText()->GetOutlinerParaObject();
- OSL_ENSURE(pOutlinerParaObject, "impDecomposeBlockTextPrimitive used with no OutlinerParaObject (!)");
-
- const bool bVerticalWriting(pOutlinerParaObject->IsEffectivelyVertical());
- const bool bTopToBottom(pOutlinerParaObject->IsTopToBottom());
+ const OutlinerParaObject& rOutlinerParaObject(rSdrChainedTextPrimitive.getOutlinerParaObject());
+ const bool bVerticalWriting(rOutlinerParaObject.IsEffectivelyVertical());
+ const bool bTopToBottom(rOutlinerParaObject.IsTopToBottom());
const Size aAnchorTextSize(Size(nAnchorTextWidth, nAnchorTextHeight));
if(IsTextFrame())
@@ -1813,7 +1810,7 @@ void SdrTextObj::impDecomposeChainedTextPrimitive(
rOutliner.SetPaperSize(aNullSize);
rOutliner.SetUpdateLayout(true);
// Sets original text
- rOutliner.SetText(*pOutlinerParaObject);
+ rOutliner.SetText(rOutlinerParaObject);
/* Begin overflow/underflow handling */
diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx
index adcdb6a578a1..32fb9111a47e 100644
--- a/svx/source/svdraw/svdotxed.cxx
+++ b/svx/source/svdraw/svdotxed.cxx
@@ -95,7 +95,7 @@ bool SdrTextObj::BegTextEdit(SdrOutliner& rOutl)
// at SetParaAttribs(), all attributes contained in the parent become
// attributed hard to the paragraph.
const SfxItemSet& rSet = GetObjectItemSet();
- SfxItemSetFixed<EE_ITEMS_START, EE_ITEMS_END> aFilteredSet(*rSet.GetPool());
+ SfxItemSet aFilteredSet(SfxItemSet::makeFixedSfxItemSet<EE_ITEMS_START, EE_ITEMS_END>(*rSet.GetPool()));
aFilteredSet.Put(rSet);
rOutl.SetParaAttribs(0, aFilteredSet);
}
diff --git a/svx/source/svdraw/svdovirt.cxx b/svx/source/svdraw/svdovirt.cxx
index 2a4bc1e68c4d..89ef01f54a51 100644
--- a/svx/source/svdraw/svdovirt.cxx
+++ b/svx/source/svdraw/svdovirt.cxx
@@ -64,7 +64,7 @@ SdrVirtObj::SdrVirtObj(
mxRefObj->AddReference(*this);
- aSnapRect = rSource.aSnapRect;
+ maSnapRect = rSource.maSnapRect;
m_aAnchor = rSource.m_aAnchor;
}
@@ -433,15 +433,15 @@ void SdrVirtObj::Shear(const Point& rRef, Degree100 nAngle, double tn, bool bVSh
void SdrVirtObj::RecalcSnapRect()
{
- aSnapRect=mxRefObj->GetSnapRect();
- aSnapRect+=m_aAnchor;
+ maSnapRect=mxRefObj->GetSnapRect();
+ maSnapRect+=m_aAnchor;
}
const tools::Rectangle& SdrVirtObj::GetSnapRect() const
{
- const_cast<SdrVirtObj*>(this)->aSnapRect=mxRefObj->GetSnapRect();
- const_cast<SdrVirtObj*>(this)->aSnapRect+=m_aAnchor;
- return aSnapRect;
+ const_cast<SdrVirtObj*>(this)->maSnapRect=mxRefObj->GetSnapRect();
+ const_cast<SdrVirtObj*>(this)->maSnapRect+=m_aAnchor;
+ return maSnapRect;
}
void SdrVirtObj::SetSnapRect(const tools::Rectangle& rRect)
@@ -465,9 +465,9 @@ void SdrVirtObj::NbcSetSnapRect(const tools::Rectangle& rRect)
const tools::Rectangle& SdrVirtObj::GetLogicRect() const
{
- const_cast<SdrVirtObj*>(this)->aSnapRect=mxRefObj->GetLogicRect(); // An abuse of aSnapRect!
- const_cast<SdrVirtObj*>(this)->aSnapRect+=m_aAnchor; // If there's trouble, we need another Rectangle Member (or a Heap).
- return aSnapRect;
+ const_cast<SdrVirtObj*>(this)->maSnapRect=mxRefObj->GetLogicRect(); // An abuse of aSnapRect!
+ const_cast<SdrVirtObj*>(this)->maSnapRect+=m_aAnchor; // If there's trouble, we need another Rectangle Member (or a Heap).
+ return maSnapRect;
}
void SdrVirtObj::SetLogicRect(const tools::Rectangle& rRect)
diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx
index 8b1f837a6301..1ce89406a18c 100644
--- a/svx/source/svdraw/svdpagv.cxx
+++ b/svx/source/svdraw/svdpagv.cxx
@@ -25,6 +25,7 @@
#include <svx/svdogrp.hxx>
#include <svx/svdtypes.hxx>
+#include <svx/sdr/contact/objectcontact.hxx>
#include <svx/sdr/contact/viewobjectcontactredirector.hxx>
#include <algorithm>
@@ -898,5 +899,22 @@ void SdrPageView::SetApplicationDocumentColor(Color aDocumentColor)
maDocumentColor = aDocumentColor;
}
+void SdrPageView::resetGridOffsetsOfAllPageWindows() const
+{
+ for (auto& pPageWindow : maPageWindows)
+ {
+ assert(pPageWindow && "SdrView::SetMasterPagePaintCaching: Corrupt SdrPageWindow list (!)");
+
+ if (pPageWindow)
+ {
+ sdr::contact::ObjectContact& rObjectContact(pPageWindow->GetObjectContact());
+
+ if (rObjectContact.supportsGridOffsets())
+ {
+ rObjectContact.resetAllGridOffsets();
+ }
+ }
+ }
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx
index 6a00bd286ce1..b128a05fc13b 100644
--- a/svx/source/svdraw/svdpdf.cxx
+++ b/svx/source/svdraw/svdpdf.cxx
@@ -101,12 +101,12 @@ ImpSdrPdfImport::ImpSdrPdfImport(SdrModel& rModel, SdrLayerID nLay, const tools:
mpVD->SetLineColor();
mpVD->SetFillColor();
maOldLineColor.SetRed(mpVD->GetLineColor().GetRed() + 1);
- mpLineAttr = std::make_unique<SfxItemSetFixed<XATTR_LINE_FIRST, XATTR_LINE_LAST>>(
- rModel.GetItemPool());
- mpFillAttr = std::make_unique<SfxItemSetFixed<XATTR_FILL_FIRST, XATTR_FILL_LAST>>(
- rModel.GetItemPool());
- mpTextAttr
- = std::make_unique<SfxItemSetFixed<EE_ITEMS_START, EE_ITEMS_END>>(rModel.GetItemPool());
+ mpLineAttr = std::make_unique<SfxItemSet>(
+ SfxItemSet::makeFixedSfxItemSet<XATTR_LINE_FIRST, XATTR_LINE_LAST>(rModel.GetItemPool()));
+ mpFillAttr = std::make_unique<SfxItemSet>(
+ SfxItemSet::makeFixedSfxItemSet<XATTR_FILL_FIRST, XATTR_FILL_LAST>(rModel.GetItemPool()));
+ mpTextAttr = std::make_unique<SfxItemSet>(
+ SfxItemSet::makeFixedSfxItemSet<EE_ITEMS_START, EE_ITEMS_END>(rModel.GetItemPool()));
checkClip();
@@ -819,7 +819,8 @@ void ImpSdrPdfImport::InsertTextObject(const Point& rPos, const Size& rSize, con
if (!aFont.IsTransparent())
{
- SfxItemSetFixed<XATTR_FILL_FIRST, XATTR_FILL_LAST> aAttr(*mpFillAttr->GetPool());
+ SfxItemSet aAttr(SfxItemSet::makeFixedSfxItemSet<XATTR_FILL_FIRST, XATTR_FILL_LAST>(
+ *mpFillAttr->GetPool()));
aAttr.Put(XFillStyleItem(drawing::FillStyle_SOLID));
aAttr.Put(XFillColorItem(OUString(), aFont.GetFillColor()));
pText->SetMergedItemSet(aAttr);