Added WIN_GetRectangles function.
Fixed WindowFromPoint to work accross processes.
diff --git a/windows/win.c b/windows/win.c
index cf39d3f..c3cce5a 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -569,6 +569,52 @@
/***********************************************************************
+ * WIN_GetRectangles
+ *
+ * Get the window and client rectangles.
+ */
+BOOL WIN_GetRectangles( HWND hwnd, RECT *rectWindow, RECT *rectClient )
+{
+ WND *win = WIN_GetPtr( hwnd );
+ BOOL ret = TRUE;
+
+ if (!win) return FALSE;
+ if (win == WND_OTHER_PROCESS)
+ {
+ SERVER_START_REQ( get_window_rectangles )
+ {
+ req->handle = hwnd;
+ if ((ret = !wine_server_call( req )))
+ {
+ if (rectWindow)
+ {
+ rectWindow->left = reply->window.left;
+ rectWindow->top = reply->window.top;
+ rectWindow->right = reply->window.right;
+ rectWindow->bottom = reply->window.bottom;
+ }
+ if (rectClient)
+ {
+ rectClient->left = reply->client.left;
+ rectClient->top = reply->client.top;
+ rectClient->right = reply->client.right;
+ rectClient->bottom = reply->client.bottom;
+ }
+ }
+ }
+ SERVER_END_REQ;
+ }
+ else
+ {
+ if (rectWindow) *rectWindow = win->rectWindow;
+ if (rectClient) *rectClient = win->rectClient;
+ WIN_ReleasePtr( win );
+ }
+ return ret;
+}
+
+
+/***********************************************************************
* WIN_DestroyWindow
*
* Destroy storage associated to a window. "Internals" p.358