Module: wine Branch: master Commit: 070a82e743cbcfd82f211d79b2453a84c7eedec2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=070a82e743cbcfd82f211d79b2...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Jun 3 16:45:40 2015 +0900
user32: Merge the AcquireClipboard and EmptyClipboard driver entry points.
---
dlls/user32/clipboard.c | 4 ---- dlls/user32/driver.c | 13 ------------- dlls/user32/user_private.h | 1 - dlls/winemac.drv/clipboard.c | 12 +----------- dlls/winemac.drv/winemac.drv.spec | 1 - dlls/winex11.drv/clipboard.c | 20 ++++++++------------ dlls/winex11.drv/window.c | 3 ++- dlls/winex11.drv/winex11.drv.spec | 1 - dlls/winex11.drv/x11drv.h | 2 +- 9 files changed, 12 insertions(+), 45 deletions(-)
diff --git a/dlls/user32/clipboard.c b/dlls/user32/clipboard.c index 666acf0..c55b830 100644 --- a/dlls/user32/clipboard.c +++ b/dlls/user32/clipboard.c @@ -295,10 +295,6 @@ BOOL WINAPI EmptyClipboard(void) * WM_DESTROYCLIPBOARD itself. */ CLIPBOARD_SetClipboardOwner(cbinfo.hWndOpen);
- /* Acquire the selection. This will notify the previous owner - * to clear its cache. */ - USER_Driver->pAcquireClipboard(cbinfo.hWndOpen); - USER_Driver->pEmptyClipboard();
bCBHasChanged = TRUE; diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c index 400d30a..ced8836 100644 --- a/dlls/user32/driver.c +++ b/dlls/user32/driver.c @@ -120,7 +120,6 @@ static const USER_DRIVER *load_driver(void) GET_USER_FUNC(GetCursorPos); GET_USER_FUNC(SetCursorPos); GET_USER_FUNC(ClipCursor); - GET_USER_FUNC(AcquireClipboard); GET_USER_FUNC(EmptyClipboard); GET_USER_FUNC(SetClipboardData); GET_USER_FUNC(GetClipboardData); @@ -334,11 +333,6 @@ static BOOL CDECL nulldrv_ClipCursor( LPCRECT clip ) return FALSE; }
-static INT CDECL nulldrv_AcquireClipboard( HWND hwnd ) -{ - return 0; -} - static BOOL CDECL nulldrv_CountClipboardFormats(void) { return 0; @@ -536,7 +530,6 @@ static USER_DRIVER null_driver = nulldrv_SetCursorPos, nulldrv_ClipCursor, /* clipboard functions */ - nulldrv_AcquireClipboard, nulldrv_CountClipboardFormats, nulldrv_EmptyClipboard, nulldrv_EndClipboardUpdate, @@ -674,11 +667,6 @@ static BOOL CDECL loaderdrv_ClipCursor( LPCRECT clip ) return load_driver()->pClipCursor( clip ); }
-static INT CDECL loaderdrv_AcquireClipboard( HWND hwnd ) -{ - return load_driver()->pAcquireClipboard( hwnd ); -} - static BOOL CDECL loaderdrv_CountClipboardFormats(void) { return load_driver()->pCountClipboardFormats(); @@ -791,7 +779,6 @@ static USER_DRIVER lazy_load_driver = loaderdrv_SetCursorPos, loaderdrv_ClipCursor, /* clipboard functions */ - loaderdrv_AcquireClipboard, loaderdrv_CountClipboardFormats, loaderdrv_EmptyClipboard, loaderdrv_EndClipboardUpdate, diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h index 01b9728..e0c1b43 100644 --- a/dlls/user32/user_private.h +++ b/dlls/user32/user_private.h @@ -80,7 +80,6 @@ typedef struct tagUSER_DRIVER { BOOL (CDECL *pSetCursorPos)(INT,INT); BOOL (CDECL *pClipCursor)(LPCRECT); /* clipboard functions */ - INT (CDECL *pAcquireClipboard)(HWND); /* Acquire selection */ BOOL (CDECL *pCountClipboardFormats)(void); /* Count available clipboard formats */ void (CDECL *pEmptyClipboard)(void); /* Empty clipboard data */ void (CDECL *pEndClipboardUpdate)(void); /* End clipboard update */ diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c index 3851d23..97fa80e 100644 --- a/dlls/winemac.drv/clipboard.c +++ b/dlls/winemac.drv/clipboard.c @@ -1880,17 +1880,6 @@ static void check_clipboard_ownership(HWND *owner)
/************************************************************************** - * AcquireClipboard (MACDRV.@) - */ -int CDECL macdrv_AcquireClipboard(HWND hwnd) -{ - TRACE("hwnd %p\n", hwnd); - check_clipboard_ownership(NULL); - return 0; -} - - -/************************************************************************** * CountClipboardFormats (MACDRV.@) */ INT CDECL macdrv_CountClipboardFormats(void) @@ -1955,6 +1944,7 @@ INT CDECL macdrv_CountClipboardFormats(void) void CDECL macdrv_EmptyClipboard(void) { TRACE("()\n"); + check_clipboard_ownership(NULL); macdrv_clear_pasteboard(); }
diff --git a/dlls/winemac.drv/winemac.drv.spec b/dlls/winemac.drv/winemac.drv.spec index a7dbb30..a97177d 100644 --- a/dlls/winemac.drv/winemac.drv.spec +++ b/dlls/winemac.drv/winemac.drv.spec @@ -4,7 +4,6 @@
# USER driver
-@ cdecl AcquireClipboard(long) macdrv_AcquireClipboard @ cdecl ActivateKeyboardLayout(long long) macdrv_ActivateKeyboardLayout @ cdecl Beep() macdrv_Beep @ cdecl ChangeDisplaySettingsEx(ptr ptr long long long) macdrv_ChangeDisplaySettingsEx diff --git a/dlls/winex11.drv/clipboard.c b/dlls/winex11.drv/clipboard.c index 073e7cb..6c6b3b9 100644 --- a/dlls/winex11.drv/clipboard.c +++ b/dlls/winex11.drv/clipboard.c @@ -2924,9 +2924,9 @@ static DWORD WINAPI selection_thread_proc(LPVOID p) }
/************************************************************************** - * AcquireClipboard (X11DRV.@) + * X11DRV_AcquireClipboard */ -int CDECL X11DRV_AcquireClipboard(HWND hWndClipWindow) +void X11DRV_AcquireClipboard(HWND hWndClipWindow) { DWORD procid; HANDLE selectionThread; @@ -2953,7 +2953,8 @@ int CDECL X11DRV_AcquireClipboard(HWND hWndClipWindow) GetCurrentThreadId(), GetWindowThreadProcessId(hWndClipWindow, NULL), hWndClipWindow);
- return SendMessageW(hWndClipWindow, WM_X11DRV_ACQUIRE_SELECTION, 0, 0); + SendMessageW(hWndClipWindow, WM_X11DRV_ACQUIRE_SELECTION, 0, 0); + return; } }
@@ -2966,19 +2967,13 @@ int CDECL X11DRV_AcquireClipboard(HWND hWndClipWindow) HANDLE event = CreateEventW(NULL, FALSE, FALSE, NULL); selectionThread = CreateThread(NULL, 0, selection_thread_proc, event, 0, NULL);
- if (!selectionThread) + if (selectionThread) { - WARN("Could not start clipboard thread\n"); - CloseHandle(event); - return 0; + WaitForSingleObject(event, INFINITE); + CloseHandle(selectionThread); } - - WaitForSingleObject(event, INFINITE); CloseHandle(event); - CloseHandle(selectionThread); } - - return 1; }
@@ -3005,6 +3000,7 @@ static void empty_clipboard(BOOL keepunowned) */ void CDECL X11DRV_EmptyClipboard(void) { + X11DRV_AcquireClipboard( GetOpenClipboardWindow() ); empty_clipboard( FALSE ); }
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 7146cfc..ea37dd7 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2593,7 +2593,8 @@ LRESULT CDECL X11DRV_WindowMessage( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp ) switch(msg) { case WM_X11DRV_ACQUIRE_SELECTION: - return X11DRV_AcquireClipboard( hwnd ); + X11DRV_AcquireClipboard( hwnd ); + return 0; case WM_X11DRV_SET_WIN_REGION: if ((data = get_win_data( hwnd ))) { diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec index ce084b5..d9bbebc 100644 --- a/dlls/winex11.drv/winex11.drv.spec +++ b/dlls/winex11.drv/winex11.drv.spec @@ -23,7 +23,6 @@ @ cdecl EnumDisplayMonitors(long ptr ptr long) X11DRV_EnumDisplayMonitors @ cdecl EnumDisplaySettingsEx(ptr long ptr long) X11DRV_EnumDisplaySettingsEx @ cdecl GetMonitorInfo(long ptr) X11DRV_GetMonitorInfo -@ cdecl AcquireClipboard(long) X11DRV_AcquireClipboard @ cdecl CountClipboardFormats() X11DRV_CountClipboardFormats @ cdecl CreateDesktopWindow(long) X11DRV_CreateDesktopWindow @ cdecl CreateWindow(long) X11DRV_CreateWindow diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index da13c6e..213f610 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -600,7 +600,7 @@ extern XContext win_data_context DECLSPEC_HIDDEN; extern XContext cursor_context DECLSPEC_HIDDEN;
extern void X11DRV_InitClipboard(void) DECLSPEC_HIDDEN; -extern int CDECL X11DRV_AcquireClipboard(HWND hWndClipWindow) DECLSPEC_HIDDEN; +extern void X11DRV_AcquireClipboard(HWND hWndClipWindow) DECLSPEC_HIDDEN; extern void X11DRV_ResetSelectionOwner(void) DECLSPEC_HIDDEN; extern void CDECL X11DRV_SetFocus( HWND hwnd ) DECLSPEC_HIDDEN; extern void set_window_cursor( Window window, HCURSOR handle ) DECLSPEC_HIDDEN;