Module: wine Branch: master Commit: 5386b7e4c83f6e3a45409c21261622ace8451c62 URL: https://source.winehq.org/git/wine.git/?a=commit;h=5386b7e4c83f6e3a45409c212...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Nov 11 20:06:48 2020 +0100
kernel32: Allow non-console handles in CloseConsoleHandle.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/console.c | 7 +------ dlls/kernel32/kernel_private.h | 8 -------- dlls/kernel32/tests/console.c | 2 -- 3 files changed, 1 insertion(+), 16 deletions(-)
diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c index 8d5f8181ffe..d55c589eaf7 100644 --- a/dlls/kernel32/console.c +++ b/dlls/kernel32/console.c @@ -125,12 +125,7 @@ HANDLE WINAPI DuplicateConsoleHandle(HANDLE handle, DWORD access, BOOL inherit, */ BOOL WINAPI CloseConsoleHandle(HANDLE handle) { - if (!is_console_handle(handle)) - { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - return CloseHandle(wine_server_ptr_handle(console_handle_unmap(handle))); + return CloseHandle(handle); }
/****************************************************************** diff --git a/dlls/kernel32/kernel_private.h b/dlls/kernel32/kernel_private.h index fe19e2ed5cb..fa1dd79d0c0 100644 --- a/dlls/kernel32/kernel_private.h +++ b/dlls/kernel32/kernel_private.h @@ -21,8 +21,6 @@ #ifndef __WINE_KERNEL_PRIVATE_H #define __WINE_KERNEL_PRIVATE_H
-#include "wine/server.h" - NTSTATUS WINAPI BaseGetNamedObjectDirectory( HANDLE *dir ); BOOL CONSOLE_Init(RTL_USER_PROCESS_PARAMETERS *params) DECLSPEC_HIDDEN;
@@ -37,12 +35,6 @@ static inline HANDLE console_handle_map(HANDLE h) return h != INVALID_HANDLE_VALUE ? (HANDLE)((UINT_PTR)h ^ 3) : INVALID_HANDLE_VALUE; }
-/* map a kernel32 console handle onto a real wineserver handle */ -static inline obj_handle_t console_handle_unmap(HANDLE h) -{ - return wine_server_obj_handle( h != INVALID_HANDLE_VALUE ? (HANDLE)((UINT_PTR)h ^ 3) : INVALID_HANDLE_VALUE ); -} - static inline BOOL set_ntstatus( NTSTATUS status ) { if (status) SetLastError( RtlNtStatusToDosError( status )); diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 69005bab5f1..13e17e14e4c 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -1523,10 +1523,8 @@ static void test_DuplicateConsoleHandle(void) ok(ret, "SetEvent failed: %u\n", GetLastError());
ret = CloseConsoleHandle(handle); - todo_wine ok(ret, "CloseConsoleHandle failed: %u\n", GetLastError()); ret = CloseConsoleHandle(event); - todo_wine ok(ret, "CloseConsoleHandle failed: %u\n", GetLastError());
handle = DuplicateConsoleHandle((HANDLE)0xdeadbeef, 0, FALSE, DUPLICATE_SAME_ACCESS);