server: Set the queue mask directly in get_message to avoid an extra server call.
diff --git a/server/protocol.def b/server/protocol.def
index 0ce75f5..e210e43 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1859,6 +1859,8 @@
     unsigned int    get_first; /* first message code to get */
     unsigned int    get_last;  /* last message code to get */
     unsigned int    hw_id;     /* id of the previous hardware message (or 0) */
+    unsigned int    wake_mask; /* wakeup bits mask */
+    unsigned int    changed_mask; /* changed bits mask */
 @REPLY
     user_handle_t   win;       /* window handle */
     int             type;      /* message type */
diff --git a/server/queue.c b/server/queue.c
index 5188f0d..1e8de22 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1828,6 +1828,8 @@
         return;
     }
 
+    queue->wake_mask = req->wake_mask;
+    queue->changed_mask = req->changed_mask;
     set_error( STATUS_PENDING );  /* FIXME */
 }
 
diff --git a/server/trace.c b/server/trace.c
index e707e47..49f4479 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2304,7 +2304,9 @@
     fprintf( stderr, " get_win=%p,", req->get_win );
     fprintf( stderr, " get_first=%08x,", req->get_first );
     fprintf( stderr, " get_last=%08x,", req->get_last );
-    fprintf( stderr, " hw_id=%08x", req->hw_id );
+    fprintf( stderr, " hw_id=%08x,", req->hw_id );
+    fprintf( stderr, " wake_mask=%08x,", req->wake_mask );
+    fprintf( stderr, " changed_mask=%08x", req->changed_mask );
 }
 
 static void dump_get_message_reply( const struct get_message_reply *req )