diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-04-17 14:46:59 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-04-17 20:29:59 +0200 |
commit | b236b36475ed9a204ac931c34ccc23205296a0a6 (patch) | |
tree | 32770e990c8ceadfb5da9e1e1d6b19a482186c97 | |
parent | 806cc759ef002da5dff1d151ea8485bd871e814c (diff) |
remove some caching
if we going to recreate it every time we call this method,
there is no point in caching the result.
Change-Id: Ie1f7bde86eca5cdd998fa8626303d3dead479ad3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114231
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/svx/sdr/contact/viewcontact.hxx | 8 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewcontact.cxx | 15 |
2 files changed, 3 insertions, 20 deletions
diff --git a/include/svx/sdr/contact/viewcontact.hxx b/include/svx/sdr/contact/viewcontact.hxx index c5cc61883a49..c7119fcd93e2 100644 --- a/include/svx/sdr/contact/viewcontact.hxx +++ b/include/svx/sdr/contact/viewcontact.hxx @@ -46,11 +46,6 @@ private: // Registering and de-registering is done in the VOC constructors/destructors. std::vector<ViewObjectContact*> maViewObjectContactVector; - // Primitive2DContainer of the ViewContact. This contains all necessary information - // for the graphical visualisation and needs to be supported by all VCs which - // can be visualized. - drawinglayer::primitive2d::Primitive2DContainer mxViewIndependentPrimitive2DSequence; - // A new ViewObjectContact was created and shall be remembered. void AddViewObjectContact(ViewObjectContact& rVOContact); @@ -123,8 +118,7 @@ public: // access to the local primitive. This will ensure that the primitive is // current in comparing the local one with a fresh created incarnation - drawinglayer::primitive2d::Primitive2DContainer const& - getViewIndependentPrimitive2DContainer() const; + drawinglayer::primitive2d::Primitive2DContainer getViewIndependentPrimitive2DContainer() const; // add Gluepoints (if available) virtual drawinglayer::primitive2d::Primitive2DContainer diff --git a/svx/source/sdr/contact/viewcontact.cxx b/svx/source/sdr/contact/viewcontact.cxx index 8e8d35db4406..0d1a9f0cb085 100644 --- a/svx/source/sdr/contact/viewcontact.cxx +++ b/svx/source/sdr/contact/viewcontact.cxx @@ -38,7 +38,6 @@ ViewObjectContact& ViewContact::CreateObjectSpecificViewObjectContact(ObjectCont ViewContact::ViewContact() : maViewObjectContactVector() - , mxViewIndependentPrimitive2DSequence() { } @@ -105,9 +104,7 @@ void ViewContact::RemoveViewObjectContact(ViewObjectContact& rVOContact) maViewObjectContactVector.begin(), maViewObjectContactVector.end(), &rVOContact); if (aFindResult != maViewObjectContactVector.end()) - { maViewObjectContactVector.erase(aFindResult); - } } // Test if this ViewContact has ViewObjectContacts at all. This can @@ -226,10 +223,9 @@ ViewContact::createViewIndependentPrimitive2DSequence() const return drawinglayer::primitive2d::Primitive2DContainer{ xReference }; } -drawinglayer::primitive2d::Primitive2DContainer const& +drawinglayer::primitive2d::Primitive2DContainer ViewContact::getViewIndependentPrimitive2DContainer() const { - // local up-to-date checks. Create new list and compare. drawinglayer::primitive2d::Primitive2DContainer xNew( createViewIndependentPrimitive2DSequence()); @@ -239,14 +235,7 @@ ViewContact::getViewIndependentPrimitive2DContainer() const xNew = embedToObjectSpecificInformation(std::move(xNew)); } - if (mxViewIndependentPrimitive2DSequence != xNew) - { - // has changed, copy content - const_cast<ViewContact*>(this)->mxViewIndependentPrimitive2DSequence = std::move(xNew); - } - - // return current Primitive2DContainer - return mxViewIndependentPrimitive2DSequence; + return xNew; } // add Gluepoints (if available) |