Module: wine Branch: master Commit: b007a98e1aa0ef53c4ace658d3c5c088eeb29b39 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b007a98e1aa0ef53c4ace658d3...
Author: Jactry Zeng jzeng@codeweavers.com Date: Tue Oct 13 13:51:42 2015 +0800
user32: Add driver entry point for FlashWindowEx.
Signed-off-by: Jactry Zeng jzeng@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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; } }