From 8a4e0a2ce8746d1faa1c81e4c6fa460e881897ac Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 7 Aug 2014 16:37:03 +0200 Subject: [PATCH] Don't fade out screen if teleport target cell is not found --- apps/openmw/mwworld/scene.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/apps/openmw/mwworld/scene.cpp b/apps/openmw/mwworld/scene.cpp index 312fb9e36..ee107e1f2 100644 --- a/apps/openmw/mwworld/scene.cpp +++ b/apps/openmw/mwworld/scene.cpp @@ -403,22 +403,21 @@ namespace MWWorld void Scene::changeToInteriorCell (const std::string& cellName, const ESM::Position& position) { - Nif::NIFFile::CacheLock lock; - MWBase::Environment::get().getWindowManager()->fadeScreenOut(0.5); - - Loading::Listener* loadingListener = MWBase::Environment::get().getWindowManager()->getLoadingScreen(); - Loading::ScopedLoad load(loadingListener); - - mRendering.enableTerrain(false); - - std::string loadingInteriorText = "#{sLoadingMessage2}"; - loadingListener->setLabel(loadingInteriorText); - CellStore *cell = MWBase::Environment::get().getWorld()->getInterior(cellName); bool loadcell = (mCurrentCell == NULL); if(!loadcell) loadcell = *mCurrentCell != *cell; + Nif::NIFFile::CacheLock lock; + MWBase::Environment::get().getWindowManager()->fadeScreenOut(0.5); + + Loading::Listener* loadingListener = MWBase::Environment::get().getWindowManager()->getLoadingScreen(); + std::string loadingInteriorText = "#{sLoadingMessage2}"; + loadingListener->setLabel(loadingInteriorText); + Loading::ScopedLoad load(loadingListener); + + mRendering.enableTerrain(false); + if(!loadcell) { MWBase::World *world = MWBase::Environment::get().getWorld();