From c8d2107b802d516b5794dba53c0adca326203de5 Mon Sep 17 00:00:00 2001 From: bzzt Date: Wed, 20 Feb 2019 13:37:00 +0000 Subject: [PATCH] Do not store Viewer reference in the ViewData --- components/terrain/viewdata.cpp | 2 -- components/terrain/viewdata.hpp | 6 +----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/components/terrain/viewdata.cpp b/components/terrain/viewdata.cpp index 2f9cb66413..3d09e7ba05 100644 --- a/components/terrain/viewdata.cpp +++ b/components/terrain/viewdata.cpp @@ -118,7 +118,6 @@ ViewData *ViewDataMap::getViewData(osg::Object *viewer) if (found == mViews.end()) { ViewData* vd = createOrReuseView(); - vd->setViewer(viewer); mViews[viewer] = vd; return vd; } @@ -148,7 +147,6 @@ void ViewDataMap::clearUnusedViews(unsigned int frame) ViewData* vd = it->second; if (vd->getFrameLastUsed() + 2 < frame) { - vd->setViewer(nullptr); vd->clear(); mUnusedViews.push_back(vd); mViews.erase(it++); diff --git a/components/terrain/viewdata.hpp b/components/terrain/viewdata.hpp index aaf5b788f9..53bcf42c0c 100644 --- a/components/terrain/viewdata.hpp +++ b/components/terrain/viewdata.hpp @@ -44,9 +44,6 @@ namespace Terrain Entry& getEntry(unsigned int i); - osg::Object* getViewer() const { return mViewer.get(); } - void setViewer(osg::Object* viewer) { mViewer = viewer; } - unsigned int getFrameLastUsed() const { return mFrameLastUsed; } /// @return Have any nodes changed since the last frame @@ -62,7 +59,6 @@ namespace Terrain unsigned int mNumEntries; unsigned int mFrameLastUsed; bool mChanged; - osg::ref_ptr mViewer; osg::Vec3f mEyePoint; bool mHasEyePoint; }; @@ -85,7 +81,7 @@ namespace Terrain private: std::list mViewVector; - typedef std::map Map; + typedef std::map, ViewData*> Map; Map mViews; std::deque mUnusedViews;