- Fixed MSVC compile

- Fixed a bug in Overlays where we were performing operations on an invalid iterator, leading to undefined behavior.
This commit is contained in:
casey 2016-09-02 09:53:39 -07:00
parent 5a0597d472
commit b320cc837d
4 changed files with 37 additions and 23 deletions

View File

@ -32,6 +32,7 @@
//
//////////////////////////////////////////////////////////////////////////////
#include <stdafx.h>
#include "DialogOverlay.h"
#include "Colors.h"
#include "Screen.h"

View File

@ -32,6 +32,7 @@
//
//////////////////////////////////////////////////////////////////////////////
#include <stdafx.h>
#include "Overlays.h"
#include "DialogOverlay.h"
#include "Colors.h"
@ -75,8 +76,8 @@ void Overlays::Remove(ILayoutPtr layout) {
this->stack.end(), layout);
if (it != this->stack.end()) {
this->stack.erase(it);
setOverlays(*it, nullptr);
this->stack.erase(it);
}
}
@ -89,7 +90,7 @@ void Overlays::Remove(ILayout* layout) {
});
if (it != this->stack.end()) {
this->stack.erase(it);
setOverlays(*it, nullptr);
this->stack.erase(it);
}
}

View File

@ -139,19 +139,21 @@
<ClCompile Include="app\window\EntryWithHeader.cpp" />
<ClCompile Include="app\window\LogWindow.cpp" />
<ClCompile Include="app\window\OutputWindow.cpp" />
<ClCompile Include="app\window\ShortcutsWindow.cpp" />
<ClCompile Include="app\window\TrackListView.cpp" />
<ClCompile Include="app\window\TransportWindow.cpp" />
<ClCompile Include="cursespp\App.cpp" />
<ClCompile Include="cursespp\Checkbox.cpp" />
<ClCompile Include="cursespp\Colors.cpp" />
<ClCompile Include="cursespp\DialogOverlay.cpp" />
<ClCompile Include="cursespp\LayoutBase.cpp" />
<ClCompile Include="cursespp\LayoutStack.cpp" />
<ClCompile Include="cursespp\ListWindow.cpp" />
<ClCompile Include="cursespp\MultiLineEntry.cpp" />
<ClCompile Include="cursespp\Overlays.cpp" />
<ClCompile Include="cursespp\Screen.cpp" />
<ClCompile Include="cursespp\ScrollableWindow.cpp" />
<ClCompile Include="cursespp\ScrollAdapterBase.cpp" />
<ClCompile Include="cursespp\ShortcutsWindow.cpp" />
<ClCompile Include="cursespp\SimpleScrollAdapter.cpp" />
<ClCompile Include="cursespp\SingleLineEntry.cpp" />
<ClCompile Include="cursespp\Text.cpp" />
@ -194,13 +196,13 @@
<ClInclude Include="app\window\EntryWithHeader.h" />
<ClInclude Include="app\window\LogWindow.h" />
<ClInclude Include="app\window\OutputWindow.h" />
<ClInclude Include="app\window\ShortcutsWindow.h" />
<ClInclude Include="app\window\TrackListView.h" />
<ClInclude Include="app\window\TransportWindow.h" />
<ClInclude Include="cursespp\App.h" />
<ClInclude Include="cursespp\Checkbox.h" />
<ClInclude Include="cursespp\Colors.h" />
<ClInclude Include="cursespp\curses_config.h" />
<ClInclude Include="cursespp\DialogOverlay.h" />
<ClInclude Include="cursespp\IDisplayable.h" />
<ClInclude Include="cursespp\IInput.h" />
<ClInclude Include="cursespp\IKeyHandler.h" />
@ -208,6 +210,7 @@
<ClInclude Include="cursespp\ILayoutStack.h" />
<ClInclude Include="cursespp\IMessageTarget.h" />
<ClInclude Include="cursespp\IOrderable.h" />
<ClInclude Include="cursespp\IOverlay.h" />
<ClInclude Include="cursespp\LayoutStack.h" />
<ClInclude Include="cursespp\IScrollable.h" />
<ClInclude Include="cursespp\IScrollAdapter.h" />
@ -217,9 +220,12 @@
<ClInclude Include="cursespp\LayoutBase.h" />
<ClInclude Include="cursespp\ListWindow.h" />
<ClInclude Include="cursespp\MultiLineEntry.h" />
<ClInclude Include="cursespp\OverlayBase.h" />
<ClInclude Include="cursespp\Overlays.h" />
<ClInclude Include="cursespp\Screen.h" />
<ClInclude Include="cursespp\ScrollableWindow.h" />
<ClInclude Include="cursespp\ScrollAdapterBase.h" />
<ClInclude Include="cursespp\ShortcutsWindow.h" />
<ClInclude Include="cursespp\SimpleScrollAdapter.h" />
<ClInclude Include="cursespp\SingleLineEntry.h" />
<ClInclude Include="cursespp\Text.h" />
@ -244,4 +250,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -36,15 +36,9 @@
<ClCompile Include="app\query\CategoryListViewQuery.cpp">
<Filter>app\query</Filter>
</ClCompile>
<ClCompile Include="app\util\SystemInfo.cpp">
<Filter>app\util</Filter>
</ClCompile>
<ClCompile Include="app\window\OutputWindow.cpp">
<Filter>app\window</Filter>
</ClCompile>
<ClCompile Include="app\window\ResourcesWindow.cpp">
<Filter>app\window</Filter>
</ClCompile>
<ClCompile Include="app\window\TrackListView.cpp">
<Filter>app\window</Filter>
</ClCompile>
@ -129,9 +123,6 @@
<ClCompile Include="cursespp\Checkbox.cpp">
<Filter>cursespp</Filter>
</ClCompile>
<ClCompile Include="app\window\ShortcutsWindow.cpp">
<Filter>app\window</Filter>
</ClCompile>
<ClCompile Include="cursespp\App.cpp">
<Filter>cursespp</Filter>
</ClCompile>
@ -147,6 +138,15 @@
<ClCompile Include="app\util\PreferenceKeys.cpp">
<Filter>app\util</Filter>
</ClCompile>
<ClCompile Include="cursespp\ShortcutsWindow.cpp">
<Filter>cursespp</Filter>
</ClCompile>
<ClCompile Include="cursespp\Overlays.cpp">
<Filter>cursespp</Filter>
</ClCompile>
<ClCompile Include="cursespp\DialogOverlay.cpp">
<Filter>cursespp</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
@ -213,18 +213,12 @@
<ClInclude Include="app\query\CategoryListViewQuery.h">
<Filter>app\query</Filter>
</ClInclude>
<ClInclude Include="app\util\SystemInfo.h">
<Filter>app\util</Filter>
</ClInclude>
<ClInclude Include="app\window\LogWindow.h">
<Filter>app\window</Filter>
</ClInclude>
<ClInclude Include="app\window\OutputWindow.h">
<Filter>app\window</Filter>
</ClInclude>
<ClInclude Include="app\window\ResourcesWindow.h">
<Filter>app\window</Filter>
</ClInclude>
<ClInclude Include="app\window\TrackListView.h">
<Filter>app\window</Filter>
</ClInclude>
@ -318,9 +312,6 @@
<ClInclude Include="cursespp\Checkbox.h">
<Filter>cursespp</Filter>
</ClInclude>
<ClInclude Include="app\window\ShortcutsWindow.h">
<Filter>app\window</Filter>
</ClInclude>
<ClInclude Include="cursespp\App.h">
<Filter>cursespp</Filter>
</ClInclude>
@ -339,6 +330,21 @@
<ClInclude Include="app\util\PreferenceKeys.h">
<Filter>app\util</Filter>
</ClInclude>
<ClInclude Include="cursespp\ShortcutsWindow.h">
<Filter>cursespp</Filter>
</ClInclude>
<ClInclude Include="cursespp\IOverlay.h">
<Filter>cursespp</Filter>
</ClInclude>
<ClInclude Include="cursespp\Overlays.h">
<Filter>cursespp</Filter>
</ClInclude>
<ClInclude Include="cursespp\OverlayBase.h">
<Filter>cursespp</Filter>
</ClInclude>
<ClInclude Include="cursespp\DialogOverlay.h">
<Filter>cursespp</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="cursespp">