From b8a44a250e2cc0dc1de1bd86db4b906e0fb0e933 Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Tue, 17 Aug 2010 06:23:06 +0000 Subject: [PATCH] Add function to find a window in the app server by the client looper port id. Need this for the stacking api e.g. to stack window x on window y. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38168 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Desktop.cpp | 12 ++++++++++++ src/servers/app/Desktop.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp index c3430ce59b..33446cca4b 100644 --- a/src/servers/app/Desktop.cpp +++ b/src/servers/app/Desktop.cpp @@ -2484,6 +2484,18 @@ Desktop::AllWindows() } +Window* +Desktop::WindowForClientLooperPort(port_id port) +{ + for (Window* window = fAllWindows.FirstWindow(); window != NULL; + window = window->NextWindow(kAllWindowList)) { + if (window->ServerWindow()->ClientLooperPort() == port) + return window; + } + return NULL; +} + + WindowList& Desktop::_Windows(int32 index) { diff --git a/src/servers/app/Desktop.h b/src/servers/app/Desktop.h index d00a8b1471..b18ae40a8b 100644 --- a/src/servers/app/Desktop.h +++ b/src/servers/app/Desktop.h @@ -260,6 +260,8 @@ public: WindowList& CurrentWindows(); WindowList& AllWindows(); + Window* WindowForClientLooperPort(port_id port); + private: WindowList& _Windows(int32 index);