Moved mouse capture handling into the server.

diff --git a/server/queue.c b/server/queue.c
index 5d51e62..5332dcf 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1369,3 +1369,22 @@
         else set_error( STATUS_INVALID_HANDLE );
     }
 }
+
+
+/* set the current thread capture window */
+DECL_HANDLER(set_capture_window)
+{
+    struct msg_queue *queue = get_current_queue();
+
+    reply->previous = reply->full_handle = 0;
+    if (queue && check_queue_input_window( queue, req->handle ))
+    {
+        struct thread_input *input = queue->input;
+
+        reply->previous = input->capture;
+        input->capture = get_user_full_handle( req->handle );
+        input->menu_owner = (req->flags & CAPTURE_MENU) ? input->capture : 0;
+        input->move_size = (req->flags & CAPTURE_MOVESIZE) ? input->capture : 0;
+        reply->full_handle = input->capture;
+    }
+}