From 35561450f1f9d4c2136d379dfc5d15fb117e517b Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Sat, 29 Jul 2023 12:58:27 +0400 Subject: [PATCH] Do not copy osg::ref_ptr when possible --- apps/opencs/view/render/brushdraw.cpp | 2 +- apps/opencs/view/render/instancemode.cpp | 2 +- apps/opencs/view/render/scenewidget.cpp | 2 +- apps/openmw/mwinput/actionmanager.cpp | 4 ++-- apps/openmw/mwphysics/physicssystem.cpp | 2 +- apps/openmw/mwrender/actoranimation.cpp | 4 ++-- apps/openmw/mwrender/animation.cpp | 4 ++-- apps/openmw/mwrender/bulletdebugdraw.cpp | 2 +- apps/openmw/mwrender/characterpreview.cpp | 2 +- apps/openmw/mwrender/effectmanager.cpp | 2 +- apps/openmw/mwrender/npcanimation.cpp | 2 +- apps/openmw/mwrender/pathgrid.cpp | 2 +- apps/openmw/mwrender/precipitationocclusion.cpp | 2 +- apps/openmw/mwrender/screenshotmanager.cpp | 4 ++-- apps/openmw/mwrender/skyutil.cpp | 10 +++++----- apps/openmw/mwrender/util.cpp | 2 +- apps/openmw/mwrender/water.cpp | 6 +++--- apps/openmw/mwworld/cellpreloader.hpp | 2 +- apps/openmw/mwworld/projectilemanager.cpp | 2 +- components/debug/debugdraw.cpp | 2 +- components/resource/keyframemanager.cpp | 2 +- components/sceneutil/attach.cpp | 2 +- components/sceneutil/riggeometryosgaextension.cpp | 4 ++-- components/sdlutil/sdlinputwrapper.cpp | 2 +- components/sdlutil/sdlvideowrapper.cpp | 2 +- extern/osgQt/osgQOpenGLWidget.cpp | 2 +- 26 files changed, 37 insertions(+), 37 deletions(-) diff --git a/apps/opencs/view/render/brushdraw.cpp b/apps/opencs/view/render/brushdraw.cpp index 0d45009399..3f33ae4d1b 100644 --- a/apps/opencs/view/render/brushdraw.cpp +++ b/apps/opencs/view/render/brushdraw.cpp @@ -24,7 +24,7 @@ #include "mask.hpp" CSVRender::BrushDraw::BrushDraw(osg::ref_ptr parentNode, bool textureMode) - : mParentNode(parentNode) + : mParentNode(std::move(parentNode)) , mTextureMode(textureMode) { mBrushDrawNode = new osg::Group(); diff --git a/apps/opencs/view/render/instancemode.cpp b/apps/opencs/view/render/instancemode.cpp index e0f05c2fab..df5bb02332 100644 --- a/apps/opencs/view/render/instancemode.cpp +++ b/apps/opencs/view/render/instancemode.cpp @@ -197,7 +197,7 @@ CSVRender::InstanceMode::InstanceMode( , mDragAxis(-1) , mLocked(false) , mUnitScaleDist(1) - , mParentNode(parentNode) + , mParentNode(std::move(parentNode)) { connect(this, &InstanceMode::requestFocus, worldspaceWidget, &WorldspaceWidget::requestFocus); diff --git a/apps/opencs/view/render/scenewidget.cpp b/apps/opencs/view/render/scenewidget.cpp index 3562d2ba6e..12170c86a0 100644 --- a/apps/opencs/view/render/scenewidget.cpp +++ b/apps/opencs/view/render/scenewidget.cpp @@ -284,7 +284,7 @@ namespace CSVRender osg::ref_ptr gradientQuad = createGradientRectangle(bgColour, gradientColour); - camera->addChild(gradientQuad); + camera->addChild(std::move(gradientQuad)); return camera; } diff --git a/apps/openmw/mwinput/actionmanager.cpp b/apps/openmw/mwinput/actionmanager.cpp index 87737204f6..9176fc036c 100644 --- a/apps/openmw/mwinput/actionmanager.cpp +++ b/apps/openmw/mwinput/actionmanager.cpp @@ -31,8 +31,8 @@ namespace MWInput osgViewer::ScreenCaptureHandler::CaptureOperation* screenCaptureOperation, osg::ref_ptr viewer, osg::ref_ptr screenCaptureHandler) : mBindingsManager(bindingsManager) - , mViewer(viewer) - , mScreenCaptureHandler(screenCaptureHandler) + , mViewer(std::move(viewer)) + , mScreenCaptureHandler(std::move(screenCaptureHandler)) , mScreenCaptureOperation(screenCaptureOperation) , mTimeIdle(0.f) { diff --git a/apps/openmw/mwphysics/physicssystem.cpp b/apps/openmw/mwphysics/physicssystem.cpp index 4a500792a2..c94f16f5f6 100644 --- a/apps/openmw/mwphysics/physicssystem.cpp +++ b/apps/openmw/mwphysics/physicssystem.cpp @@ -102,7 +102,7 @@ namespace MWPhysics , mProjectileId(0) , mWaterHeight(0) , mWaterEnabled(false) - , mParentNode(parentNode) + , mParentNode(std::move(parentNode)) , mPhysicsDt(1.f / 60.f) { mResourceSystem->addResourceManager(mShapeManager.get()); diff --git a/apps/openmw/mwrender/actoranimation.cpp b/apps/openmw/mwrender/actoranimation.cpp index d15bf75433..600ae6f0ed 100644 --- a/apps/openmw/mwrender/actoranimation.cpp +++ b/apps/openmw/mwrender/actoranimation.cpp @@ -42,7 +42,7 @@ namespace MWRender ActorAnimation::ActorAnimation( const MWWorld::Ptr& ptr, osg::ref_ptr parentNode, Resource::ResourceSystem* resourceSystem) - : Animation(ptr, parentNode, resourceSystem) + : Animation(ptr, std::move(parentNode), resourceSystem) { MWWorld::ContainerStore& store = mPtr.getClass().getContainerStore(mPtr); @@ -474,7 +474,7 @@ namespace MWRender osg::ref_ptr arrowNode = ammoNode->getChild(i)->asGroup(); osg::ref_ptr arrow = mResourceSystem->getSceneManager()->getInstance(model, arrowNode); if (!ammo->getClass().getEnchantment(*ammo).empty()) - mGlowUpdater = SceneUtil::addEnchantedGlow(arrow, mResourceSystem, glowColor); + mGlowUpdater = SceneUtil::addEnchantedGlow(std::move(arrow), mResourceSystem, glowColor); } } diff --git a/apps/openmw/mwrender/animation.cpp b/apps/openmw/mwrender/animation.cpp index e10b260388..74ec8e6d78 100644 --- a/apps/openmw/mwrender/animation.cpp +++ b/apps/openmw/mwrender/animation.cpp @@ -515,7 +515,7 @@ namespace MWRender Animation::Animation( const MWWorld::Ptr& ptr, osg::ref_ptr parentNode, Resource::ResourceSystem* resourceSystem) - : mInsert(parentNode) + : mInsert(std::move(parentNode)) , mSkeleton(nullptr) , mNodeMapCreated(false) , mPtr(ptr) @@ -1912,7 +1912,7 @@ namespace MWRender // ------------------------------ PartHolder::PartHolder(osg::ref_ptr node) - : mNode(node) + : mNode(std::move(node)) { } diff --git a/apps/openmw/mwrender/bulletdebugdraw.cpp b/apps/openmw/mwrender/bulletdebugdraw.cpp index 6b045ccda4..3e0383b567 100644 --- a/apps/openmw/mwrender/bulletdebugdraw.cpp +++ b/apps/openmw/mwrender/bulletdebugdraw.cpp @@ -26,7 +26,7 @@ namespace MWRender { DebugDrawer::DebugDrawer(osg::ref_ptr parentNode, btCollisionWorld* world, int debugMode) - : mParentNode(parentNode) + : mParentNode(std::move(parentNode)) , mWorld(world) { DebugDrawer::setDebugMode(debugMode); diff --git a/apps/openmw/mwrender/characterpreview.cpp b/apps/openmw/mwrender/characterpreview.cpp index 38238b121f..5357f5025c 100644 --- a/apps/openmw/mwrender/characterpreview.cpp +++ b/apps/openmw/mwrender/characterpreview.cpp @@ -554,7 +554,7 @@ namespace MWRender public: UpdateCameraCallback( osg::ref_ptr nodeToFollow, const osg::Vec3& posOffset, const osg::Vec3& lookAtOffset) - : mNodeToFollow(nodeToFollow) + : mNodeToFollow(std::move(nodeToFollow)) , mPosOffset(posOffset) , mLookAtOffset(lookAtOffset) { diff --git a/apps/openmw/mwrender/effectmanager.cpp b/apps/openmw/mwrender/effectmanager.cpp index 3ae0c34c7a..e5b8431c84 100644 --- a/apps/openmw/mwrender/effectmanager.cpp +++ b/apps/openmw/mwrender/effectmanager.cpp @@ -17,7 +17,7 @@ namespace MWRender { EffectManager::EffectManager(osg::ref_ptr parent, Resource::ResourceSystem* resourceSystem) - : mParentNode(parent) + : mParentNode(std::move(parent)) , mResourceSystem(resourceSystem) { } diff --git a/apps/openmw/mwrender/npcanimation.cpp b/apps/openmw/mwrender/npcanimation.cpp index 99f21bc9ab..6ddca9a674 100644 --- a/apps/openmw/mwrender/npcanimation.cpp +++ b/apps/openmw/mwrender/npcanimation.cpp @@ -255,7 +255,7 @@ namespace MWRender NpcAnimation::NpcAnimation(const MWWorld::Ptr& ptr, osg::ref_ptr parentNode, Resource::ResourceSystem* resourceSystem, bool disableSounds, ViewMode viewMode, float firstPersonFieldOfView) - : ActorAnimation(ptr, parentNode, resourceSystem) + : ActorAnimation(ptr, std::move(parentNode), resourceSystem) , mViewMode(viewMode) , mShowWeapons(false) , mShowCarriedLeft(true) diff --git a/apps/openmw/mwrender/pathgrid.cpp b/apps/openmw/mwrender/pathgrid.cpp index 7e4d85bcce..f9cad9f90e 100644 --- a/apps/openmw/mwrender/pathgrid.cpp +++ b/apps/openmw/mwrender/pathgrid.cpp @@ -26,7 +26,7 @@ namespace MWRender Pathgrid::Pathgrid(osg::ref_ptr root) : mPathgridEnabled(false) - , mRootNode(root) + , mRootNode(std::move(root)) , mPathGridRoot(nullptr) , mInteriorPathgridNode(nullptr) { diff --git a/apps/openmw/mwrender/precipitationocclusion.cpp b/apps/openmw/mwrender/precipitationocclusion.cpp index ad3e6d8f05..e7c9245fef 100644 --- a/apps/openmw/mwrender/precipitationocclusion.cpp +++ b/apps/openmw/mwrender/precipitationocclusion.cpp @@ -20,7 +20,7 @@ namespace { public: PrecipitationOcclusionUpdater(osg::ref_ptr depthTexture) - : mDepthTexture(depthTexture) + : mDepthTexture(std::move(depthTexture)) { } diff --git a/apps/openmw/mwrender/screenshotmanager.cpp b/apps/openmw/mwrender/screenshotmanager.cpp index 4179b2807e..336a321cf0 100644 --- a/apps/openmw/mwrender/screenshotmanager.cpp +++ b/apps/openmw/mwrender/screenshotmanager.cpp @@ -133,8 +133,8 @@ namespace MWRender ScreenshotManager::ScreenshotManager(osgViewer::Viewer* viewer, osg::ref_ptr rootNode, osg::ref_ptr sceneRoot, Resource::ResourceSystem* resourceSystem, Water* water) : mViewer(viewer) - , mRootNode(rootNode) - , mSceneRoot(sceneRoot) + , mRootNode(std::move(rootNode)) + , mSceneRoot(std::move(sceneRoot)) , mDrawCompleteCallback(new NotifyDrawCompletedCallback) , mResourceSystem(resourceSystem) , mWater(water) diff --git a/apps/openmw/mwrender/skyutil.cpp b/apps/openmw/mwrender/skyutil.cpp index 4c789907ec..3274b8c6b0 100644 --- a/apps/openmw/mwrender/skyutil.cpp +++ b/apps/openmw/mwrender/skyutil.cpp @@ -128,8 +128,8 @@ namespace MWRender OcclusionCallback::OcclusionCallback( osg::ref_ptr oqnVisible, osg::ref_ptr oqnTotal) - : mOcclusionQueryVisiblePixels(oqnVisible) - , mOcclusionQueryTotalPixels(oqnTotal) + : mOcclusionQueryVisiblePixels(std::move(oqnVisible)) + , mOcclusionQueryTotalPixels(std::move(oqnTotal)) { } @@ -166,7 +166,7 @@ namespace MWRender public: SunFlashCallback( osg::ref_ptr oqnVisible, osg::ref_ptr oqnTotal) - : OcclusionCallback(oqnVisible, oqnTotal) + : OcclusionCallback(std::move(oqnVisible), std::move(oqnTotal)) , mGlareView(1.f) { } @@ -238,8 +238,8 @@ namespace MWRender public: SunGlareCallback(osg::ref_ptr oqnVisible, osg::ref_ptr oqnTotal, osg::ref_ptr sunTransform) - : OcclusionCallback(oqnVisible, oqnTotal) - , mSunTransform(sunTransform) + : OcclusionCallback(std::move(oqnVisible), std::move(oqnTotal)) + , mSunTransform(std::move(sunTransform)) , mTimeOfDayFade(1.f) , mGlareView(1.f) { diff --git a/apps/openmw/mwrender/util.cpp b/apps/openmw/mwrender/util.cpp index 647c1db335..509ea2efa7 100644 --- a/apps/openmw/mwrender/util.cpp +++ b/apps/openmw/mwrender/util.cpp @@ -28,7 +28,7 @@ namespace MWRender if (node.getUserValue("overrideFx", index)) { if (index == 1) - overrideTexture(mTexture, mResourcesystem, nodePtr); + overrideTexture(mTexture, mResourcesystem, std::move(nodePtr)); } traverse(node); } diff --git a/apps/openmw/mwrender/water.cpp b/apps/openmw/mwrender/water.cpp index a96ff2966a..51ce06069c 100644 --- a/apps/openmw/mwrender/water.cpp +++ b/apps/openmw/mwrender/water.cpp @@ -625,8 +625,8 @@ namespace MWRender , mReflection(reflection) , mRefraction(refraction) , mRipples(ripples) - , mProgram(program) - , mNormalMap(normalMap) + , mProgram(std::move(program)) + , mNormalMap(std::move(normalMap)) { } @@ -714,7 +714,7 @@ namespace MWRender node->setUpdateCallback(mRainIntensityUpdater); mShaderWaterStateSetUpdater - = new ShaderWaterStateSetUpdater(this, mReflection, mRefraction, mRipples, program, normalMap); + = new ShaderWaterStateSetUpdater(this, mReflection, mRefraction, mRipples, std::move(program), normalMap); node->addCullCallback(mShaderWaterStateSetUpdater); } diff --git a/apps/openmw/mwworld/cellpreloader.hpp b/apps/openmw/mwworld/cellpreloader.hpp index 15146b45b9..ddf13cab83 100644 --- a/apps/openmw/mwworld/cellpreloader.hpp +++ b/apps/openmw/mwworld/cellpreloader.hpp @@ -95,7 +95,7 @@ namespace MWWorld { PreloadEntry(double timestamp, osg::ref_ptr workItem) : mTimeStamp(timestamp) - , mWorkItem(workItem) + , mWorkItem(std::move(workItem)) { } PreloadEntry() diff --git a/apps/openmw/mwworld/projectilemanager.cpp b/apps/openmw/mwworld/projectilemanager.cpp index aef821fb1f..d873f16a59 100644 --- a/apps/openmw/mwworld/projectilemanager.cpp +++ b/apps/openmw/mwworld/projectilemanager.cpp @@ -254,7 +254,7 @@ namespace MWWorld SceneUtil::AssignControllerSourcesVisitor assignVisitor(state.mEffectAnimationTime); state.mNode->accept(assignVisitor); - MWRender::overrideFirstRootTexture(texture, mResourceSystem, projectile); + MWRender::overrideFirstRootTexture(texture, mResourceSystem, std::move(projectile)); } void ProjectileManager::update(State& state, float duration) diff --git a/components/debug/debugdraw.cpp b/components/debug/debugdraw.cpp index d7111a852b..32f71580a8 100644 --- a/components/debug/debugdraw.cpp +++ b/components/debug/debugdraw.cpp @@ -336,7 +336,7 @@ namespace Debug } Debug::DebugDrawer::DebugDrawer(Shader::ShaderManager& shaderManager, osg::ref_ptr parentNode) - : mParentNode(parentNode) + : mParentNode(std::move(parentNode)) { mCurrentFrame = 0; diff --git a/components/resource/keyframemanager.cpp b/components/resource/keyframemanager.cpp index 1519047155..8820469e87 100644 --- a/components/resource/keyframemanager.cpp +++ b/components/resource/keyframemanager.cpp @@ -30,7 +30,7 @@ namespace Resource const VFS::Manager* vfs) : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN) , mTarget(target) - , mAnimationManager(animationManager) + , mAnimationManager(std::move(animationManager)) , mNormalized(normalized) , mVFS(vfs) { diff --git a/components/sceneutil/attach.cpp b/components/sceneutil/attach.cpp index bc3844ed8d..c855c9a458 100644 --- a/components/sceneutil/attach.cpp +++ b/components/sceneutil/attach.cpp @@ -22,7 +22,7 @@ namespace SceneUtil public: CopyRigVisitor(osg::ref_ptr parent, std::string_view filter) : osg::NodeVisitor(TRAVERSE_ALL_CHILDREN) - , mParent(parent) + , mParent(std::move(parent)) , mFilter(filter) { } diff --git a/components/sceneutil/riggeometryosgaextension.cpp b/components/sceneutil/riggeometryosgaextension.cpp index 8878c38067..df8975dc35 100644 --- a/components/sceneutil/riggeometryosgaextension.cpp +++ b/components/sceneutil/riggeometryosgaextension.cpp @@ -69,7 +69,7 @@ namespace SceneUtil } osg::ref_ptr rigGeometry = new OsgaRigGeometry(*copy.getSourceRigGeometry(), copyop); - setSourceRigGeometry(rigGeometry); + setSourceRigGeometry(std::move(rigGeometry)); } RigGeometryHolder::RigGeometryHolder(const osgAnimation::RigGeometry& copy, const osg::CopyOp& copyop) @@ -80,7 +80,7 @@ namespace SceneUtil setUseVertexBufferObjects(true); osg::ref_ptr rigGeometry = new OsgaRigGeometry(copy, copyop); - setSourceRigGeometry(rigGeometry); + setSourceRigGeometry(std::move(rigGeometry)); } void RigGeometryHolder::setSourceRigGeometry(osg::ref_ptr sourceRigGeometry) diff --git a/components/sdlutil/sdlinputwrapper.cpp b/components/sdlutil/sdlinputwrapper.cpp index 40a82fdbd4..07cab33ad3 100644 --- a/components/sdlutil/sdlinputwrapper.cpp +++ b/components/sdlutil/sdlinputwrapper.cpp @@ -10,7 +10,7 @@ namespace SDLUtil InputWrapper::InputWrapper(SDL_Window* window, osg::ref_ptr viewer, bool grab) : mSDLWindow(window) - , mViewer(viewer) + , mViewer(std::move(viewer)) , mMouseListener(nullptr) , mSensorListener(nullptr) , mKeyboardListener(nullptr) diff --git a/components/sdlutil/sdlvideowrapper.cpp b/components/sdlutil/sdlvideowrapper.cpp index 714c11d079..3b612214b8 100644 --- a/components/sdlutil/sdlvideowrapper.cpp +++ b/components/sdlutil/sdlvideowrapper.cpp @@ -13,7 +13,7 @@ namespace SDLUtil VideoWrapper::VideoWrapper(SDL_Window* window, osg::ref_ptr viewer) : mWindow(window) - , mViewer(viewer) + , mViewer(std::move(viewer)) , mGamma(1.f) , mContrast(1.f) , mHasSetGammaContrast(false) diff --git a/extern/osgQt/osgQOpenGLWidget.cpp b/extern/osgQt/osgQOpenGLWidget.cpp index d52f3c02ac..28a510b296 100644 --- a/extern/osgQt/osgQOpenGLWidget.cpp +++ b/extern/osgQt/osgQOpenGLWidget.cpp @@ -83,7 +83,7 @@ CompositeOsgRenderer* osgQOpenGLWidget::getCompositeViewer() void osgQOpenGLWidget::setGraphicsWindowEmbedded(osg::ref_ptr osgWinEmb) { - if (m_renderer) m_renderer->setGraphicsWindowEmbedded(osgWinEmb); + if (m_renderer) m_renderer->setGraphicsWindowEmbedded(std::move(osgWinEmb)); } void osgQOpenGLWidget::createRenderer()