mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against ca9d03a7ac6bb599e50aa05ea5ec99d5cf096e2a.
This commit is contained in:
parent
89733585b3
commit
b4fce09d03
@ -1,4 +1,4 @@
|
||||
From c16727fda95fe208bfa5730d6a36e82c6d8d52a2 Mon Sep 17 00:00:00 2001
|
||||
From 5871f04dcacf0fc07ee027db46608ce09e79e0c9 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dtimoshkov@codeweavers.com>
|
||||
Date: Mon, 28 Jul 2003 07:39:25 -0500
|
||||
Subject: libs: Fix most problems with CompareString.
|
||||
@ -9,10 +9,10 @@ Subject: libs: Fix most problems with CompareString.
|
||||
2 files changed, 34 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
|
||||
index efb4231..cdb935e 100644
|
||||
index a99763d..3414334 100644
|
||||
--- a/dlls/kernel32/tests/locale.c
|
||||
+++ b/dlls/kernel32/tests/locale.c
|
||||
@@ -1959,13 +1959,13 @@ static void test_CompareStringA(void)
|
||||
@@ -1963,13 +1963,13 @@ static void test_CompareStringA(void)
|
||||
todo_wine ok(ret != CSTR_EQUAL, "\\2 vs \\1 expected unequal\n");
|
||||
|
||||
ret = CompareStringA(lcid, NORM_IGNORECASE | LOCALE_USE_CP_ACP, "#", -1, ".", -1);
|
||||
@ -29,10 +29,10 @@ index efb4231..cdb935e 100644
|
||||
|
||||
lcid = MAKELCID(MAKELANGID(LANG_POLISH, SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
|
||||
@@ -5490,6 +5490,5 @@ START_TEST(locale)
|
||||
test_GetThreadPreferredUILanguages();
|
||||
@@ -5518,6 +5518,5 @@ START_TEST(locale)
|
||||
test_GetUserPreferredUILanguages();
|
||||
test_FindNLSStringEx();
|
||||
test_SetThreadUILanguage();
|
||||
- /* this requires collation table patch to make it MS compatible */
|
||||
- if (0) test_sorting();
|
||||
+ test_sorting();
|
||||
|
@ -1,184 +0,0 @@
|
||||
From 7f456e63bf51237bdd161fb6110a68f14d4e84ac Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Sep 2014 22:42:46 +0200
|
||||
Subject: ntdll: Throw exception if invalid handle is passed to NtClose and
|
||||
debugger enabled.
|
||||
|
||||
---
|
||||
dlls/ntdll/om.c | 27 ++++++++++++++++++
|
||||
dlls/ntdll/tests/exception.c | 65 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 92 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c
|
||||
index c13934a89bd..098229cc094 100644
|
||||
--- a/dlls/ntdll/om.c
|
||||
+++ b/dlls/ntdll/om.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "winternl.h"
|
||||
#include "ntdll_misc.h"
|
||||
#include "wine/server.h"
|
||||
+#include "wine/exception.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
|
||||
|
||||
@@ -377,6 +378,13 @@ NTSTATUS WINAPI NtDuplicateObject( HANDLE source_process, HANDLE source,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+
|
||||
+static LONG WINAPI invalid_handle_exception_handler( EXCEPTION_POINTERS *eptr )
|
||||
+{
|
||||
+ EXCEPTION_RECORD *rec = eptr->ExceptionRecord;
|
||||
+ return (rec->ExceptionCode == EXCEPTION_INVALID_HANDLE) ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH;
|
||||
+}
|
||||
+
|
||||
/* Everquest 2 / Pirates of the Burning Sea hooks NtClose, so we need a wrapper */
|
||||
NTSTATUS close_handle( HANDLE handle )
|
||||
{
|
||||
@@ -390,6 +398,25 @@ NTSTATUS close_handle( HANDLE handle )
|
||||
}
|
||||
SERVER_END_REQ;
|
||||
if (fd != -1) close( fd );
|
||||
+
|
||||
+ if (ret == STATUS_INVALID_HANDLE && NtCurrentTeb()->Peb->BeingDebugged)
|
||||
+ {
|
||||
+ __TRY
|
||||
+ {
|
||||
+ EXCEPTION_RECORD record;
|
||||
+ record.ExceptionCode = EXCEPTION_INVALID_HANDLE;
|
||||
+ record.ExceptionFlags = 0;
|
||||
+ record.ExceptionRecord = NULL;
|
||||
+ record.ExceptionAddress = NULL;
|
||||
+ record.NumberParameters = 0;
|
||||
+ RtlRaiseException( &record );
|
||||
+ }
|
||||
+ __EXCEPT(invalid_handle_exception_handler)
|
||||
+ {
|
||||
+ }
|
||||
+ __ENDTRY
|
||||
+ }
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index 6e901e92b6d..0f369dd672d 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -52,6 +52,7 @@ static NTSTATUS (WINAPI *pNtTerminateProcess)(HANDLE handle, LONG exit_code);
|
||||
static NTSTATUS (WINAPI *pNtQueryInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG, PULONG);
|
||||
static NTSTATUS (WINAPI *pNtSetInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG);
|
||||
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
|
||||
+static NTSTATUS (WINAPI *pNtClose)(HANDLE);
|
||||
|
||||
#if defined(__x86_64__)
|
||||
typedef struct
|
||||
@@ -1025,6 +1026,16 @@ static void test_debugger(void)
|
||||
|
||||
if (stage == 10) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
}
|
||||
+ else if (stage == 11 || stage == 12)
|
||||
+ {
|
||||
+ ok(de.u.Exception.ExceptionRecord.ExceptionCode == EXCEPTION_INVALID_HANDLE,
|
||||
+ "unexpected exception code %08x, expected %08x\n", de.u.Exception.ExceptionRecord.ExceptionCode,
|
||||
+ EXCEPTION_INVALID_HANDLE);
|
||||
+ ok(de.u.Exception.ExceptionRecord.NumberParameters == 0,
|
||||
+ "unexpected number of parameters %d, expected 0\n", de.u.Exception.ExceptionRecord.NumberParameters);
|
||||
+
|
||||
+ if (stage == 12) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
+ }
|
||||
else
|
||||
ok(FALSE, "unexpected stage %x\n", stage);
|
||||
|
||||
@@ -2511,6 +2522,53 @@ static void test_breakpoint(DWORD numexc)
|
||||
pRtlRemoveVectoredExceptionHandler(vectored_handler);
|
||||
}
|
||||
|
||||
+static DWORD invalid_handle_exceptions;
|
||||
+
|
||||
+static LONG CALLBACK invalid_handle_vectored_handler(EXCEPTION_POINTERS *ExceptionInfo)
|
||||
+{
|
||||
+ PEXCEPTION_RECORD rec = ExceptionInfo->ExceptionRecord;
|
||||
+ trace("vect. handler %08x addr:%p\n", rec->ExceptionCode, rec->ExceptionAddress);
|
||||
+
|
||||
+ ok(rec->ExceptionCode == EXCEPTION_INVALID_HANDLE, "ExceptionCode is %08x instead of %08x\n",
|
||||
+ rec->ExceptionCode, EXCEPTION_INVALID_HANDLE);
|
||||
+ ok(rec->NumberParameters == 0, "ExceptionParameters is %d instead of 0\n", rec->NumberParameters);
|
||||
+
|
||||
+ invalid_handle_exceptions++;
|
||||
+ return (rec->ExceptionCode == EXCEPTION_INVALID_HANDLE) ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH;
|
||||
+}
|
||||
+
|
||||
+static void test_closehandle(DWORD numexc)
|
||||
+{
|
||||
+ PVOID vectored_handler;
|
||||
+ NTSTATUS status;
|
||||
+ DWORD res;
|
||||
+
|
||||
+ if (!pRtlAddVectoredExceptionHandler || !pRtlRemoveVectoredExceptionHandler || !pRtlRaiseException)
|
||||
+ {
|
||||
+ skip("RtlAddVectoredExceptionHandler or RtlRemoveVectoredExceptionHandler or RtlRaiseException not found\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ vectored_handler = pRtlAddVectoredExceptionHandler(TRUE, &invalid_handle_vectored_handler);
|
||||
+ ok(vectored_handler != 0, "RtlAddVectoredExceptionHandler failed\n");
|
||||
+
|
||||
+ invalid_handle_exceptions = 0;
|
||||
+ res = CloseHandle((HANDLE)0xdeadbeef);
|
||||
+ ok(!res, "CloseHandle(0xdeadbeef) unexpectedly succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_HANDLE, "wrong error code %d instead of %d\n",
|
||||
+ GetLastError(), ERROR_INVALID_HANDLE);
|
||||
+ ok(invalid_handle_exceptions == numexc, "CloseHandle generated %d exceptions, expected %d\n",
|
||||
+ invalid_handle_exceptions, numexc);
|
||||
+
|
||||
+ invalid_handle_exceptions = 0;
|
||||
+ status = pNtClose((HANDLE)0xdeadbeef);
|
||||
+ ok(status == STATUS_INVALID_HANDLE, "NtClose(0xdeadbeef) returned status %08x\n", status);
|
||||
+ ok(invalid_handle_exceptions == numexc, "NtClose generated %d exceptions, expected %d\n",
|
||||
+ invalid_handle_exceptions, numexc);
|
||||
+
|
||||
+ pRtlRemoveVectoredExceptionHandler(vectored_handler);
|
||||
+}
|
||||
+
|
||||
static void test_vectored_continue_handler(void)
|
||||
{
|
||||
PVOID handler1, handler2;
|
||||
@@ -2565,6 +2623,7 @@ START_TEST(exception)
|
||||
pNtGetContextThread = (void *)GetProcAddress( hntdll, "NtGetContextThread" );
|
||||
pNtSetContextThread = (void *)GetProcAddress( hntdll, "NtSetContextThread" );
|
||||
pNtReadVirtualMemory = (void *)GetProcAddress( hntdll, "NtReadVirtualMemory" );
|
||||
+ pNtClose = (void *)GetProcAddress( hntdll, "NtClose" );
|
||||
pRtlUnwind = (void *)GetProcAddress( hntdll, "RtlUnwind" );
|
||||
pRtlRaiseException = (void *)GetProcAddress( hntdll, "RtlRaiseException" );
|
||||
pRtlCaptureContext = (void *)GetProcAddress( hntdll, "RtlCaptureContext" );
|
||||
@@ -2636,6 +2695,10 @@ START_TEST(exception)
|
||||
test_breakpoint(0);
|
||||
test_stage = 10;
|
||||
test_breakpoint(1);
|
||||
+ test_stage = 11;
|
||||
+ test_closehandle(0);
|
||||
+ test_stage = 12;
|
||||
+ test_closehandle(1);
|
||||
}
|
||||
else
|
||||
skip( "RtlRaiseException not found\n" );
|
||||
@@ -2652,6 +2715,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
+ test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
test_debugger();
|
||||
test_simd_exceptions();
|
||||
@@ -2685,6 +2749,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
+ test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
test_virtual_unwind();
|
||||
test___C_specific_handler();
|
||||
--
|
||||
2.13.1
|
||||
|
@ -1,2 +1,2 @@
|
||||
Fixes: Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
||||
Fixes: [44897] Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
||||
Depends: ntdll-RtlQueryPackageIdentity
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "79f93ecf429f42db15bc14f276045fdad35cef13"
|
||||
echo "ca9d03a7ac6bb599e50aa05ea5ec99d5cf096e2a"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -310,7 +310,6 @@ patch_enable_all ()
|
||||
enable_server_Timestamp_Compat="$1"
|
||||
enable_server_device_manager_destroy="$1"
|
||||
enable_server_send_hardware_message="$1"
|
||||
enable_setupapi_CM_Get_Parent="$1"
|
||||
enable_setupapi_DiskSpaceList="$1"
|
||||
enable_setupapi_Display_Device="$1"
|
||||
enable_setupapi_HSPFILEQ_Check_Type="$1"
|
||||
@ -1128,9 +1127,6 @@ patch_enable ()
|
||||
server-send_hardware_message)
|
||||
enable_server_send_hardware_message="$2"
|
||||
;;
|
||||
setupapi-CM_Get_Parent)
|
||||
enable_setupapi_CM_Get_Parent="$2"
|
||||
;;
|
||||
setupapi-DiskSpaceList)
|
||||
enable_setupapi_DiskSpaceList="$2"
|
||||
;;
|
||||
@ -5099,13 +5095,11 @@ fi
|
||||
# Patchset ntdll-Exception
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/debugger.c, dlls/ntdll/om.c, dlls/ntdll/tests/exception.c
|
||||
# | * dlls/kernel32/debugger.c, dlls/ntdll/tests/exception.c
|
||||
# |
|
||||
if test "$enable_ntdll_Exception" -eq 1; then
|
||||
patch_apply ntdll-Exception/0001-ntdll-Throw-exception-if-invalid-handle-is-passed-to.patch
|
||||
patch_apply ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Throw exception if invalid handle is passed to NtClose and debugger enabled.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: OutputDebugString should throw the exception a second time, if a debugger is attached.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
@ -5501,6 +5495,9 @@ fi
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * ntdll-RtlQueryPackageIdentity
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#44897] Implement stub for ntdll.RtlGetUnloadEventTraceEx
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c
|
||||
# |
|
||||
@ -6620,21 +6617,6 @@ if test "$enable_server_send_hardware_message" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset setupapi-CM_Get_Parent
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#43831] Return CR_NO_SUCH_DEVNODE from CM_Get_Parent stub
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/setupapi/stubs.c
|
||||
# |
|
||||
if test "$enable_setupapi_CM_Get_Parent" -eq 1; then
|
||||
patch_apply setupapi-CM_Get_Parent/0001-setupapi-Return-CR_NO_SUCH_DEVNODE-from-CM_Get_Paren.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Tim Wanders", "setupapi: Return CR_NO_SUCH_DEVNODE from CM_Get_Parent stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset setupapi-DiskSpaceList
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 2ea8a6a3b8e6d3ee42a6887587d49045b45677ca Mon Sep 17 00:00:00 2001
|
||||
From: Tim Wanders <timwanders241@gmail.com>
|
||||
Date: Wed, 4 Oct 2017 03:25:48 +0200
|
||||
Subject: setupapi: Return CR_NO_SUCH_DEVNODE from CM_Get_Parent stub.
|
||||
|
||||
---
|
||||
dlls/setupapi/stubs.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c
|
||||
index 54958434fb9..aafa0c131cf 100644
|
||||
--- a/dlls/setupapi/stubs.c
|
||||
+++ b/dlls/setupapi/stubs.c
|
||||
@@ -180,8 +180,8 @@ CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW( PULONG pulLen, PCWSTR pszFilter,
|
||||
DWORD WINAPI CM_Get_Parent(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags)
|
||||
{
|
||||
FIXME("%p 0x%08x 0x%08x stub\n", pdnDevInst, dnDevInst, ulFlags);
|
||||
- *pdnDevInst = dnDevInst;
|
||||
- return CR_SUCCESS;
|
||||
+ *pdnDevInst = 0;
|
||||
+ return CR_NO_SUCH_DEVNODE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [43831] Return CR_NO_SUCH_DEVNODE from CM_Get_Parent stub
|
@ -1,4 +1,4 @@
|
||||
From 36f61f25fed49c7b25384957e8435325059d21ef Mon Sep 17 00:00:00 2001
|
||||
From 4eb59ab2c6634560799be4d2fe3021f028f1e3e8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 8 Jan 2017 18:22:30 +0100
|
||||
Subject: [PATCH] user32: Add semi-stub for GetAutoRotationState.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] user32: Add semi-stub for GetAutoRotationState.
|
||||
2 files changed, 34 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
|
||||
index 2c4ff5ec8d..5b89011b62 100644
|
||||
index a018dfc..c2559e0 100644
|
||||
--- a/dlls/user32/sysparams.c
|
||||
+++ b/dlls/user32/sysparams.c
|
||||
@@ -3056,8 +3056,15 @@ DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT
|
||||
@@ -3074,8 +3074,15 @@ DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT
|
||||
*/
|
||||
BOOL WINAPI GetAutoRotationState( AR_STATE *state )
|
||||
{
|
||||
@ -31,19 +31,19 @@ index 2c4ff5ec8d..5b89011b62 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c
|
||||
index 03fa8d5940..3779323a80 100644
|
||||
index 876f84f..5096553 100644
|
||||
--- a/dlls/user32/tests/sysparams.c
|
||||
+++ b/dlls/user32/tests/sysparams.c
|
||||
@@ -42,6 +42,7 @@ static LONG (WINAPI *pChangeDisplaySettingsExA)(LPCSTR, LPDEVMODEA, HWND, DWORD,
|
||||
static BOOL (WINAPI *pIsProcessDPIAware)(void);
|
||||
static BOOL (WINAPI *pSetProcessDPIAware)(void);
|
||||
static BOOL (WINAPI *pSetProcessDpiAwarenessContext)(DPI_AWARENESS_CONTEXT);
|
||||
@@ -46,6 +46,7 @@ static DPI_AWARENESS_CONTEXT (WINAPI *pGetThreadDpiAwarenessContext)(void);
|
||||
static DPI_AWARENESS_CONTEXT (WINAPI *pSetThreadDpiAwarenessContext)(DPI_AWARENESS_CONTEXT);
|
||||
static DPI_AWARENESS_CONTEXT (WINAPI *pGetWindowDpiAwarenessContext)(HWND);
|
||||
static DPI_AWARENESS (WINAPI *pGetAwarenessFromDpiAwarenessContext)(DPI_AWARENESS_CONTEXT);
|
||||
+static LONG (WINAPI *pGetAutoRotationState)(PAR_STATE);
|
||||
|
||||
static BOOL strict;
|
||||
static int dpi, real_dpi;
|
||||
@@ -3030,6 +3031,28 @@ static void test_dpi_aware(void)
|
||||
test_GetSystemMetrics();
|
||||
@@ -3125,6 +3126,28 @@ static void test_window_dpi(void)
|
||||
pSetThreadDpiAwarenessContext( orig );
|
||||
}
|
||||
|
||||
+static void test_GetAutoRotationState(void)
|
||||
@ -71,15 +71,15 @@ index 03fa8d5940..3779323a80 100644
|
||||
START_TEST(sysparams)
|
||||
{
|
||||
int argc;
|
||||
@@ -3045,6 +3068,7 @@ START_TEST(sysparams)
|
||||
pIsProcessDPIAware = (void*)GetProcAddress(hdll, "IsProcessDPIAware");
|
||||
pSetProcessDPIAware = (void*)GetProcAddress(hdll, "SetProcessDPIAware");
|
||||
pSetProcessDpiAwarenessContext = (void*)GetProcAddress(hdll, "SetProcessDpiAwarenessContext");
|
||||
@@ -3144,6 +3167,7 @@ START_TEST(sysparams)
|
||||
pSetThreadDpiAwarenessContext = (void*)GetProcAddress(hdll, "SetThreadDpiAwarenessContext");
|
||||
pGetWindowDpiAwarenessContext = (void*)GetProcAddress(hdll, "GetWindowDpiAwarenessContext");
|
||||
pGetAwarenessFromDpiAwarenessContext = (void*)GetProcAddress(hdll, "GetAwarenessFromDpiAwarenessContext");
|
||||
+ pGetAutoRotationState = (void*)GetProcAddress(hdll, "GetAutoRotationState");
|
||||
|
||||
hInstance = GetModuleHandleA( NULL );
|
||||
hdc = GetDC(0);
|
||||
@@ -3066,6 +3090,7 @@ START_TEST(sysparams)
|
||||
@@ -3165,6 +3189,7 @@ START_TEST(sysparams)
|
||||
trace("testing EnumDisplaySettings vs GetDeviceCaps\n");
|
||||
test_EnumDisplaySettings( );
|
||||
test_GetSysColorBrush( );
|
||||
@ -88,5 +88,5 @@ index 03fa8d5940..3779323a80 100644
|
||||
change_counter = 0;
|
||||
change_last_param = 0;
|
||||
--
|
||||
2.16.2
|
||||
2.7.4
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user