summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-09-20 09:48:50 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-09-21 10:52:46 +0200
commitffe84f49270e0a8818365ca7d1fd5242abff5562 (patch)
tree9fc133fc58737afcfbd49242528811eb320705c3 /sw
parent6b28441fb8823ba28a9db6cf1d97aa277cdcd7b4 (diff)
remove SdrObject::GetHdl in favour of AddToHdlList
the code already says that using GetHdl is inefficient, and client code should be using AddToHdlList, so just drop the bad one Change-Id: I88c43154c8cc0988127b9292e4cda28917f54eb9 Reviewed-on: https://gerrit.libreoffice.org/60792 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/dcontact.hxx2
-rw-r--r--sw/qa/extras/tiledrendering/tiledrendering.cxx6
-rw-r--r--sw/source/core/draw/dcontact.cxx16
3 files changed, 12 insertions, 12 deletions
diff --git a/sw/inc/dcontact.hxx b/sw/inc/dcontact.hxx
index ea0261cde391..4d3a48fd14d0 100644
--- a/sw/inc/dcontact.hxx
+++ b/sw/inc/dcontact.hxx
@@ -263,7 +263,7 @@ class SwDrawVirtObj : public SdrVirtObj
virtual void RecalcBoundRect() override;
virtual ::basegfx::B2DPolyPolygon TakeXorPoly() const override;
virtual ::basegfx::B2DPolyPolygon TakeContour() const override;
- virtual SdrHdl* GetHdl(sal_uInt32 nHdlNum) const override;
+ virtual void AddToHdlList(SdrHdlList& rHdlList) const override;
virtual void NbcMove(const Size& rSiz) override;
virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact) override;
virtual void NbcRotate(const Point& rRef, long nAngle, double sn, double cs) override;
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index 286b6ddd721c..df8958a9eaab 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -412,10 +412,12 @@ void SwTiledRenderingTest::testSetGraphicSelection()
SdrPage* pPage = pWrtShell->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel()->GetPage(0);
SdrObject* pObject = pPage->GetObj(0);
pWrtShell->SelectObj(Point(), 0, pObject);
+ SdrHdlList handleList(nullptr);
+ pObject->AddToHdlList(handleList);
// Make sure the rectangle has 8 handles: at each corner and at the center of each edge.
- CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt32>(8), pObject->GetHdlCount());
+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(8), handleList.GetHdlCount());
// Take the bottom center one.
- SdrHdl* pHdl = pObject->GetHdl(6);
+ SdrHdl* pHdl = handleList.GetHdl(6);
CPPUNIT_ASSERT_EQUAL(int(SdrHdlKind::Lower), static_cast<int>(pHdl->GetKind()));
tools::Rectangle aShapeBefore = pObject->GetSnapRect();
// Resize.
diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx
index c3bb4ae61025..2f5da1bb4e36 100644
--- a/sw/source/core/draw/dcontact.cxx
+++ b/sw/source/core/draw/dcontact.cxx
@@ -2339,21 +2339,19 @@ basegfx::B2DPolyPolygon SwDrawVirtObj::TakeContour() const
return aRetval;
}
-SdrHdl* SwDrawVirtObj::GetHdl(sal_uInt32 nHdlNum) const
+void SwDrawVirtObj::AddToHdlList(SdrHdlList& rHdlList) const
{
- SdrHdl* pHdl = rRefObj.GetHdl(nHdlNum);
+ SdrHdlList tmpList(nullptr);
+ rRefObj.AddToHdlList(tmpList);
- if(pHdl)
+ size_t cnt = tmpList.GetHdlCount();
+ for(size_t i=0; i < cnt; ++i)
{
+ SdrHdl* pHdl = tmpList.GetHdl(i);
Point aP(pHdl->GetPos() + GetOffset());
pHdl->SetPos(aP);
}
- else
- {
- OSL_ENSURE(false, "Got no SdrHdl(!)");
- }
-
- return pHdl;
+ tmpList.MoveTo(rHdlList);
}
void SwDrawVirtObj::NbcMove(const Size& rSiz)