Alexandre Julliard : user32: Reimplement UserYield using PeekMessageW.

Alexandre Julliard julliard at winehq.org
Fri Nov 13 09:37:01 CST 2009


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Nov 12 22:01:35 2009 +0100

user32: Reimplement UserYield using PeekMessageW.

---

 dlls/user32/message.c   |   22 ----------------------
 dlls/user32/msg16.c     |   10 ++++++++++
 dlls/user32/user32.spec |    1 -
 3 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 80eadec..a1d7779 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -3365,28 +3365,6 @@ DWORD WINAPI WaitForInputIdle( HANDLE hProcess, DWORD dwTimeOut )
 
 
 /***********************************************************************
- *		UserYield (USER.332)
- */
-void WINAPI UserYield16(void)
-{
-   DWORD count;
-
-    /* Handle sent messages */
-    process_sent_messages();
-
-    /* Yield */
-    ReleaseThunkLock(&count);
-
-    if (count)
-    {
-        RestoreThunkLock(count);
-        /* Handle sent messages again */
-        process_sent_messages();
-    }
-}
-
-
-/***********************************************************************
  *		RegisterWindowMessageA (USER32.@)
  *		RegisterWindowMessage (USER.118)
  */
diff --git a/dlls/user32/msg16.c b/dlls/user32/msg16.c
index ec42ae9..dba7a14 100644
--- a/dlls/user32/msg16.c
+++ b/dlls/user32/msg16.c
@@ -506,6 +506,16 @@ BOOL16 WINAPI SetMessageQueue16( INT16 size )
 
 
 /***********************************************************************
+ *		UserYield (USER.332)
+ */
+void WINAPI UserYield16(void)
+{
+    MSG msg;
+    PeekMessageW( &msg, 0, 0, 0, PM_REMOVE | PM_QS_SENDMESSAGE );
+}
+
+
+/***********************************************************************
  *		GetQueueStatus (USER.334)
  */
 DWORD WINAPI GetQueueStatus16( UINT16 flags )
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index acf386c..d500f8d 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -784,7 +784,6 @@
 @ stdcall GetDriverModuleHandle16(long)
 @ stdcall OpenDriver16(str str long)
 @ stdcall SendDriverMessage16(long long long long)
-@ stdcall UserYield16()
 
 ################################################################
 # Wine dll separation hacks, these will go away, don't use them




More information about the wine-cvs mailing list