Module: wine Branch: refs/heads/master Commit: 22bd7a3d0108e78f035bb19a74b2bada01598e57 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=22bd7a3d0108e78f035bb19a...
Author: Robert Shearman rob@codeweavers.com Date: Mon May 22 22:16:53 2006 +0100
server: Don't clear the QS_POSTMESSAGE flag if there is a pending quit message.
---
server/queue.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/server/queue.c b/server/queue.c index 45caefe..407f06f 100644 --- a/server/queue.c +++ b/server/queue.c @@ -482,7 +482,8 @@ static void remove_queue_message( struct if (list_empty( &queue->msg_list[kind] )) clear_queue_bits( queue, QS_SENDMESSAGE ); break; case POST_MESSAGE: - if (list_empty( &queue->msg_list[kind] )) clear_queue_bits( queue, QS_POSTMESSAGE|QS_ALLPOSTMESSAGE ); + if (list_empty( &queue->msg_list[kind] ) && !queue->quit_message) + clear_queue_bits( queue, QS_POSTMESSAGE|QS_ALLPOSTMESSAGE ); break; } free_message( msg ); @@ -702,8 +703,11 @@ static int get_quit_message( struct msg_ reply->info = 0;
if (flags & GET_MSG_REMOVE) + { queue->quit_message = 0; - + if (list_empty( &queue->msg_list[POST_MESSAGE] )) + clear_queue_bits( queue, QS_POSTMESSAGE|QS_ALLPOSTMESSAGE ); + } return 1; } else