From 72d0a69132864c5d84fcf9b3a021acdfe452d412 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 28 May 2015 18:44:34 +0200 Subject: [PATCH] Fix global map markers not being cleared on a new game --- apps/openmw/mwgui/mapwindow.cpp | 6 ++++-- apps/openmw/mwgui/mapwindow.hpp | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwgui/mapwindow.cpp b/apps/openmw/mwgui/mapwindow.cpp index 8d2aaf04a8..3a56d3dfd1 100644 --- a/apps/openmw/mwgui/mapwindow.cpp +++ b/apps/openmw/mwgui/mapwindow.cpp @@ -782,6 +782,7 @@ namespace MWGui markerWidget->setDepth(Global_MarkerLayer); markerWidget->eventMouseDrag += MyGUI::newDelegate(this, &MapWindow::onMouseDrag); markerWidget->eventMouseButtonPressed += MyGUI::newDelegate(this, &MapWindow::onDragStart); + mGlobalMapMarkers.push_back(markerWidget); } } @@ -899,8 +900,9 @@ namespace MWGui mGlobalMapRender->clear(); mChanged = true; - while (mEventBoxGlobal->getChildCount()) - MyGUI::Gui::getInstance().destroyWidget(mEventBoxGlobal->getChildAt(0)); + for (std::vector::iterator it = mGlobalMapMarkers.begin(); it != mGlobalMapMarkers.end(); ++it) + MyGUI::Gui::getInstance().destroyWidget(*it); + mGlobalMapMarkers.clear(); } void MapWindow::write(ESM::ESMWriter &writer, Loading::Listener& progress) diff --git a/apps/openmw/mwgui/mapwindow.hpp b/apps/openmw/mwgui/mapwindow.hpp index b44b545d20..40ccbda5f1 100644 --- a/apps/openmw/mwgui/mapwindow.hpp +++ b/apps/openmw/mwgui/mapwindow.hpp @@ -236,6 +236,8 @@ namespace MWGui MWRender::GlobalMap* mGlobalMapRender; + std::vector mGlobalMapMarkers; + EditNoteDialog mEditNoteDialog; ESM::CustomMarker mEditingMarker;