diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-20 09:48:50 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-21 10:52:46 +0200 |
commit | ffe84f49270e0a8818365ca7d1fd5242abff5562 (patch) | |
tree | 9fc133fc58737afcfbd49242528811eb320705c3 /sw | |
parent | 6b28441fb8823ba28a9db6cf1d97aa277cdcd7b4 (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.hxx | 2 | ||||
-rw-r--r-- | sw/qa/extras/tiledrendering/tiledrendering.cxx | 6 | ||||
-rw-r--r-- | sw/source/core/draw/dcontact.cxx | 16 |
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) |