From 97a34c63ed87eeeffbaecd96a632c95e76977881 Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Mon, 8 Sep 2025 21:49:12 +0200 Subject: [PATCH] Prevent door markers from being rendered when they shouldn't be --- apps/openmw/mwgui/mapwindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwgui/mapwindow.cpp b/apps/openmw/mwgui/mapwindow.cpp index 5376006073..5d8c535a2e 100644 --- a/apps/openmw/mwgui/mapwindow.cpp +++ b/apps/openmw/mwgui/mapwindow.cpp @@ -622,6 +622,7 @@ namespace MWGui MWBase::World* world = MWBase::Environment::get().getWorld(); MWWorld::WorldModel* worldModel = MWBase::Environment::get().getWorldModel(); + const bool recycledMarkers = !mInteriorDoorMarkerWidgets.empty(); mDoorMarkersToRecycle.insert( mDoorMarkersToRecycle.end(), mInteriorDoorMarkerWidgets.begin(), mInteriorDoorMarkerWidgets.end()); mInteriorDoorMarkerWidgets.clear(); @@ -638,12 +639,12 @@ namespace MWGui { for (MapEntry& entry : mMaps) { - if (!entry.mMapTexture && !widgetCropped(entry.mMapWidget, mLocalMap)) + if (!entry.mMapTexture && entry.mMapWidget->getVisible() && !widgetCropped(entry.mMapWidget, mLocalMap)) world->getDoorMarkers(worldModel->getExterior(ESM::ExteriorCellLocation( entry.mCellX, entry.mCellY, ESM::Cell::sDefaultWorldspaceId)), doors); } - if (doors.empty()) + if (doors.empty() && !recycledMarkers) return; }