diff --git a/patches/gdi32-Path_Metafile/0001-gdi32-Add-support-for-paths-on-a-metafile-HDC.patch b/patches/gdi32-Path_Metafile/0001-gdi32-Add-support-for-paths-on-a-metafile-HDC.patch index 775a22a8..b895b864 100644 --- a/patches/gdi32-Path_Metafile/0001-gdi32-Add-support-for-paths-on-a-metafile-HDC.patch +++ b/patches/gdi32-Path_Metafile/0001-gdi32-Add-support-for-paths-on-a-metafile-HDC.patch @@ -1,4 +1,4 @@ -From 6092670380abae9d9e773d6c8d75b55c5fe8be80 Mon Sep 17 00:00:00 2001 +From 58997b0ea80c550b399bddb5d2a1629ec8c5c6b5 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 18 Feb 2016 12:18:01 +0100 Subject: gdi32: Add support for paths on a metafile HDC. @@ -74,18 +74,18 @@ index e09cd0b..166b6b2 100644 if (!count) return TRUE; if (flags & ETO_GLYPH_INDEX) ggo_flags |= GGO_GLYPH_INDEX; diff --git a/dlls/gdi32/tests/metafile.c b/dlls/gdi32/tests/metafile.c -index 6804a96..07dac13 100644 +index f464720..865853e 100644 --- a/dlls/gdi32/tests/metafile.c +++ b/dlls/gdi32/tests/metafile.c -@@ -3386,7 +3386,7 @@ static void test_emf_GetPath(void) +@@ -3422,7 +3422,7 @@ static void test_emf_GetPath(void) EndPath(hdcMetafile); size = GetPath(hdcMetafile, NULL, NULL, 0); -- todo_wine ok( size == 5, "GetPath returned %d.\n", size); -+ ok( size == 5, "GetPath returned %d.\n", size); +- todo_wine ok( size == 9, "GetPath returned %d.\n", size); ++ ok( size == 9, "GetPath returned %d.\n", size); hemf = CloseEnhMetaFile(hdcMetafile); ok(hemf != 0, "CloseEnhMetaFile error %d\n", GetLastError()); -- -2.7.1 +2.7.0 diff --git a/patches/msvcr120-strof/0001-msvcr120-Implement-strtof-and-_strtof_l-try-3.patch b/patches/msvcr120-strof/0001-msvcr120-Implement-strtof-and-_strtof_l-try-3.patch deleted file mode 100644 index e5e4f7e5..00000000 --- a/patches/msvcr120-strof/0001-msvcr120-Implement-strtof-and-_strtof_l-try-3.patch +++ /dev/null @@ -1,218 +0,0 @@ -From 3643749b0652684231f2c3d7b522abac4adc239d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bernhard=20=C3=9Cbelacker?= -Date: Fri, 14 Aug 2015 04:44:07 +0200 -Subject: msvcr120: Implement strtof and _strtof_l (try 3) - -SuperTux 0.3.5a needs msvcr120.strtof. -Found during research for bug #39034. - -Changes try 3: -- Avoid almost_equal with float, instead use compare_float from ddraw7 tests - (thanks Henri Verbeet) -- Used functions should be available in all versions of msvcr120; - therefore avoid the win_skips. (thanks Piotr Caban) - -Changes try 2: -- In the test replaced the bit pattern comparison to detect - infinity by msvcr120._finite - (thanks Piotr Caban; _finitef is just available at arm and x86_64) - -A note to the tests: -It seems because the functions get dynamically loaded the functions -_errno() and p__errno() returning different variables. -Therefore using also the dynamically loaded p__errno() in tests. -The executable built via make crosstest is linked against msvcrt.dll. ---- - dlls/msvcr120/msvcr120.spec | 4 +-- - dlls/msvcr120/tests/msvcr120.c | 69 +++++++++++++++++++++++++++++++++++++ - dlls/msvcr120_app/msvcr120_app.spec | 4 +-- - dlls/msvcrt/string.c | 16 +++++++++ - 4 files changed, 89 insertions(+), 4 deletions(-) - -diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec -index 9931820..330a83f 100644 ---- a/dlls/msvcr120/msvcr120.spec -+++ b/dlls/msvcr120/msvcr120.spec -@@ -1731,7 +1731,7 @@ - @ cdecl _strtime(ptr) MSVCRT__strtime - @ cdecl _strtime_s(ptr long) - @ cdecl _strtod_l(str ptr ptr) MSVCRT_strtod_l --@ stub _strtof_l -+@ cdecl _strtof_l(str ptr ptr) MSVCRT_strtof_l - @ cdecl -ret64 _strtoi64(str ptr long) MSVCRT_strtoi64 - @ cdecl -ret64 _strtoi64_l(str ptr long ptr) MSVCRT_strtoi64_l - @ stub _strtoimax_l -@@ -2386,7 +2386,7 @@ - @ cdecl strspn(str str) ntdll.strspn - @ cdecl strstr(str str) MSVCRT_strstr - @ cdecl strtod(str ptr) MSVCRT_strtod --@ stub strtof -+@ cdecl strtof(str ptr) MSVCRT_strtof - @ stub strtoimax - @ cdecl strtok(str str) MSVCRT_strtok - @ cdecl strtok_s(ptr str ptr) MSVCRT_strtok_s -diff --git a/dlls/msvcr120/tests/msvcr120.c b/dlls/msvcr120/tests/msvcr120.c -index aa78c4f..bce8aff 100644 ---- a/dlls/msvcr120/tests/msvcr120.c -+++ b/dlls/msvcr120/tests/msvcr120.c -@@ -21,6 +21,8 @@ - #include - #include - #include -+#include -+#include - - #include - #include -@@ -73,6 +75,11 @@ struct MSVCRT_lconv - wchar_t* _W_negative_sign; - }; - -+static inline BOOL almost_equal(float d1, float d2) -+{ -+ return (d1-d2 > -1e-15 && d1-d2 < 1e-15); -+} -+ - static char* (CDECL *p_setlocale)(int category, const char* locale); - static struct MSVCRT_lconv* (CDECL *p_localeconv)(void); - static size_t (CDECL *p_wcstombs_s)(size_t *ret, char* dest, size_t sz, const wchar_t* src, size_t max); -@@ -83,6 +90,8 @@ static wchar_t** (CDECL *p____lc_locale_name_func)(void); - static unsigned int (CDECL *p__GetConcurrency)(void); - static void* (CDECL *p__W_Gettnames)(void); - static void (CDECL *p_free)(void*); -+static float (CDECL *p__strtof_l)(const char *, char **, _locale_t); -+static float (CDECL *p_strtof)(const char *, char **); - - static BOOL init(void) - { -@@ -105,6 +114,8 @@ static BOOL init(void) - p__GetConcurrency = (void*)GetProcAddress(module,"?_GetConcurrency@details@Concurrency@@YAIXZ"); - p__W_Gettnames = (void*)GetProcAddress(module, "_W_Gettnames"); - p_free = (void*)GetProcAddress(module, "free"); -+ p__strtof_l = (void*)GetProcAddress(module, "_strtof_l"); -+ p_strtof = (void*)GetProcAddress(module, "strtof"); - return TRUE; - } - -@@ -321,6 +332,63 @@ static void test__W_Gettnames(void) - p_setlocale(LC_ALL, "C"); - } - -+static void test__strtof(void) -+{ -+ const char float1[] = "12.1"; -+ const char float2[] = "3.402823466e+38"; /* FLT_MAX */ -+ const char float3[] = "-3.402823466e+38"; -+ const char float4[] = "1.7976931348623158e+308"; /* DBL_MAX */ -+ const char float5[] = "-1.7976931348623158e+308"; -+ -+ char *end; -+ float f; -+ -+ f = FLT_MAX * FLT_MAX; -+ ok(_finite(f) == 0, "_finite failed\n"); -+ -+ /* strtof */ -+ f = p_strtof(float1, &end); -+ ok(almost_equal(f, 12.1), "f = %lf\n", f); -+ ok(end == float1+4, "incorrect end (%d)\n", (int)(end-float1)); -+ -+ f = p_strtof(float2, &end); -+ ok(almost_equal(f, FLT_MAX), "f = %lf\n", f); -+ ok(end == float2+15, "incorrect end (%d)\n", (int)(end-float2)); -+ -+ f = p_strtof(float3, &end); -+ ok(almost_equal(f, -FLT_MAX), "f = %lf\n", f); -+ ok(end == float3+16, "incorrect end (%d)\n", (int)(end-float3)); -+ -+ f = p_strtof(float4, &end); -+ ok(_finite(f) == 0, "f = %lf\n", f); -+ ok(end == float4+23, "incorrect end (%d)\n", (int)(end-float4)); -+ -+ f = p_strtof(float5, &end); -+ ok(_finite(f) == 0, "f = %lf\n", f); -+ ok(end == float5+24, "incorrect end (%d)\n", (int)(end-float5)); -+ -+ /* _strtof_l */ -+ f = p__strtof_l(float1, &end, NULL); -+ ok(almost_equal(f, 12.1), "f = %lf\n", f); -+ ok(end == float1+4, "incorrect end (%d)\n", (int)(end-float1)); -+ -+ f = p__strtof_l(float2, &end, NULL); -+ ok(almost_equal(f, FLT_MAX), "f = %lf\n", f); -+ ok(end == float2+15, "incorrect end (%d)\n", (int)(end-float2)); -+ -+ f = p__strtof_l(float3, &end, NULL); -+ ok(almost_equal(f, -FLT_MAX), "f = %lf\n", f); -+ ok(end == float3+16, "incorrect end (%d)\n", (int)(end-float3)); -+ -+ f = p__strtof_l(float4, &end, NULL); -+ ok(_finite(f) == 0, "f = %lf\n", f); -+ ok(end == float4+23, "incorrect end (%d)\n", (int)(end-float4)); -+ -+ f = p__strtof_l(float5, &end, NULL); -+ ok(_finite(f) == 0, "f = %lf\n", f); -+ ok(end == float5+24, "incorrect end (%d)\n", (int)(end-float5)); -+} -+ - START_TEST(msvcr120) - { - if (!init()) return; -@@ -330,4 +398,5 @@ START_TEST(msvcr120) - test____lc_locale_name_func(); - test__GetConcurrency(); - test__W_Gettnames(); -+ test__strtof(); - } -diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec -index 50066ed..28c929d 100644 ---- a/dlls/msvcr120_app/msvcr120_app.spec -+++ b/dlls/msvcr120_app/msvcr120_app.spec -@@ -1442,7 +1442,7 @@ - @ cdecl _strtime(ptr) msvcr120._strtime - @ cdecl _strtime_s(ptr long) msvcr120._strtime_s - @ cdecl _strtod_l(str ptr ptr) msvcr120._strtod_l --@ stub _strtof_l -+@ cdecl _strtof_l(str ptr ptr) msvcr120._strtof_l - @ cdecl -ret64 _strtoi64(str ptr long) msvcr120._strtoi64 - @ cdecl -ret64 _strtoi64_l(str ptr long ptr) msvcr120._strtoi64_l - @ stub _strtoimax_l -@@ -2049,7 +2049,7 @@ - @ cdecl strspn(str str) msvcr120.strspn - @ cdecl strstr(str str) msvcr120.strstr - @ cdecl strtod(str ptr) msvcr120.strtod --@ stub strtof -+@ cdecl strtof(str ptr) msvcr120.strtof - @ stub strtoimax - @ cdecl strtok(str str) msvcr120.strtok - @ cdecl strtok_s(ptr str ptr) msvcr120.strtok_s -diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c -index f44ac52..9961549 100644 ---- a/dlls/msvcrt/string.c -+++ b/dlls/msvcrt/string.c -@@ -497,6 +497,22 @@ double CDECL MSVCRT_strtod( const char *str, char **end ) - } - - /********************************************************************* -+ * strtof_l (MSVCRT.@) -+ */ -+float CDECL MSVCRT_strtof_l( const char *str, char **end, MSVCRT__locale_t locale ) -+{ -+ return MSVCRT_strtod_l(str, end, locale); -+} -+ -+/********************************************************************* -+ * strtof (MSVCRT.@) -+ */ -+float CDECL MSVCRT_strtof( const char *str, char **end ) -+{ -+ return MSVCRT_strtof_l(str, end, NULL); -+} -+ -+/********************************************************************* - * atof (MSVCRT.@) - */ - double CDECL MSVCRT_atof( const char *str ) --- -2.6.4 - diff --git a/patches/msvcr120-strof/definition b/patches/msvcr120-strof/definition deleted file mode 100644 index a2018e3d..00000000 --- a/patches/msvcr120-strof/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [39908] Implement msvcr120.strtof and _strtof_l diff --git a/patches/ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch b/patches/ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch index 87e483aa..602cb818 100644 --- a/patches/ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch +++ b/patches/ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-NtQuery.patch @@ -1,4 +1,4 @@ -From f94504464e6c2ec7a2071912536ca444c38c6996 Mon Sep 17 00:00:00 2001 +From ed679be63daa15df932fa6aae550af4c11a4a66d Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Tue, 19 Aug 2014 22:10:49 -0600 Subject: ntdll: Implement retrieving DOS attributes in NtQueryInformationFile. @@ -13,14 +13,18 @@ Subject: ntdll: Implement retrieving DOS attributes in NtQueryInformationFile. create mode 100644 libs/port/xattr.c diff --git a/configure.ac b/configure.ac -index 2fa4dcc..3c91af3 100644 +index c9445e7..e118600 100644 --- a/configure.ac +++ b/configure.ac -@@ -77,2 +77,3 @@ AC_ARG_WITH(tiff, AS_HELP_STRING([--without-tiff],[do not use TIFF])) +@@ -76,6 +76,7 @@ AC_ARG_WITH(pulse, AS_HELP_STRING([--without-pulse],[do not use PulseAudio s + AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)])) + AC_ARG_WITH(tiff, AS_HELP_STRING([--without-tiff],[do not use TIFF])) AC_ARG_WITH(v4l, AS_HELP_STRING([--without-v4l],[do not use v4l1 (v4l support)])) +AC_ARG_WITH(xattr, AS_HELP_STRING([--without-xattr],[do not use xattr (security attributes support)])) AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xcomposite extension]), -@@ -667,6 +668,17 @@ AC_CHECK_HEADERS([libprocstat.h],,, + [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xcomposite_h=no; fi]) + AC_ARG_WITH(xcursor, AS_HELP_STRING([--without-xcursor],[do not use the Xcursor extension]), +@@ -674,6 +675,17 @@ AC_CHECK_HEADERS([libprocstat.h],,, #include #endif]) @@ -39,10 +43,10 @@ index 2fa4dcc..3c91af3 100644 AC_SUBST(dlldir,"\${libdir}/wine") diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index b856b3d..83d07e2 100644 +index a17151d..1f132ee 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c -@@ -103,6 +103,22 @@ mode_t FILE_umask = 0; +@@ -117,6 +117,22 @@ mode_t FILE_umask = 0; static const WCHAR ntfsW[] = {'N','T','F','S'}; @@ -65,7 +69,7 @@ index b856b3d..83d07e2 100644 /* fetch the attributes of a file */ static inline ULONG get_file_attributes( const struct stat *st ) { -@@ -120,12 +136,16 @@ static inline ULONG get_file_attributes( const struct stat *st ) +@@ -134,12 +150,16 @@ static inline ULONG get_file_attributes( const struct stat *st ) /* get the stat info and file attributes for a file (by file descriptor) */ int fd_get_file_info( int fd, struct stat *st, ULONG *attr ) { @@ -84,7 +88,7 @@ index b856b3d..83d07e2 100644 } diff --git a/include/wine/port.h b/include/wine/port.h -index 3548a44..521246b 100644 +index 2989b39..3219a8a 100644 --- a/include/wine/port.h +++ b/include/wine/port.h @@ -363,6 +363,14 @@ extern int mkstemps(char *template, int suffix_len); @@ -103,15 +107,15 @@ index 3548a44..521246b 100644 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in -index 65f1714..67efbc7 100644 +index 9d7e44f..8b41050 100644 --- a/libs/port/Makefile.in +++ b/libs/port/Makefile.in -@@ -23,4 +23,5 @@ C_SRCS = \ - strerror.c \ - strncasecmp.c \ +@@ -104,4 +104,5 @@ C_SRCS = \ symlink.c \ -- usleep.c -+ usleep.c \ + usleep.c \ + utf8.c \ +- wctomb.c ++ wctomb.c \ + xattr.c diff --git a/libs/port/xattr.c b/libs/port/xattr.c new file mode 100644 @@ -159,5 +163,5 @@ index 0000000..94b7713 +#endif +} -- -1.9.1 +2.7.0 diff --git a/patches/ntdll-Exception/0001-ntdll-Throw-exception-if-invalid-handle-is-passed-to.patch b/patches/ntdll-Exception/0001-ntdll-Throw-exception-if-invalid-handle-is-passed-to.patch index edd1c9e9..12ecb9c7 100644 --- a/patches/ntdll-Exception/0001-ntdll-Throw-exception-if-invalid-handle-is-passed-to.patch +++ b/patches/ntdll-Exception/0001-ntdll-Throw-exception-if-invalid-handle-is-passed-to.patch @@ -1,4 +1,4 @@ -From 6d37527a75b5526ecaaf2a1039b7d9aa9e7dd57b Mon Sep 17 00:00:00 2001 +From d6ce4357c4a5600f33e24df046e9a24fcfb71bf2 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 28 Sep 2014 22:42:46 +0200 Subject: ntdll: Throw exception if invalid handle is passed to NtClose and @@ -62,7 +62,7 @@ index 1279f2b..35c3672 100644 } diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c -index 94ccd7a..6fffef0 100644 +index 64f3dff..56940c3 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); @@ -73,11 +73,11 @@ index 94ccd7a..6fffef0 100644 #if defined(__x86_64__) static BOOLEAN (CDECL *pRtlAddFunctionTable)(RUNTIME_FUNCTION*, DWORD, DWORD64); -@@ -952,6 +953,16 @@ static void test_debugger(void) +@@ -963,6 +964,16 @@ static void test_debugger(void) - if (stage == 8) continuestatus = DBG_EXCEPTION_NOT_HANDLED; + if (stage == 10) continuestatus = DBG_EXCEPTION_NOT_HANDLED; } -+ else if (stage == 9 || stage == 10) ++ 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, @@ -85,12 +85,12 @@ index 94ccd7a..6fffef0 100644 + ok(de.u.Exception.ExceptionRecord.NumberParameters == 0, + "unexpected number of parameters %d, expected 0\n", de.u.Exception.ExceptionRecord.NumberParameters); + -+ if (stage == 10) continuestatus = DBG_EXCEPTION_NOT_HANDLED; ++ if (stage == 12) continuestatus = DBG_EXCEPTION_NOT_HANDLED; + } else ok(FALSE, "unexpected stage %x\n", stage); -@@ -2049,6 +2060,53 @@ static void test_debug_service(DWORD numexc) +@@ -2115,6 +2126,53 @@ static void test_breakpoint(DWORD numexc) pRtlRemoveVectoredExceptionHandler(vectored_handler); } @@ -144,7 +144,7 @@ index 94ccd7a..6fffef0 100644 static void test_vectored_continue_handler(void) { PVOID handler1, handler2; -@@ -2101,6 +2159,7 @@ START_TEST(exception) +@@ -2167,6 +2225,7 @@ START_TEST(exception) pNtGetContextThread = (void *)GetProcAddress( hntdll, "NtGetContextThread" ); pNtSetContextThread = (void *)GetProcAddress( hntdll, "NtSetContextThread" ); pNtReadVirtualMemory = (void *)GetProcAddress( hntdll, "NtReadVirtualMemory" ); @@ -152,33 +152,33 @@ index 94ccd7a..6fffef0 100644 pRtlUnwind = (void *)GetProcAddress( hntdll, "RtlUnwind" ); pRtlRaiseException = (void *)GetProcAddress( hntdll, "RtlRaiseException" ); pNtTerminateProcess = (void *)GetProcAddress( hntdll, "NtTerminateProcess" ); -@@ -2172,6 +2231,10 @@ START_TEST(exception) - test_debug_service(0); - test_stage = 8; - test_debug_service(1); -+ test_stage = 9; +@@ -2242,6 +2301,10 @@ START_TEST(exception) + test_breakpoint(0); + test_stage = 10; + test_breakpoint(1); ++ test_stage = 11; + test_closehandle(0); -+ test_stage = 10; ++ test_stage = 12; + test_closehandle(1); } else skip( "RtlRaiseException not found\n" ); -@@ -2187,6 +2250,7 @@ START_TEST(exception) - test_outputdebugstring(1, FALSE); +@@ -2258,6 +2321,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(); -@@ -2208,6 +2272,7 @@ START_TEST(exception) - test_outputdebugstring(1, FALSE); +@@ -2280,6 +2344,7 @@ START_TEST(exception) test_ripevent(1); test_debug_service(1); + test_breakpoint(1); + test_closehandle(0); test_vectored_continue_handler(); test_virtual_unwind(); -- -2.7.1 +2.7.0 diff --git a/patches/ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch b/patches/ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch index a17b91da..b4eb4e43 100644 --- a/patches/ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch +++ b/patches/ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch @@ -1,4 +1,4 @@ -From 24afda46f52586aebc91430294ff87620606ebba Mon Sep 17 00:00:00 2001 +From 6ee41ac52713ab965e458f4c86793d49980ebb21 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 28 Sep 2014 23:39:51 +0200 Subject: ntdll: OutputDebugString should throw the exception a second time, if @@ -38,10 +38,10 @@ index d4d66b2..981661b 100644 if (!mutex_inited) { diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c -index 6fffef0..d92ba2a 100644 +index 56940c3..71f5985 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c -@@ -1813,7 +1813,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce +@@ -1824,7 +1824,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce return EXCEPTION_CONTINUE_SEARCH; } @@ -50,7 +50,7 @@ index 6fffef0..d92ba2a 100644 { PVOID vectored_handler; -@@ -1829,7 +1829,6 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo) +@@ -1840,7 +1840,6 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo) outputdebugstring_exceptions = 0; OutputDebugStringA("Hello World"); @@ -58,7 +58,7 @@ index 6fffef0..d92ba2a 100644 ok(outputdebugstring_exceptions == numexc, "OutputDebugStringA generated %d exceptions, expected %d\n", outputdebugstring_exceptions, numexc); -@@ -2220,9 +2219,9 @@ START_TEST(exception) +@@ -2286,9 +2285,9 @@ START_TEST(exception) run_rtlraiseexception_test(EXCEPTION_BREAKPOINT); run_rtlraiseexception_test(EXCEPTION_INVALID_HANDLE); test_stage = 3; @@ -70,7 +70,7 @@ index 6fffef0..d92ba2a 100644 test_stage = 5; test_ripevent(0); test_stage = 6; -@@ -2247,7 +2246,7 @@ START_TEST(exception) +@@ -2317,7 +2316,7 @@ START_TEST(exception) test_exceptions(); test_rtlraiseexception(); test_debug_registers(); @@ -78,8 +78,8 @@ index 6fffef0..d92ba2a 100644 + test_outputdebugstring(1); test_ripevent(1); test_debug_service(1); - test_closehandle(0); -@@ -2269,7 +2268,7 @@ START_TEST(exception) + test_breakpoint(1); +@@ -2340,7 +2339,7 @@ START_TEST(exception) "RtlLookupFunctionEntry" ); test_debug_registers(); @@ -87,7 +87,7 @@ index 6fffef0..d92ba2a 100644 + test_outputdebugstring(1); test_ripevent(1); test_debug_service(1); - test_closehandle(0); + test_breakpoint(1); -- -2.7.1 +2.7.0 diff --git a/patches/ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch b/patches/ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch index e260f4dc..b4bee3f9 100644 --- a/patches/ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch +++ b/patches/ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch @@ -1,26 +1,42 @@ -From ac6a2310dd3423f6129a930778713fb418d3ed53 Mon Sep 17 00:00:00 2001 +From 1fe20d7d5b0293e8280912766c21b207a1d45566 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 4 Oct 2014 02:35:44 +0200 Subject: ntdll: Trigger write watches before passing userdata pointer to wait_reply. --- - dlls/advapi32/tests/security.c | 1 - + dlls/advapi32/tests/security.c | 3 --- dlls/ntdll/server.c | 8 ++++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index 3e1ced0..fbc1bb8 100644 +index 8b86d45..42a55c1 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c -@@ -1447,7 +1447,6 @@ todo_wine - todo_wine - ok(!ret && err == ERROR_INSUFFICIENT_BUFFER, "AccessCheck should have " +@@ -1488,7 +1488,6 @@ todo_wine "failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err); + todo_wine + ok(PrivSetLen == sizeof(PRIVILEGE_SET), "PrivSetLen returns %d\n", PrivSetLen); -todo_wine ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); +@@ -1504,7 +1503,6 @@ todo_wine + "failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err); + todo_wine + ok(PrivSetLen == sizeof(PRIVILEGE_SET), "PrivSetLen returns %d\n", PrivSetLen); +-todo_wine + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, + "Access and/or AccessStatus were changed!\n"); + +@@ -1605,7 +1603,6 @@ todo_wine + "failed with ERROR_INSUFFICIENT_BUFFER, instead of %d\n", err); + todo_wine + ok(PrivSetLen == sizeof(PRIVILEGE_SET), "PrivSetLen returns %d\n", PrivSetLen); +- todo_wine + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, + "Access and/or AccessStatus were changed!\n"); + diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c index 356d631..de9c186 100644 --- a/dlls/ntdll/server.c @@ -41,5 +57,5 @@ index 356d631..de9c186 100644 ret = send_request( req ); if (!ret) ret = wait_reply( req ); -- -2.7.1 +2.7.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 58a127ac..69fc43b2 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "d0b88e7454b72afa5c8317b46ea0d924edff9411" + echo "c26284168ccf53e657bdfbedffd4ef13698688c8" } # Show version information @@ -186,7 +186,6 @@ patch_enable_all () enable_mshtml_HTMLLocation_put_hash="$1" enable_msidb_Implementation="$1" enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" - enable_msvcr120_strof="$1" enable_msvcrt_Math_Precision="$1" enable_msvcrt_StdHandle_RefCount="$1" enable_ntdll_APC_Performance="$1" @@ -703,9 +702,6 @@ patch_enable () msvcr120-_SetWinRTOutOfMemoryExceptionCallback) enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$2" ;; - msvcr120-strof) - enable_msvcr120_strof="$2" - ;; msvcrt-Math_Precision) enable_msvcrt_Math_Precision="$2" ;; @@ -4344,21 +4340,6 @@ if test "$enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback" -eq 1; then ) >> "$patchlist" fi -# Patchset msvcr120-strof -# | -# | This patchset fixes the following Wine bugs: -# | * [#39908] Implement msvcr120.strtof and _strtof_l -# | -# | Modified files: -# | * dlls/msvcr120/msvcr120.spec, dlls/msvcr120/tests/msvcr120.c, dlls/msvcr120_app/msvcr120_app.spec, dlls/msvcrt/string.c -# | -if test "$enable_msvcr120_strof" -eq 1; then - patch_apply msvcr120-strof/0001-msvcr120-Implement-strtof-and-_strtof_l-try-3.patch - ( - echo '+ { "Bernhard Übelacker", "msvcr120: Implement strtof and _strtof_l.", 3 },'; - ) >> "$patchlist" -fi - # Patchset msvcrt-Math_Precision # | # | This patchset fixes the following Wine bugs: