diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index 33446cca4b..0f2551c27a 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -2487,6 +2487,8 @@ Desktop::AllWindows() Window* Desktop::WindowForClientLooperPort(port_id port) { + AutoReadLocker locker(fWindowLock); + for (Window* window = fAllWindows.FirstWindow(); window != NULL; window = window->NextWindow(kAllWindowList)) { if (window->ServerWindow()->ClientLooperPort() == port) diff --git a/src/servers/app/Desktop.h b/src/servers/app/Desktop.h index b18ae40a8b..fab5c6fc31 100644 --- a/src/servers/app/Desktop.h +++ b/src/servers/app/Desktop.h @@ -257,6 +257,7 @@ public: void WriteWindowOrder(int32 workspace, BPrivate::LinkSender& sender); + //! The window lock has to be held when accessing a window list! WindowList& CurrentWindows(); WindowList& AllWindows();