From ac44c001a40770a295532af8fe6f8beafbe2e569 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 11 Nov 2023 21:51:39 +0000 Subject: [PATCH] Codechange: Expose `FindChildWindow()` as a method of `Window`. --- src/window.cpp | 8 ++++---- src/window_gui.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/window.cpp b/src/window.cpp index b0ae97fc5c..2151be5f49 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1020,10 +1020,10 @@ void Window::SetShaded(bool make_shaded) * @param wc Window class of the window to remove; #WC_INVALID if class does not matter * @return a Window pointer that is the child of \a w, or \c nullptr otherwise */ -static Window *FindChildWindow(const Window *w, WindowClass wc) +Window *Window::FindChildWindow(WindowClass wc) const { for (Window *v : Window::Iterate()) { - if ((wc == WC_INVALID || wc == v->window_class) && v->parent == w) return v; + if ((wc == WC_INVALID || wc == v->window_class) && v->parent == this) return v; } return nullptr; @@ -1035,10 +1035,10 @@ static Window *FindChildWindow(const Window *w, WindowClass wc) */ void Window::CloseChildWindows(WindowClass wc) const { - Window *child = FindChildWindow(this, wc); + Window *child = this->FindChildWindow(wc); while (child != nullptr) { child->Close(); - child = FindChildWindow(this, wc); + child = this->FindChildWindow(wc); } } diff --git a/src/window_gui.h b/src/window_gui.h index d4171070cf..54c75cbedc 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -545,6 +545,7 @@ public: void DrawSortButtonState(WidgetID widget, SortButtonState state) const; static int SortButtonWidth(); + Window *FindChildWindow(WindowClass wc = WC_INVALID) const; void CloseChildWindows(WindowClass wc = WC_INVALID) const; virtual void Close(int data = 0); static void DeleteClosedWindows();