From: Jacek Caban jacek@codeweavers.com
Signed-off-by: Jacek Caban jacek@codeweavers.com --- dlls/win32u/driver.c | 7 +++++++ dlls/win32u/message.c | 2 ++ include/ntuser.h | 5 +++-- include/wine/gdi_driver.h | 1 + 4 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c index 4dac0760464..b4cea3d42c8 100644 --- a/dlls/win32u/driver.c +++ b/dlls/win32u/driver.c @@ -1099,6 +1099,11 @@ static BOOL loaderdrv_ClipCursor( const RECT *clip ) return load_driver()->pClipCursor( clip ); }
+static LRESULT nulldrv_ClipboardWindowProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) +{ + return 0; +} + static void loaderdrv_UpdateClipboard(void) { load_driver()->pUpdateClipboard(); @@ -1172,6 +1177,7 @@ static const struct user_driver_funcs lazy_load_driver = loaderdrv_SetCursorPos, loaderdrv_ClipCursor, /* clipboard functions */ + nulldrv_ClipboardWindowProc, loaderdrv_UpdateClipboard, /* display modes */ loaderdrv_ChangeDisplaySettingsEx, @@ -1247,6 +1253,7 @@ void CDECL __wine_set_user_driver( const struct user_driver_funcs *funcs, UINT v SET_USER_FUNC(GetCursorPos); SET_USER_FUNC(SetCursorPos); SET_USER_FUNC(ClipCursor); + SET_USER_FUNC(ClipboardWindowProc); SET_USER_FUNC(UpdateClipboard); SET_USER_FUNC(ChangeDisplaySettingsEx); SET_USER_FUNC(EnumDisplaySettingsEx); diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c index 6bb9aa455f5..bc6db20d164 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c @@ -2911,6 +2911,8 @@ LRESULT WINAPI NtUserMessageCall( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpa return send_notify_message( hwnd, msg, wparam, lparam, ansi ); case NtUserSendMessageCallback: return send_message_callback( hwnd, msg, wparam, lparam, (void *)result_info, ansi ); + case NtUserClipboardWindowProc: + return user_driver->pClipboardWindowProc( hwnd, msg, wparam, lparam ); case NtUserSpyEnter: spy_enter_message( ansi, hwnd, msg, wparam, lparam ); return 0; diff --git a/include/ntuser.h b/include/ntuser.h index 29de027a334..091d34c3a5f 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -189,8 +189,9 @@ enum NtUserSendNotifyMessage = 0x02b7, NtUserSendMessageCallback = 0x02b8, /* Wine-specific exports */ - NtUserSpyEnter = 0x0300, - NtUserSpyExit = 0x0301, + NtUserClipboardWindowProc = 0x0300, + NtUserSpyEnter = 0x0301, + NtUserSpyExit = 0x0302, };
/* NtUserThunkedMenuItemInfo codes */ diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h index 21fff4d4aa2..52fd6fe49d3 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -291,6 +291,7 @@ struct user_driver_funcs BOOL (*pSetCursorPos)(INT,INT); BOOL (*pClipCursor)(LPCRECT); /* clipboard functions */ + LRESULT (*pClipboardWindowProc)(HWND,UINT,WPARAM,LPARAM); void (*pUpdateClipboard)(void); /* display modes */ LONG (*pChangeDisplaySettingsEx)(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);