From 5fcb2cabc8c85b01bae855c74742638b84325ad0 Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sat, 15 Jan 2022 13:04:15 +0100 Subject: [PATCH] Make scaleObject a no-op when not changing scale --- apps/openmw/mwworld/worldimp.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 325e048958..f6e00d3e21 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -1283,15 +1283,14 @@ namespace MWWorld void World::scaleObject (const Ptr& ptr, float scale) { + if (scale == ptr.getCellRef().getScale()) + return; if (mPhysics->getActor(ptr)) mNavigator->removeAgent(getPathfindingHalfExtents(ptr)); - if (scale != ptr.getCellRef().getScale()) - { - ptr.getCellRef().setScale(scale); - mRendering->pagingBlacklistObject(mStore.find(ptr.getCellRef().getRefId()), ptr); - mWorldScene->removeFromPagedRefs(ptr); - } + ptr.getCellRef().setScale(scale); + mRendering->pagingBlacklistObject(mStore.find(ptr.getCellRef().getRefId()), ptr); + mWorldScene->removeFromPagedRefs(ptr); if(ptr.getRefData().getBaseNode() != nullptr) mWorldScene->updateObjectScale(ptr);