Jactry Zeng : user32: Add driver entry point for FlashWindowEx.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 13 10:53:47 CDT 2015


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

Author: Jactry Zeng <jzeng at codeweavers.com>
Date:   Tue Oct 13 13:51:42 2015 +0800

user32: Add driver entry point for FlashWindowEx.

Signed-off-by: Jactry Zeng <jzeng at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/driver.c       | 12 ++++++++++++
 dlls/user32/user_private.h |  1 +
 dlls/user32/win.c          |  2 ++
 3 files changed, 15 insertions(+)

diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
index ced8836..59bfc5c 100644
--- a/dlls/user32/driver.c
+++ b/dlls/user32/driver.c
@@ -134,6 +134,7 @@ static const USER_DRIVER *load_driver(void)
         GET_USER_FUNC(CreateDesktopWindow);
         GET_USER_FUNC(CreateWindow);
         GET_USER_FUNC(DestroyWindow);
+        GET_USER_FUNC(FlashWindowEx);
         GET_USER_FUNC(GetDC);
         GET_USER_FUNC(MsgWaitForMultipleObjectsEx);
         GET_USER_FUNC(ReleaseDC);
@@ -410,6 +411,10 @@ static void CDECL nulldrv_DestroyWindow( HWND hwnd )
 {
 }
 
+static void CDECL nulldrv_FlashWindowEx( FLASHWINFO *info )
+{
+}
+
 static void CDECL nulldrv_GetDC( HDC hdc, HWND hwnd, HWND top_win, const RECT *win_rect,
                                  const RECT *top_rect, DWORD flags )
 {
@@ -546,6 +551,7 @@ static USER_DRIVER null_driver =
     nulldrv_CreateDesktopWindow,
     nulldrv_CreateWindow,
     nulldrv_DestroyWindow,
+    nulldrv_FlashWindowEx,
     nulldrv_GetDC,
     nulldrv_MsgWaitForMultipleObjectsEx,
     nulldrv_ReleaseDC,
@@ -733,6 +739,11 @@ static BOOL CDECL loaderdrv_CreateWindow( HWND hwnd )
     return load_driver()->pCreateWindow( hwnd );
 }
 
+static void CDECL loaderdrv_FlashWindowEx( FLASHWINFO *info )
+{
+    load_driver()->pFlashWindowEx( info );
+}
+
 static void CDECL loaderdrv_GetDC( HDC hdc, HWND hwnd, HWND top_win, const RECT *win_rect,
                                    const RECT *top_rect, DWORD flags )
 {
@@ -795,6 +806,7 @@ static USER_DRIVER lazy_load_driver =
     loaderdrv_CreateDesktopWindow,
     loaderdrv_CreateWindow,
     nulldrv_DestroyWindow,
+    loaderdrv_FlashWindowEx,
     loaderdrv_GetDC,
     nulldrv_MsgWaitForMultipleObjectsEx,
     nulldrv_ReleaseDC,
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index d3affb0..ead7a53 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -96,6 +96,7 @@ typedef struct tagUSER_DRIVER {
     BOOL   (CDECL *pCreateDesktopWindow)(HWND);
     BOOL   (CDECL *pCreateWindow)(HWND);
     void   (CDECL *pDestroyWindow)(HWND);
+    void   (CDECL *pFlashWindowEx)(FLASHWINFO*);
     void   (CDECL *pGetDC)(HDC,HWND,HWND,const RECT *,const RECT *,DWORD);
     DWORD  (CDECL *pMsgWaitForMultipleObjectsEx)(DWORD,const HANDLE*,DWORD,DWORD,DWORD);
     void   (CDECL *pReleaseDC)(HWND,HDC);
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index fb320c7..66749e3 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -3460,6 +3460,7 @@ BOOL WINAPI FlashWindowEx( PFLASHWINFO pfinfo )
             wndPtr->flags &= ~WIN_NCACTIVATED;
         }
         WIN_ReleasePtr( wndPtr );
+        USER_Driver->pFlashWindowEx( pfinfo );
         return TRUE;
     }
     else
@@ -3476,6 +3477,7 @@ BOOL WINAPI FlashWindowEx( PFLASHWINFO pfinfo )
 
         WIN_ReleasePtr( wndPtr );
         SendMessageW( hwnd, WM_NCACTIVATE, wparam, 0 );
+        USER_Driver->pFlashWindowEx( pfinfo );
         return wparam;
     }
 }




More information about the wine-cvs mailing list