Alexandre Julliard : Revert "server: Restore the masks from the previous get_message when a wait is satisfied. "

Alexandre Julliard julliard at winehq.org
Thu Apr 10 12:21:29 CDT 2014


Module: wine
Branch: master
Commit: 202d91e5516766a859775801cca593595cc69767
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=202d91e5516766a859775801cca593595cc69767

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Apr 10 15:49:06 2014 +0200

Revert "server: Restore the masks from the previous get_message when a wait is satisfied."

This reverts commit f846312f46bab8dc373a8fd98fdef9c3aebe8ee0.
The masks will be stored on the client side instead.

---

 server/queue.c |   19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/server/queue.c b/server/queue.c
index d919f01..1954886 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -117,10 +117,8 @@ struct msg_queue
     struct fd             *fd;              /* optional file descriptor to poll */
     unsigned int           wake_bits;       /* wakeup bits */
     unsigned int           wake_mask;       /* wakeup mask */
-    unsigned int           wake_get_msg;    /* wakeup mask of last get_message */
     unsigned int           changed_bits;    /* changed wakeup bits */
     unsigned int           changed_mask;    /* changed wakeup mask */
-    unsigned int           changed_get_msg; /* changed wakeup mask of last get_message */
     int                    paint_count;     /* pending paint messages count */
     int                    hotkey_count;    /* pending hotkey messages count */
     int                    quit_message;    /* is there a pending quit message? */
@@ -279,10 +277,8 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
         queue->fd              = NULL;
         queue->wake_bits       = 0;
         queue->wake_mask       = 0;
-        queue->wake_get_msg    = 0;
         queue->changed_bits    = 0;
         queue->changed_mask    = 0;
-        queue->changed_get_msg = 0;
         queue->paint_count     = 0;
         queue->hotkey_count    = 0;
         queue->quit_message    = 0;
@@ -931,8 +927,8 @@ static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entr
 static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry )
 {
     struct msg_queue *queue = (struct msg_queue *)obj;
-    queue->wake_mask = queue->wake_get_msg;
-    queue->changed_mask = queue->changed_get_msg;
+    queue->wake_mask = 0;
+    queue->changed_mask = 0;
 }
 
 static void msg_queue_destroy( struct object *obj )
@@ -2201,11 +2197,7 @@ DECL_HANDLER(set_queue_mask)
         if (is_signaled( queue ))
         {
             /* if skip wait is set, do what would have been done in the subsequent wait */
-            if (req->skip_wait)
-            {
-                queue->wake_mask = queue->wake_get_msg;
-                queue->changed_mask = queue->changed_get_msg;
-            }
+            if (req->skip_wait) queue->wake_mask = queue->changed_mask = 0;
             else wake_up( &queue->obj, 0 );
         }
     }
@@ -2377,7 +2369,6 @@ DECL_HANDLER(get_message)
 
     if (!queue) return;
     queue->last_get_msg = current_time;
-    queue->wake_get_msg = queue->changed_get_msg = 0;
     if (!filter) filter = QS_ALLINPUT;
 
     /* first check for sent messages */
@@ -2449,8 +2440,8 @@ DECL_HANDLER(get_message)
     }
 
     if (get_win == -1 && current->process->idle_event) set_event( current->process->idle_event );
-    queue->wake_mask = queue->wake_get_msg = req->wake_mask;
-    queue->changed_mask = queue->changed_get_msg = req->changed_mask;
+    queue->wake_mask = req->wake_mask;
+    queue->changed_mask = req->changed_mask;
     set_error( STATUS_PENDING );  /* FIXME */
 }
 




More information about the wine-cvs mailing list