From d5609010ba46e31f2a43bb23cef21302ac38c055 Mon Sep 17 00:00:00 2001
From: Henry Wilson <m3henry@googlemail.com>
Date: Sat, 30 Dec 2017 20:54:34 +0000
Subject: [PATCH 02/31] Window::scheduled_invalidation_data ~> std::vector

---
 src/window.cpp   | 9 +++++----
 src/window_gui.h | 2 +-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/window.cpp b/src/window.cpp
index f4b7a1ca1..1d3106fff 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -3163,7 +3163,7 @@ void Window::InvalidateData(int data, bool gui_scope)
 	this->SetDirty();
 	if (!gui_scope) {
 		/* Schedule GUI-scope invalidation for next redraw. */
-		*this->scheduled_invalidation_data.Append() = data;
+		this->scheduled_invalidation_data.push_back(data);
 	}
 	this->OnInvalidateData(data, gui_scope);
 }
@@ -3173,10 +3173,11 @@ void Window::InvalidateData(int data, bool gui_scope)
  */
 void Window::ProcessScheduledInvalidations()
 {
-	for (int *data = this->scheduled_invalidation_data.Begin(); this->window_class != WC_INVALID && data != this->scheduled_invalidation_data.End(); data++) {
-		this->OnInvalidateData(*data, true);
+	for (auto &data : this->scheduled_invalidation_data) {
+		if (WC_INVALID == this->window_class) break;
+		this->OnInvalidateData(data, true);
 	}
-	this->scheduled_invalidation_data.Clear();
+	this->scheduled_invalidation_data.clear();
 }
 
 /**
diff --git a/src/window_gui.h b/src/window_gui.h
index b81b06e39..1e42e9d48 100644
--- a/src/window_gui.h
+++ b/src/window_gui.h
@@ -274,7 +274,7 @@ protected:
 	void InitializePositionSize(int x, int y, int min_width, int min_height);
 	virtual void FindWindowPlacementAndResize(int def_width, int def_height);
 
-	SmallVector<int, 4> scheduled_invalidation_data;  ///< Data of scheduled OnInvalidateData() calls.
+	std::vector<int> scheduled_invalidation_data;  ///< Data of scheduled OnInvalidateData() calls.
 
 public:
 	Window(WindowDesc *desc);
-- 
2.14.1

