mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 39797dcfb250c4b4497fa003ae67b873427daa37.
This commit is contained in:
parent
a6f687dcc9
commit
2672e6b4c5
@ -148,7 +148,7 @@ for more details.*
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash in Gothic 1/2 with builtin directmusic caused by wrong return value ([Wine Bug #7425](https://bugs.winehq.org/show_bug.cgi?id=7425))
|
||||
* ~~Fix crash in Gothic 1/2 with builtin directmusic caused by wrong return value~~ ([Wine Bug #7425](https://bugs.winehq.org/show_bug.cgi?id=7425))
|
||||
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
* Fix crash in clip_cursor_notify caused by uninitialized TLS ([Wine Bug #36915](https://bugs.winehq.org/show_bug.cgi?id=36915))
|
||||
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
@ -194,7 +194,7 @@ for more details.*
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SetFileInformationByHandle
|
||||
* ~~Implement SetFileInformationByHandle~~
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
@ -262,7 +262,7 @@ for more details.*
|
||||
* Support for FileFsFullSizeInformation information class
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* ~~Support for GetSystemTimes~~ ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* Support for GetVolumePathName
|
||||
* Support for H264 DXVA2 GPU video decoding through vaapi
|
||||
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
|
||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -58,6 +58,10 @@ wine-staging (1.7.45) UNRELEASED; urgency=low
|
||||
upstream).
|
||||
* Removed patch to set a valid linker version in winebuild (accepted
|
||||
upstream).
|
||||
* Removed patch to fix wrong return value in directmusic (accepted upstream).
|
||||
* Removed patch to implement support for GetSystemTimes (accepted upstream).
|
||||
* Removed patch to implement file disposition class in
|
||||
SetFileInformationByHandle (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 31 May 2015 14:46:37 +0200
|
||||
|
||||
wine-staging (1.7.44) unstable; urgency=low
|
||||
|
@ -1,25 +0,0 @@
|
||||
From c8dd8ae321e08d94954fe011de653cc333d0cbbb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 28 Feb 2015 21:24:54 +0100
|
||||
Subject: d3d8: Make IDirect3DSwapChain8::Present hotpachable.
|
||||
|
||||
---
|
||||
dlls/d3d8/swapchain.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3d8/swapchain.c b/dlls/d3d8/swapchain.c
|
||||
index 067a3e0..44fc02a 100644
|
||||
--- a/dlls/d3d8/swapchain.c
|
||||
+++ b/dlls/d3d8/swapchain.c
|
||||
@@ -86,7 +86,7 @@ static ULONG WINAPI d3d8_swapchain_Release(IDirect3DSwapChain8 *iface)
|
||||
return ref;
|
||||
}
|
||||
|
||||
-static HRESULT WINAPI d3d8_swapchain_Present(IDirect3DSwapChain8 *iface,
|
||||
+static HRESULT WINAPI DECLSPEC_HOTPATCH d3d8_swapchain_Present(IDirect3DSwapChain8 *iface,
|
||||
const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override,
|
||||
const RGNDATA *dirty_region)
|
||||
{
|
||||
--
|
||||
2.3.0
|
||||
|
@ -1 +0,0 @@
|
||||
Category: stable
|
@ -1,25 +0,0 @@
|
||||
From f5fe63051ec417248b5bd263d05b99aa506a61c5 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Jesus <00cpxxx@gmail.com>
|
||||
Date: Fri, 29 May 2015 19:05:12 +0200
|
||||
Subject: dmstyle: Return the correct variable.
|
||||
|
||||
---
|
||||
dlls/dmstyle/dmutils.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dmstyle/dmutils.c b/dlls/dmstyle/dmutils.c
|
||||
index 5008134..e551410 100644
|
||||
--- a/dlls/dmstyle/dmutils.c
|
||||
+++ b/dlls/dmstyle/dmutils.c
|
||||
@@ -213,7 +213,7 @@ HRESULT IDirectMusicUtils_IPersistStream_ParseReference (LPPERSISTSTREAM iface,
|
||||
}
|
||||
TRACE("** DM Reference End of Load ***\n");
|
||||
|
||||
- return S_OK;
|
||||
+ return hr;
|
||||
}
|
||||
|
||||
/* FOURCC to string conversion for debug messages */
|
||||
--
|
||||
2.4.2
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [7425] Fix crash in Gothic 1/2 with builtin directmusic caused by wrong return value
|
@ -1,18 +1,18 @@
|
||||
From 3762d0ebf9a69e4d53344bbed116ce370c2de7a3 Mon Sep 17 00:00:00 2001
|
||||
From 407cee7ad5b44512ec170665b78bd5243e0345d5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 26 Feb 2015 06:41:26 +0100
|
||||
Subject: kernel32: Add support for progress callback in CopyFileEx.
|
||||
|
||||
---
|
||||
dlls/kernel32/path.c | 68 +++++++++++++++++++++++++++++++++++++++++++---
|
||||
dlls/kernel32/tests/file.c | 6 ----
|
||||
2 files changed, 64 insertions(+), 10 deletions(-)
|
||||
dlls/kernel32/path.c | 66 +++++++++++++++++++++++++++++++++++++++++++---
|
||||
dlls/kernel32/tests/file.c | 6 -----
|
||||
2 files changed, 62 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c
|
||||
index eae2ca9..a3add7e 100644
|
||||
index 09b8b7f..18b28f6 100644
|
||||
--- a/dlls/kernel32/path.c
|
||||
+++ b/dlls/kernel32/path.c
|
||||
@@ -1112,6 +1112,9 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
@@ -1130,6 +1130,9 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
DWORD count;
|
||||
BOOL ret = FALSE;
|
||||
char *buffer;
|
||||
@ -22,7 +22,7 @@ index eae2ca9..a3add7e 100644
|
||||
|
||||
if (!source || !dest)
|
||||
{
|
||||
@@ -1126,7 +1129,13 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
@@ -1144,7 +1147,13 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
|
||||
TRACE("%s -> %s, %x\n", debugstr_w(source), debugstr_w(dest), flags);
|
||||
|
||||
@ -37,7 +37,7 @@ index eae2ca9..a3add7e 100644
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
||||
NULL, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
@@ -1162,9 +1171,13 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
@@ -1180,9 +1189,13 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,7 +54,7 @@ index eae2ca9..a3add7e 100644
|
||||
{
|
||||
WARN("Unable to open dest %s\n", debugstr_w(dest));
|
||||
HeapFree( GetProcessHeap(), 0, buffer );
|
||||
@@ -1172,6 +1185,31 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
@@ -1190,6 +1203,30 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -75,8 +75,7 @@ index eae2ca9..a3add7e 100644
|
||||
+ }
|
||||
+ else if (cbret == PROGRESS_CANCEL)
|
||||
+ {
|
||||
+ FILE_DISPOSITION_INFO disp;
|
||||
+ disp.DoDeleteFile = TRUE;
|
||||
+ BOOLEAN disp = TRUE;
|
||||
+ SetFileInformationByHandle( h2, FileDispositionInfo, &disp, sizeof(disp) );
|
||||
+ SetLastError( ERROR_REQUEST_ABORTED );
|
||||
+ goto done;
|
||||
@ -86,7 +85,7 @@ index eae2ca9..a3add7e 100644
|
||||
while (ReadFile( h1, buffer, buffer_size, &count, NULL ) && count)
|
||||
{
|
||||
char *p = buffer;
|
||||
@@ -1181,6 +1219,28 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
@@ -1199,6 +1236,27 @@ BOOL WINAPI CopyFileExW(LPCWSTR source, LPCWSTR dest,
|
||||
if (!WriteFile( h2, p, count, &res, NULL ) || !res) goto done;
|
||||
p += res;
|
||||
count -= res;
|
||||
@ -105,8 +104,7 @@ index eae2ca9..a3add7e 100644
|
||||
+ }
|
||||
+ else if (cbret == PROGRESS_CANCEL)
|
||||
+ {
|
||||
+ FILE_DISPOSITION_INFO disp;
|
||||
+ disp.DoDeleteFile = TRUE;
|
||||
+ BOOLEAN disp = TRUE;
|
||||
+ SetFileInformationByHandle( h2, FileDispositionInfo, &disp, sizeof(disp) );
|
||||
+ SetLastError( ERROR_REQUEST_ABORTED );
|
||||
+ goto done;
|
||||
@ -116,10 +114,10 @@ index eae2ca9..a3add7e 100644
|
||||
}
|
||||
ret = TRUE;
|
||||
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
|
||||
index 64b0b8b..d91cab4 100644
|
||||
index 53d225c..01d342d 100644
|
||||
--- a/dlls/kernel32/tests/file.c
|
||||
+++ b/dlls/kernel32/tests/file.c
|
||||
@@ -1131,23 +1131,17 @@ static void test_CopyFileEx(void)
|
||||
@@ -1137,23 +1137,17 @@ static void test_CopyFileEx(void)
|
||||
ok(hfile != INVALID_HANDLE_VALUE, "failed to open destination file, error %d\n", GetLastError());
|
||||
SetLastError(0xdeadbeef);
|
||||
retok = CopyFileExA(source, dest, copy_progress_cb, hfile, NULL, 0);
|
||||
@ -144,5 +142,5 @@ index 64b0b8b..d91cab4 100644
|
||||
|
||||
ret = DeleteFileA(source);
|
||||
--
|
||||
2.4.0
|
||||
2.4.2
|
||||
|
||||
|
@ -1,122 +0,0 @@
|
||||
From 25af9ecd4fb4120ca415afd27079b749a11b6537 Mon Sep 17 00:00:00 2001
|
||||
From: Louis Lenders <xerox_xerox2000@yahoo.co.uk>
|
||||
Date: Sun, 27 Jul 2014 11:42:28 -0600
|
||||
Subject: kernel32: Add tests for GetSystemTimes.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/time.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 77 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/time.c b/dlls/kernel32/tests/time.c
|
||||
index d205174..5b0bf69 100644
|
||||
--- a/dlls/kernel32/tests/time.c
|
||||
+++ b/dlls/kernel32/tests/time.c
|
||||
@@ -22,9 +22,11 @@
|
||||
#include "wine/test.h"
|
||||
#include "winbase.h"
|
||||
#include "winnls.h"
|
||||
+#include "winternl.h"
|
||||
|
||||
static BOOL (WINAPI *pTzSpecificLocalTimeToSystemTime)(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
|
||||
static BOOL (WINAPI *pSystemTimeToTzSpecificLocalTime)(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
|
||||
+static BOOL (WINAPI *pGetSystemTimes)(LPFILETIME, LPFILETIME, LPFILETIME);
|
||||
static int (WINAPI *pGetCalendarInfoA)(LCID,CALID,CALTYPE,LPSTR,int,LPDWORD);
|
||||
static int (WINAPI *pGetCalendarInfoW)(LCID,CALID,CALTYPE,LPWSTR,int,LPDWORD);
|
||||
static DWORD (WINAPI *pGetDynamicTimeZoneInformation)(DYNAMIC_TIME_ZONE_INFORMATION*);
|
||||
@@ -801,11 +803,85 @@ static void test_GetSystemTimePreciseAsFileTime(void)
|
||||
ok(diff < 10000 && diff > 0, "GetSystemTimePreciseAsFileTime incremented by more than 1 ms\n");
|
||||
}
|
||||
|
||||
+static void test_GetSystemTimes(void)
|
||||
+{
|
||||
+
|
||||
+ FILETIME idletime, kerneltime, usertime;
|
||||
+ int i;
|
||||
+ ULARGE_INTEGER ul1, ul2, ul3;
|
||||
+ SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION *sppi;
|
||||
+ SYSTEM_BASIC_INFORMATION sbi;
|
||||
+ ULONG ReturnLength;
|
||||
+ double total_usertime = 0.0, total_kerneltime = 0.0, total_idletime = 0.0;
|
||||
+
|
||||
+ if (!pGetSystemTimes)
|
||||
+ {
|
||||
+ win_skip("GetSystemTimes not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ todo_wine ok( pGetSystemTimes(NULL, NULL, NULL), "GetSystemTimes failed unexpectedly\n" );
|
||||
+
|
||||
+ memset( &idletime, 0x11, sizeof(idletime) );
|
||||
+ memset( &kerneltime, 0x11, sizeof(kerneltime) );
|
||||
+ memset( &usertime, 0x11, sizeof(usertime) );
|
||||
+ todo_wine ok( pGetSystemTimes(&idletime, &kerneltime , &usertime),
|
||||
+ "GetSystemTimes failed unexpectedly\n" );
|
||||
+
|
||||
+ ul1.LowPart = idletime.dwLowDateTime;
|
||||
+ ul1.HighPart = idletime.dwHighDateTime;
|
||||
+
|
||||
+ trace( "IdleTime: %f seconds\n", (double)ul1.QuadPart/10000000.0 );
|
||||
+
|
||||
+ ul2.LowPart = kerneltime.dwLowDateTime;
|
||||
+ ul2.HighPart = kerneltime.dwHighDateTime;
|
||||
+
|
||||
+ trace( "KernelTime: %f seconds\n", (double)ul2.QuadPart/10000000.0 );
|
||||
+
|
||||
+ ul3.LowPart = usertime.dwLowDateTime;
|
||||
+ ul3.HighPart = usertime.dwHighDateTime;
|
||||
+
|
||||
+ trace( "UserTime: %f seconds\n", (double)ul3.QuadPart/10000000.0 );
|
||||
+
|
||||
+ ok( !NtQuerySystemInformation(SystemBasicInformation, &sbi, sizeof(sbi), &ReturnLength),
|
||||
+ "NtQuerySystemInformation failed\n" );
|
||||
+ ok( sizeof(sbi) == ReturnLength, "Inconsistent length %d\n", ReturnLength );
|
||||
+
|
||||
+ /* Check if we have some return values */
|
||||
+ trace( "Number of Processors : %d\n", sbi.NumberOfProcessors );
|
||||
+ ok( sbi.NumberOfProcessors > 0, "Expected more than 0 processors, got %d\n",
|
||||
+ sbi.NumberOfProcessors );
|
||||
+
|
||||
+ sppi = HeapAlloc( GetProcessHeap(), 0,
|
||||
+ sizeof(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION) * sbi.NumberOfProcessors);
|
||||
+
|
||||
+ ok( !NtQuerySystemInformation( SystemProcessorPerformanceInformation, sppi,
|
||||
+ sizeof(*sppi), &ReturnLength),
|
||||
+ "NtQuerySystemInformation failed\n" );
|
||||
+
|
||||
+ for (i = 0; i < sbi.NumberOfProcessors; i++)
|
||||
+ {
|
||||
+ total_usertime += (double)(sppi[i].UserTime.QuadPart)/10000000.0;
|
||||
+ total_kerneltime += (double)(sppi[i].KernelTime.QuadPart)/10000000.0;
|
||||
+ total_idletime += (double)(sppi[i].IdleTime.QuadPart)/10000000.0;
|
||||
+ }
|
||||
+
|
||||
+ trace( "total_idletime %f total_kerneltime %f total_usertime %f \n", total_idletime,
|
||||
+ total_kerneltime, total_usertime );
|
||||
+
|
||||
+ todo_wine ok( (total_idletime - (double)ul1.QuadPart/10000000.0) < 1.0, "test idletime failed\n" );
|
||||
+ todo_wine ok( (total_kerneltime - (double)ul2.QuadPart/10000000.0) < 1.0, "test kerneltime failed\n" );
|
||||
+ todo_wine ok( (total_usertime - (double)ul3.QuadPart/10000000.0) < 1.0, "test usertime failed\n" );
|
||||
+
|
||||
+ HeapFree(GetProcessHeap(), 0, sppi);
|
||||
+}
|
||||
+
|
||||
START_TEST(time)
|
||||
{
|
||||
HMODULE hKernel = GetModuleHandleA("kernel32");
|
||||
pTzSpecificLocalTimeToSystemTime = (void *)GetProcAddress(hKernel, "TzSpecificLocalTimeToSystemTime");
|
||||
pSystemTimeToTzSpecificLocalTime = (void *)GetProcAddress( hKernel, "SystemTimeToTzSpecificLocalTime");
|
||||
+ pGetSystemTimes = (void *)GetProcAddress( hKernel, "GetSystemTimes");
|
||||
pGetCalendarInfoA = (void *)GetProcAddress(hKernel, "GetCalendarInfoA");
|
||||
pGetCalendarInfoW = (void *)GetProcAddress(hKernel, "GetCalendarInfoW");
|
||||
pGetDynamicTimeZoneInformation = (void *)GetProcAddress(hKernel, "GetDynamicTimeZoneInformation");
|
||||
@@ -817,6 +893,7 @@ START_TEST(time)
|
||||
test_FileTimeToSystemTime();
|
||||
test_FileTimeToLocalFileTime();
|
||||
test_TzSpecificLocalTimeToSystemTime();
|
||||
+ test_GetSystemTimes();
|
||||
test_FileTimeToDosDateTime();
|
||||
test_GetCalendarInfo();
|
||||
test_GetDynamicTimeZoneInformation();
|
||||
--
|
||||
2.4.0
|
||||
|
@ -1,121 +0,0 @@
|
||||
From eaccccc716b398e0841c5f2e7de5ba6cea3666ab Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sun, 27 Jul 2014 12:38:29 -0600
|
||||
Subject: kernel32: Implement GetSystemTimes. (try 3)
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/time.c | 12 ++++-----
|
||||
dlls/kernel32/time.c | 62 ++++++++++++++++++++++++++++++++++++++++++++--
|
||||
2 files changed, 66 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/time.c b/dlls/kernel32/tests/time.c
|
||||
index c524343..63ab35a 100644
|
||||
--- a/dlls/kernel32/tests/time.c
|
||||
+++ b/dlls/kernel32/tests/time.c
|
||||
@@ -751,13 +751,13 @@ static void test_GetSystemTimes(void)
|
||||
return;
|
||||
}
|
||||
|
||||
- todo_wine ok( pGetSystemTimes(NULL, NULL, NULL), "GetSystemTimes failed unexpectedly\n" );
|
||||
+ ok( pGetSystemTimes(NULL, NULL, NULL), "GetSystemTimes failed unexpectedly\n" );
|
||||
|
||||
memset( &idletime, 0x11, sizeof(idletime) );
|
||||
memset( &kerneltime, 0x11, sizeof(kerneltime) );
|
||||
memset( &usertime, 0x11, sizeof(usertime) );
|
||||
- todo_wine ok( pGetSystemTimes(&idletime, &kerneltime , &usertime),
|
||||
- "GetSystemTimes failed unexpectedly\n" );
|
||||
+ ok( pGetSystemTimes(&idletime, &kerneltime , &usertime),
|
||||
+ "GetSystemTimes failed unexpectedly\n" );
|
||||
|
||||
ul1.LowPart = idletime.dwLowDateTime;
|
||||
ul1.HighPart = idletime.dwHighDateTime;
|
||||
@@ -800,9 +800,9 @@ static void test_GetSystemTimes(void)
|
||||
trace( "total_idletime %f total_kerneltime %f total_usertime %f \n", total_idletime,
|
||||
total_kerneltime, total_usertime );
|
||||
|
||||
- todo_wine ok( (total_idletime - (double)ul1.QuadPart/10000000.0) < 1.0, "test idletime failed\n" );
|
||||
- todo_wine ok( (total_kerneltime - (double)ul2.QuadPart/10000000.0) < 1.0, "test kerneltime failed\n" );
|
||||
- todo_wine ok( (total_usertime - (double)ul3.QuadPart/10000000.0) < 1.0, "test usertime failed\n" );
|
||||
+ ok( (total_idletime - (double)ul1.QuadPart/10000000.0) < 1.0, "test idletime failed\n" );
|
||||
+ ok( (total_kerneltime - (double)ul2.QuadPart/10000000.0) < 1.0, "test kerneltime failed\n" );
|
||||
+ ok( (total_usertime - (double)ul3.QuadPart/10000000.0) < 1.0, "test usertime failed\n" );
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, sppi);
|
||||
}
|
||||
diff --git a/dlls/kernel32/time.c b/dlls/kernel32/time.c
|
||||
index 21ac120..b877adc 100644
|
||||
--- a/dlls/kernel32/time.c
|
||||
+++ b/dlls/kernel32/time.c
|
||||
@@ -1090,9 +1090,67 @@ BOOL WINAPI FileTimeToDosDateTime( const FILETIME *ft, LPWORD fatdate,
|
||||
*/
|
||||
BOOL WINAPI GetSystemTimes(LPFILETIME lpIdleTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime)
|
||||
{
|
||||
- FIXME("(%p,%p,%p): Stub!\n", lpIdleTime, lpKernelTime, lpUserTime);
|
||||
+ LARGE_INTEGER idle_time, kernel_time, user_time;
|
||||
+ SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION *sppi;
|
||||
+ SYSTEM_BASIC_INFORMATION sbi;
|
||||
+ NTSTATUS status;
|
||||
+ ULONG ret_size;
|
||||
+ int i;
|
||||
+
|
||||
+ TRACE("(%p,%p,%p)\n", lpIdleTime, lpKernelTime, lpUserTime);
|
||||
+
|
||||
+ status = NtQuerySystemInformation( SystemBasicInformation, &sbi, sizeof(sbi), &ret_size );
|
||||
+ if (status != STATUS_SUCCESS)
|
||||
+ {
|
||||
+ SetLastError( RtlNtStatusToDosError(status) );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
- return FALSE;
|
||||
+ sppi = HeapAlloc( GetProcessHeap(), 0,
|
||||
+ sizeof(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION) * sbi.NumberOfProcessors);
|
||||
+ if (!sppi)
|
||||
+ {
|
||||
+ SetLastError( ERROR_OUTOFMEMORY );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ status = NtQuerySystemInformation( SystemProcessorPerformanceInformation, sppi, sizeof(*sppi) * sbi.NumberOfProcessors,
|
||||
+ &ret_size );
|
||||
+ if (status != STATUS_SUCCESS)
|
||||
+ {
|
||||
+ HeapFree( GetProcessHeap(), 0, sppi );
|
||||
+ SetLastError( RtlNtStatusToDosError(status) );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ idle_time.QuadPart = 0;
|
||||
+ kernel_time.QuadPart = 0;
|
||||
+ user_time.QuadPart = 0;
|
||||
+ for (i = 0; i < sbi.NumberOfProcessors; i++)
|
||||
+ {
|
||||
+ idle_time.QuadPart += sppi[i].IdleTime.QuadPart;
|
||||
+ kernel_time.QuadPart += sppi[i].KernelTime.QuadPart;
|
||||
+ user_time.QuadPart += sppi[i].UserTime.QuadPart;
|
||||
+ }
|
||||
+
|
||||
+ if (lpIdleTime)
|
||||
+ {
|
||||
+ lpIdleTime->dwLowDateTime = idle_time.u.LowPart;
|
||||
+ lpIdleTime->dwHighDateTime = idle_time.u.HighPart;
|
||||
+ }
|
||||
+ if (lpKernelTime)
|
||||
+ {
|
||||
+ lpKernelTime->dwLowDateTime = kernel_time.u.LowPart;
|
||||
+ lpKernelTime->dwHighDateTime = kernel_time.u.HighPart;
|
||||
+ }
|
||||
+ if (lpUserTime)
|
||||
+ {
|
||||
+ lpUserTime->dwLowDateTime = user_time.u.LowPart;
|
||||
+ lpUserTime->dwHighDateTime = user_time.u.HighPart;
|
||||
+ }
|
||||
+
|
||||
+ HeapFree( GetProcessHeap(), 0, sppi );
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
--
|
||||
2.1.0
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [19813] Support for GetSystemTimes
|
@ -1,14 +1,14 @@
|
||||
From a36a4386b6dc0356b0d5d0bf616068a282c66ac9 Mon Sep 17 00:00:00 2001
|
||||
From f8bfaee1501abb1b24d80f2221c3b55ca4a3a628 Mon Sep 17 00:00:00 2001
|
||||
From: "Olivier F. R. Dierick" <o.dierick@piezo-forte.be>
|
||||
Date: Thu, 30 Apr 2015 22:58:37 +0200
|
||||
Subject: kernel32: Implement SetFileCompletionNotificationModes as a stub.
|
||||
|
||||
---
|
||||
.../api-ms-win-core-kernel32-legacy-l1-1-0.spec | 2 +-
|
||||
dlls/kernel32/file.c | 12 ++++++++++++
|
||||
dlls/kernel32/kernel32.spec | 2 +-
|
||||
include/winbase.h | 1 +
|
||||
4 files changed, 15 insertions(+), 2 deletions(-)
|
||||
.../api-ms-win-core-kernel32-legacy-l1-1-0.spec | 2 +-
|
||||
dlls/kernel32/file.c | 10 ++++++++++
|
||||
dlls/kernel32/kernel32.spec | 2 +-
|
||||
include/winbase.h | 1 +
|
||||
4 files changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
|
||||
index f4b9050..7c196c9 100644
|
||||
@ -24,14 +24,13 @@ index f4b9050..7c196c9 100644
|
||||
@ stdcall SetMailslotInfo(long long) kernel32.SetMailslotInfo
|
||||
@ stdcall SetVolumeLabelW(wstr wstr) kernel32.SetVolumeLabelW
|
||||
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
|
||||
index 006db1c..4695c9c 100644
|
||||
index bcb21c9..3e557aa 100644
|
||||
--- a/dlls/kernel32/file.c
|
||||
+++ b/dlls/kernel32/file.c
|
||||
@@ -1037,6 +1037,18 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile )
|
||||
return FALSE;
|
||||
@@ -1041,6 +1041,16 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile )
|
||||
}
|
||||
|
||||
+
|
||||
|
||||
+/**************************************************************************
|
||||
+ * SetFileCompletionNotificationModes (KERNEL32.@)
|
||||
+ */
|
||||
@ -42,15 +41,14 @@ index 006db1c..4695c9c 100644
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
BOOL WINAPI SetFileInformationByHandle( HANDLE file, FILE_INFO_BY_HANDLE_CLASS class, VOID *info, DWORD size )
|
||||
{
|
||||
FIXME("%p %u %p %u - stub\n", file, class, info, size);
|
||||
/***********************************************************************
|
||||
* SetFileInformationByHandle (KERNEL32.@)
|
||||
*/
|
||||
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
|
||||
index 1261738..cece08e 100644
|
||||
index a0c8123..8e97cdb 100644
|
||||
--- a/dlls/kernel32/kernel32.spec
|
||||
+++ b/dlls/kernel32/kernel32.spec
|
||||
@@ -1392,7 +1392,7 @@
|
||||
@@ -1393,7 +1393,7 @@
|
||||
# @ stub SetFileAttributesTransactedW
|
||||
@ stdcall SetFileAttributesW(wstr long)
|
||||
# @ stub SetFileBandwidthReservation
|
||||
@ -60,17 +58,17 @@ index 1261738..cece08e 100644
|
||||
# @ stub SetFileIoOverlappedRange
|
||||
@ stdcall SetFilePointer(long long ptr long)
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index a8f3fb6..6fba12d 100644
|
||||
index e20a675..cc1081e 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -2377,6 +2377,7 @@ WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
|
||||
@@ -2460,6 +2460,7 @@ WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
|
||||
WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
|
||||
WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
|
||||
#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
|
||||
+WINBASEAPI BOOL WINAPI SetFileCompletionNotificationModes(HANDLE,UCHAR);
|
||||
WINBASEAPI BOOL WINAPI SetFileInformationByHandle(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
|
||||
WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
|
||||
WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
|
||||
WINADVAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
|
||||
--
|
||||
2.4.0
|
||||
2.4.2
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 1866952edae5d4adabfc2fc32c2bde930af8cbe3 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 9 Jun 2015 06:14:49 +0200
|
||||
Subject: include: Fix definition of FILE_DISPOSITION_INFO.
|
||||
|
||||
A member called DeleteFile cannot be accessed because its defined as
|
||||
DeleteFile_must_be_suffixed_with_W_or_A_in_this_context.
|
||||
---
|
||||
include/winbase.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index 4795d87..44ecc92 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -860,7 +860,7 @@ typedef struct _FILE_ALLOCATION_INFO {
|
||||
} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
|
||||
|
||||
typedef struct _FILE_DISPOSITION_INFO {
|
||||
- BOOLEAN DeleteFile;
|
||||
+ BOOLEAN DoDeleteFile;
|
||||
} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
|
||||
|
||||
typedef struct _FILE_END_OF_FILE_INFO {
|
||||
--
|
||||
2.4.2
|
||||
|
@ -1,145 +0,0 @@
|
||||
From 10d1d2f0b8cdb956ef4d8df5386a446c97451b19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 26 Feb 2015 06:08:58 +0100
|
||||
Subject: kernel32: Implement SetFileInformationByHandle.
|
||||
|
||||
---
|
||||
dlls/kernel32/file.c | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
include/winbase.h | 1 +
|
||||
2 files changed, 102 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
|
||||
index 4695c9c..bfb2a81 100644
|
||||
--- a/dlls/kernel32/file.c
|
||||
+++ b/dlls/kernel32/file.c
|
||||
@@ -48,6 +48,22 @@
|
||||
#include "wine/unicode.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
+C_ASSERT(sizeof(FILE_BASIC_INFO) == sizeof(FILE_BASIC_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_STANDARD_INFO) == sizeof(FILE_STANDARD_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_NAME_INFO) == sizeof(FILE_NAME_INFORMATION));
|
||||
+C_ASSERT(FIELD_OFFSET(FILE_RENAME_INFO, RootDirectory) == FIELD_OFFSET(FILE_RENAME_INFORMATION, RootDir));
|
||||
+C_ASSERT(sizeof(FILE_RENAME_INFO) == sizeof(FILE_RENAME_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_DISPOSITION_INFO) == sizeof(FILE_DISPOSITION_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_ALLOCATION_INFO) == sizeof(FILE_ALLOCATION_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_END_OF_FILE_INFO) == sizeof(FILE_END_OF_FILE_INFORMATION));
|
||||
+C_ASSERT(sizeof(FILE_STREAM_INFO) == sizeof(FILE_STREAM_INFORMATION));
|
||||
+/* C_ASSERT(sizeof(FILE_COMPRESSION_INFO) == sizeof(FILE_COMPRESSION_INFORMATION)); */
|
||||
+C_ASSERT(sizeof(FILE_ATTRIBUTE_TAG_INFO) == sizeof(FILE_ATTRIBUTE_TAG_INFORMATION));
|
||||
+/* C_ASSERT(sizeof(FILE_ID_BOTH_DIR_INFO) == sizeof(FILE_ID_BOTH_DIR_INFORMATION)); */
|
||||
+/* C_ASSERT(sizeof(FILE_IO_PRIORITY_HINT_INFO) == sizeof(FILE_IO_PRIORITY_HINT_INFORMATION)); */
|
||||
+C_ASSERT(sizeof(FILE_FULL_DIR_INFO) == sizeof(FILE_FULL_DIR_INFORMATION));
|
||||
+/* C_ASSERT(sizeof(FILE_ALIGNMENT_INFO) == sizeof(FILE_ALIGNMENT_INFORMATION)); */
|
||||
+
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(file);
|
||||
|
||||
/* info structure for FindFirstFile handle */
|
||||
@@ -1051,7 +1067,91 @@ BOOL WINAPI SetFileCompletionNotificationModes( HANDLE file, UCHAR flags )
|
||||
|
||||
BOOL WINAPI SetFileInformationByHandle( HANDLE file, FILE_INFO_BY_HANDLE_CLASS class, VOID *info, DWORD size )
|
||||
{
|
||||
- FIXME("%p %u %p %u - stub\n", file, class, info, size);
|
||||
+ IO_STATUS_BLOCK io;
|
||||
+ FILE_INFORMATION_CLASS ntclass;
|
||||
+ NTSTATUS status;
|
||||
+
|
||||
+ TRACE("%p %u %p %u\n", file, class, info, size);
|
||||
+
|
||||
+ switch (class)
|
||||
+ {
|
||||
+ /* make sure that the kernel32 and NT structures are identical */
|
||||
+ case FileBasicInfo:
|
||||
+ /* FILE_BASIC_INFO matches FILE_BASIC_INFORMATION */
|
||||
+ ntclass = FileBasicInformation;
|
||||
+ break;
|
||||
+ case FileStandardInfo:
|
||||
+ /* FILE_STANDARD_INFO matches FILE_STANDARD_INFORMATION */
|
||||
+ ntclass = FileStandardInformation;
|
||||
+ break;
|
||||
+ case FileNameInfo:
|
||||
+ /* FILE_NAME_INFO matches FILE_NAME_INFORMATION */
|
||||
+ ntclass = FileNameInformation;
|
||||
+ break;
|
||||
+ case FileRenameInfo:
|
||||
+ /* FILE_RENAME_INFO matches FILE_RENAME_INFORMATION,
|
||||
+ * except BOOL <-> BOOLEAN. */
|
||||
+ ntclass = FileRenameInformation;
|
||||
+ break;
|
||||
+ case FileDispositionInfo:
|
||||
+ /* FILE_DISPOSITION_INFO matches FILE_DISPOSITION_INFORMATION,
|
||||
+ * except BOOL <-> BOOLEAN. */
|
||||
+ ntclass = FileDispositionInformation;
|
||||
+ break;
|
||||
+ case FileAllocationInfo:
|
||||
+ /* FILE_ALLOCATION_INFO matches FILE_ALLOCATION_INFORMATION */
|
||||
+ ntclass = FileAllocationInformation;
|
||||
+ break;
|
||||
+ case FileEndOfFileInfo:
|
||||
+ /* FILE_END_OF_FILE_INFO matches FILE_END_OF_FILE_INFORMATION */
|
||||
+ ntclass = FileEndOfFileInformation;
|
||||
+ break;
|
||||
+ case FileStreamInfo:
|
||||
+ /* FILE_STREAM_INFO matches FILE_STREAM_INFORMATION */
|
||||
+ ntclass = FileStreamInformation;
|
||||
+ break;
|
||||
+ case FileCompressionInfo:
|
||||
+ /* FILE_COMPRESSION_INFO matches FILE_COMPRESSION_INFORMATION */
|
||||
+ ntclass = FileCompressionInformation;
|
||||
+ break;
|
||||
+ case FileAttributeTagInfo:
|
||||
+ /* FILE_ATTRIBUTE_TAG_INFO matches FILE_ATTRIBUTE_TAG_INFORMATION */
|
||||
+ ntclass = FileAttributeTagInformation;
|
||||
+ break;
|
||||
+ case FileIdBothDirectoryInfo:
|
||||
+ /* FILE_ID_BOTH_DIR_INFO matches FILE_ID_BOTH_DIR_INFORMATION */
|
||||
+ ntclass = FileIdBothDirectoryInformation;
|
||||
+ break;
|
||||
+ case FileIoPriorityHintInfo:
|
||||
+ /* FILE_IO_PRIORITY_HINT_INFO matches FILE_IO_PRIORITY_HINT_INFORMATION */
|
||||
+ ntclass = FileIoPriorityHintInformation;
|
||||
+ break;
|
||||
+ case FileFullDirectoryInfo:
|
||||
+ /* FILE_FULL_DIR_INFO matches FILE_FULL_DIR_INFORMATION */
|
||||
+ ntclass = FileFullDirectoryInformation;
|
||||
+ break;
|
||||
+ case FileAlignmentInfo:
|
||||
+ /* FILE_ALIGNMENT_INFO matches FILE_ALIGNMENT_INFORMATION */
|
||||
+ ntclass = FileAlignmentInformation;
|
||||
+ break;
|
||||
+
|
||||
+ /* do not have a NT equivalent with same structure */
|
||||
+ case FileFullDirectoryRestartInfo:
|
||||
+ case FileIdBothDirectoryRestartInfo:
|
||||
+ case FileIdExtdDirectoryInfo:
|
||||
+ case FileIdInfo:
|
||||
+ case FileRemoteProtocolInfo:
|
||||
+ case FileStorageInfo:
|
||||
+ default:
|
||||
+ FIXME("unsupported class: %u\n", class);
|
||||
+ SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ status = NtSetInformationFile( file, &io, info, size, ntclass );
|
||||
+
|
||||
+ if (status == STATUS_SUCCESS) return TRUE;
|
||||
+ SetLastError( RtlNtStatusToDosError(status) );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index 6e6da9b..0d20107 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -2466,6 +2466,7 @@ WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
|
||||
WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
|
||||
#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
|
||||
WINBASEAPI BOOL WINAPI SetFileCompletionNotificationModes(HANDLE,UCHAR);
|
||||
+WINBASEAPI BOOL WINAPI SetFileInformationByHandle(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
|
||||
WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
|
||||
WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
|
||||
WINADVAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
|
||||
--
|
||||
2.4.0
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: Implement SetFileInformationByHandle
|
||||
Depends: kernel32-SetFileCompletionNotificationMode
|
@ -1,17 +1,30 @@
|
||||
From 713c458fc172d02e041ffd04542aada8f8313880 Mon Sep 17 00:00:00 2001
|
||||
From 65b27926c9e006f41496c42886d55956047d4b69 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 7 Aug 2014 20:32:19 -0600
|
||||
Subject: server: Add support for setting file disposition information.
|
||||
|
||||
---
|
||||
dlls/ntdll/file.c | 16 ++++++++++++++++
|
||||
dlls/ntdll/tests/file.c | 12 ++----------
|
||||
server/fd.c | 30 ++++++++++++++++++++++++++++++
|
||||
server/file.c | 23 +++++++++++++++++++++++
|
||||
server/file.h | 1 +
|
||||
server/protocol.def | 6 ++++++
|
||||
6 files changed, 78 insertions(+), 10 deletions(-)
|
||||
dlls/kernel32/tests/file.c | 1 -
|
||||
dlls/ntdll/file.c | 16 ++++++++++++++++
|
||||
dlls/ntdll/tests/file.c | 13 ++-----------
|
||||
server/fd.c | 30 ++++++++++++++++++++++++++++++
|
||||
server/file.c | 23 +++++++++++++++++++++++
|
||||
server/file.h | 1 +
|
||||
server/protocol.def | 6 ++++++
|
||||
7 files changed, 78 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
|
||||
index 53d225c..dd64c91 100644
|
||||
--- a/dlls/kernel32/tests/file.c
|
||||
+++ b/dlls/kernel32/tests/file.c
|
||||
@@ -4645,7 +4645,6 @@ todo_wine
|
||||
|
||||
dispinfo.DeleteFile = TRUE;
|
||||
ret = pSetFileInformationByHandle(file, FileDispositionInfo, &dispinfo, sizeof(dispinfo));
|
||||
-todo_wine
|
||||
ok(ret, "setting FileDispositionInfo failed, error %d\n", GetLastError());
|
||||
|
||||
CloseHandle(file);
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index d081750..86063b6 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
@ -40,10 +53,18 @@ index d081750..86063b6 100644
|
||||
FIXME("Unsupported class (%d)\n", class);
|
||||
io->u.Status = STATUS_NOT_IMPLEMENTED;
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 8ec367b..874aa4d 100644
|
||||
index fed1207..9cb3bd2 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -1471,7 +1471,6 @@ static void test_file_disposition_information(void)
|
||||
@@ -1473,7 +1473,6 @@ static void test_file_disposition_information(void)
|
||||
ok( res == STATUS_INFO_LENGTH_MISMATCH, "expected STATUS_INFO_LENGTH_MISMATCH, got %x\n", res );
|
||||
fdi2 = 0x100;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi2, sizeof(fdi2), FileDispositionInformation );
|
||||
- todo_wine
|
||||
ok( res == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %x\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1488,7 +1487,6 @@ static void test_file_disposition_information(void)
|
||||
ok( res == STATUS_INVALID_INFO_CLASS || res == STATUS_NOT_IMPLEMENTED, "Unexpected NtQueryInformationFile result (expected STATUS_INVALID_INFO_CLASS, got %x)\n", res );
|
||||
fdi.DoDeleteFile = TRUE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -51,7 +72,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( res == STATUS_ACCESS_DENIED, "unexpected FileDispositionInformation result (expected STATUS_ACCESS_DENIED, got %x)\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1484,11 +1483,9 @@ static void test_file_disposition_information(void)
|
||||
@@ -1501,11 +1499,9 @@ static void test_file_disposition_information(void)
|
||||
ok( handle != INVALID_HANDLE_VALUE, "failed to create temp file\n" );
|
||||
fdi.DoDeleteFile = TRUE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -63,7 +84,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( fileDeleted, "File should have been deleted\n" );
|
||||
DeleteFileA( buffer );
|
||||
|
||||
@@ -1502,6 +1499,7 @@ static void test_file_disposition_information(void)
|
||||
@@ -1519,6 +1515,7 @@ static void test_file_disposition_information(void)
|
||||
ok( res == STATUS_CANNOT_DELETE, "unexpected FileDispositionInformation result (expected STATUS_CANNOT_DELETE, got %x)\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@ -71,7 +92,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( !fileDeleted, "File shouldn't have been deleted\n" );
|
||||
SetFileAttributesA( buffer, FILE_ATTRIBUTE_NORMAL );
|
||||
DeleteFileA( buffer );
|
||||
@@ -1512,11 +1510,9 @@ static void test_file_disposition_information(void)
|
||||
@@ -1529,11 +1526,9 @@ static void test_file_disposition_information(void)
|
||||
ok( handle != INVALID_HANDLE_VALUE, "failed to create temp file\n" );
|
||||
fdi.DoDeleteFile = TRUE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -83,7 +104,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( res == STATUS_SUCCESS, "unexpected FileDispositionInformation result (expected STATUS_SUCCESS, got %x)\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1529,7 +1525,6 @@ static void test_file_disposition_information(void)
|
||||
@@ -1546,7 +1541,6 @@ static void test_file_disposition_information(void)
|
||||
ok( handle != INVALID_HANDLE_VALUE, "failed to create temp file\n" );
|
||||
fdi.DoDeleteFile = FALSE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -91,7 +112,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( res == STATUS_SUCCESS, "unexpected FileDispositionInformation result (expected STATUS_SUCCESS, got %x)\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1544,7 +1539,6 @@ static void test_file_disposition_information(void)
|
||||
@@ -1561,7 +1555,6 @@ static void test_file_disposition_information(void)
|
||||
CloseHandle( handle );
|
||||
fdi.DoDeleteFile = FALSE;
|
||||
res = pNtSetInformationFile( handle2, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -99,7 +120,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( res == STATUS_SUCCESS, "unexpected FileDispositionInformation result (expected STATUS_SUCCESS, got %x)\n", res );
|
||||
CloseHandle( handle2 );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1559,11 +1553,9 @@ static void test_file_disposition_information(void)
|
||||
@@ -1576,11 +1569,9 @@ static void test_file_disposition_information(void)
|
||||
ok( handle != INVALID_HANDLE_VALUE, "failed to open a directory\n" );
|
||||
fdi.DoDeleteFile = TRUE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -111,7 +132,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( fileDeleted, "Directory should have been deleted\n" );
|
||||
RemoveDirectoryA( buffer );
|
||||
|
||||
@@ -1576,7 +1568,6 @@ static void test_file_disposition_information(void)
|
||||
@@ -1593,7 +1584,6 @@ static void test_file_disposition_information(void)
|
||||
RemoveDirectoryA( buffer );
|
||||
fdi.DoDeleteFile = FALSE;
|
||||
res = pNtSetInformationFile( handle, &io, &fdi, sizeof fdi, FileDispositionInformation );
|
||||
@ -119,7 +140,7 @@ index 8ec367b..874aa4d 100644
|
||||
ok( res == STATUS_SUCCESS, "unexpected FileDispositionInformation result (expected STATUS_SUCCESS, got %x)\n", res );
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@@ -1601,6 +1592,7 @@ static void test_file_disposition_information(void)
|
||||
@@ -1618,6 +1608,7 @@ static void test_file_disposition_information(void)
|
||||
buffer[dirpos] = '\0';
|
||||
CloseHandle( handle );
|
||||
fileDeleted = GetFileAttributesA( buffer ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND;
|
||||
@ -169,10 +190,10 @@ index 7c2d717..442e639 100644
|
||||
int get_unix_fd( struct fd *fd )
|
||||
{
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 792bbe0..b673bbc 100644
|
||||
index e70304f..098c705 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -741,3 +741,26 @@ DECL_HANDLER(unlock_file)
|
||||
@@ -749,3 +749,26 @@ DECL_HANDLER(unlock_file)
|
||||
release_object( file );
|
||||
}
|
||||
}
|
||||
@ -212,7 +233,7 @@ index b5e0ca7..460656f 100644
|
||||
extern int is_same_file_fd( struct fd *fd1, struct fd *fd2 );
|
||||
extern int is_fd_removable( struct fd *fd );
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index 9c4dab4..800f73c 100644
|
||||
index 9e5e416..d71f5ef 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1200,6 +1200,12 @@ enum server_fd_type
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6aeab9117090d0cca99eac5fa02363722022dec0 Mon Sep 17 00:00:00 2001
|
||||
From f6318b095ddb9969a7b2b29e2fcbad3ea02ccefb Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Fri, 17 Apr 2015 00:59:02 +0800
|
||||
Subject: ntdll/tests: Added tests to set disposition on file which is mapped
|
||||
@ -9,10 +9,10 @@ Subject: ntdll/tests: Added tests to set disposition on file which is mapped
|
||||
1 file changed, 70 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
|
||||
index 1e7edc3..89f70de 100644
|
||||
index 0bdd22f..fc6fc33 100644
|
||||
--- a/dlls/ntdll/tests/file.c
|
||||
+++ b/dlls/ntdll/tests/file.c
|
||||
@@ -1455,11 +1455,12 @@ static void test_file_disposition_information(void)
|
||||
@@ -1455,12 +1455,13 @@ static void test_file_disposition_information(void)
|
||||
{
|
||||
char tmp_path[MAX_PATH], buffer[MAX_PATH + 16];
|
||||
DWORD dirpos;
|
||||
@ -22,11 +22,12 @@ index 1e7edc3..89f70de 100644
|
||||
IO_STATUS_BLOCK io;
|
||||
FILE_DISPOSITION_INFORMATION fdi;
|
||||
BOOL fileDeleted;
|
||||
DWORD fdi2;
|
||||
+ void *ptr;
|
||||
|
||||
GetTempPathA( MAX_PATH, tmp_path );
|
||||
|
||||
@@ -1623,6 +1624,74 @@ static void test_file_disposition_information(void)
|
||||
@@ -1640,6 +1641,74 @@ static void test_file_disposition_information(void)
|
||||
todo_wine
|
||||
ok( !fileDeleted, "Directory shouldn't have been deleted\n" );
|
||||
RemoveDirectoryA( buffer );
|
||||
|
@ -55,7 +55,7 @@ version()
|
||||
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
echo " commit 714abcb7cdd8cab7d9383bded5b5426e55d98791"
|
||||
echo " commit 39797dcfb250c4b4497fa003ae67b873427daa37"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@ -87,7 +87,6 @@ patch_enable_all ()
|
||||
enable_configure_Absolute_RPATH="$1"
|
||||
enable_crypt32_CMS_Certificates="$1"
|
||||
enable_d3d11_D3D11CreateDeviceAndSwapChain="$1"
|
||||
enable_d3d8_Hotpatch="$1"
|
||||
enable_d3d9_DesktopWindow="$1"
|
||||
enable_d3d9_Skip_Tests="$1"
|
||||
enable_d3d9_Surface_Refcount="$1"
|
||||
@ -113,7 +112,6 @@ patch_enable_all ()
|
||||
enable_ddraw_IDirect3DTexture2_Load="$1"
|
||||
enable_ddraw_d3d_execute_buffer="$1"
|
||||
enable_dinput_Events="$1"
|
||||
enable_dmstyle_IPersistStream_ParseReference="$1"
|
||||
enable_dsound_EAX="$1"
|
||||
enable_dsound_Fast_Mixer="$1"
|
||||
enable_dxgi_GetDesc="$1"
|
||||
@ -136,7 +134,6 @@ patch_enable_all ()
|
||||
enable_kernel32_GetFinalPathNameByHandle="$1"
|
||||
enable_kernel32_GetLogicalProcessorInformationEx="$1"
|
||||
enable_kernel32_GetNumaProcessorNode="$1"
|
||||
enable_kernel32_GetSystemTimes="$1"
|
||||
enable_kernel32_GetVolumePathName="$1"
|
||||
enable_kernel32_InsertMode="$1"
|
||||
enable_kernel32_Named_Pipe="$1"
|
||||
@ -343,9 +340,6 @@ patch_enable ()
|
||||
d3d11-D3D11CreateDeviceAndSwapChain)
|
||||
enable_d3d11_D3D11CreateDeviceAndSwapChain="$2"
|
||||
;;
|
||||
d3d8-Hotpatch)
|
||||
enable_d3d8_Hotpatch="$2"
|
||||
;;
|
||||
d3d9-DesktopWindow)
|
||||
enable_d3d9_DesktopWindow="$2"
|
||||
;;
|
||||
@ -421,9 +415,6 @@ patch_enable ()
|
||||
dinput-Events)
|
||||
enable_dinput_Events="$2"
|
||||
;;
|
||||
dmstyle-IPersistStream_ParseReference)
|
||||
enable_dmstyle_IPersistStream_ParseReference="$2"
|
||||
;;
|
||||
dsound-EAX)
|
||||
enable_dsound_EAX="$2"
|
||||
;;
|
||||
@ -490,9 +481,6 @@ patch_enable ()
|
||||
kernel32-GetNumaProcessorNode)
|
||||
enable_kernel32_GetNumaProcessorNode="$2"
|
||||
;;
|
||||
kernel32-GetSystemTimes)
|
||||
enable_kernel32_GetSystemTimes="$2"
|
||||
;;
|
||||
kernel32-GetVolumePathName)
|
||||
enable_kernel32_GetVolumePathName="$2"
|
||||
;;
|
||||
@ -1324,9 +1312,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
if test "$enable_d3d11_D3D11CreateDeviceAndSwapChain" -gt 1; then
|
||||
abort "Patchset d3d11-D3D11CreateDeviceAndSwapChain disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_d3d8_Hotpatch" -gt 1; then
|
||||
abort "Patchset d3d8-Hotpatch disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_d3d9_Skip_Tests" -gt 1; then
|
||||
abort "Patchset d3d9-Skip_Tests disabled, but category-stable depends on that."
|
||||
fi
|
||||
@ -1569,7 +1554,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
enable_combase_String=1
|
||||
enable_configure_Absolute_RPATH=1
|
||||
enable_d3d11_D3D11CreateDeviceAndSwapChain=1
|
||||
enable_d3d8_Hotpatch=1
|
||||
enable_d3d9_Skip_Tests=1
|
||||
enable_d3d9_Surface_Refcount=1
|
||||
enable_d3drm_Specfile=1
|
||||
@ -1853,13 +1837,6 @@ if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
|
||||
enable_server_File_Permissions=1
|
||||
fi
|
||||
|
||||
if test "$enable_kernel32_SetFileInformationByHandle" -eq 1; then
|
||||
if test "$enable_kernel32_SetFileCompletionNotificationMode" -gt 1; then
|
||||
abort "Patchset kernel32-SetFileCompletionNotificationMode disabled, but kernel32-SetFileInformationByHandle depends on that."
|
||||
fi
|
||||
enable_kernel32_SetFileCompletionNotificationMode=1
|
||||
fi
|
||||
|
||||
if test "$enable_dxva2_Video_Decoder" -eq 1; then
|
||||
if test "$enable_winecfg_Staging" -gt 1; then
|
||||
abort "Patchset winecfg-Staging disabled, but dxva2-Video_Decoder depends on that."
|
||||
@ -2062,6 +2039,23 @@ if test "$enable_Staging" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Misc_ACL
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#15980] GetSecurityInfo returns NULL DACL for process object
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c
|
||||
# |
|
||||
if test "$enable_server_Misc_ACL" -eq 1; then
|
||||
patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch
|
||||
patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-CreateProcess_ACLs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -2081,23 +2075,6 @@ if test "$enable_server_CreateProcess_ACLs" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset server-Misc_ACL
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#15980] GetSecurityInfo returns NULL DACL for process object
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/tests/security.c, server/process.c, server/security.h, server/token.c
|
||||
# |
|
||||
if test "$enable_server_Misc_ACL" -eq 1; then
|
||||
patch_apply server-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch
|
||||
patch_apply server-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor ownership for processes.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "server: Add default security descriptor DACL for processes.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset advapi32-LsaLookupSids
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -2212,18 +2189,6 @@ if test "$enable_d3d11_D3D11CreateDeviceAndSwapChain" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset d3d8-Hotpatch
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/d3d8/swapchain.c
|
||||
# |
|
||||
if test "$enable_d3d8_Hotpatch" -eq 1; then
|
||||
patch_apply d3d8-Hotpatch/0001-d3d8-Make-IDirect3DSwapChain8-Present-hotpachable.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "d3d8: Make IDirect3DSwapChain8::Present hotpachable.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset d3d9-DesktopWindow
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -2619,21 +2584,6 @@ if test "$enable_dinput_Events" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset dmstyle-IPersistStream_ParseReference
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#7425] Fix crash in Gothic 1/2 with builtin directmusic caused by wrong return value
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dmstyle/dmutils.c
|
||||
# |
|
||||
if test "$enable_dmstyle_IPersistStream_ParseReference" -eq 1; then
|
||||
patch_apply dmstyle-IPersistStream_ParseReference/0001-dmstyle-Return-the-correct-variable.patch
|
||||
(
|
||||
echo '+ { "Bruno Jesus", "dmstyle: Return the correct variable.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset dsound-Fast_Mixer
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -2980,35 +2930,15 @@ if test "$enable_kernel32_CompareStringEx" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-SetFileCompletionNotificationMode
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38493] Add stub for kernel32.SetFileCompletionNotificationModes (for Steam in Win7 mode)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/kernel32/file.c,
|
||||
# | dlls/kernel32/kernel32.spec, include/winbase.h
|
||||
# |
|
||||
if test "$enable_kernel32_SetFileCompletionNotificationMode" -eq 1; then
|
||||
patch_apply kernel32-SetFileCompletionNotificationMode/0001-kernel32-Implement-SetFileCompletionNotificationMode.patch
|
||||
(
|
||||
echo '+ { "Olivier F. R. Dierick", "kernel32: Implement SetFileCompletionNotificationModes as a stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-SetFileInformationByHandle
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/file.c, include/winbase.h
|
||||
# | * include/winbase.h
|
||||
# |
|
||||
if test "$enable_kernel32_SetFileInformationByHandle" -eq 1; then
|
||||
patch_apply kernel32-SetFileInformationByHandle/0001-include-Fix-definition-of-FILE_DISPOSITION_INFO.patch
|
||||
patch_apply kernel32-SetFileInformationByHandle/0002-include-Declare-a-couple-more-file-information-class.patch
|
||||
patch_apply kernel32-SetFileInformationByHandle/0003-kernel32-Implement-SetFileInformationByHandle.patch
|
||||
patch_apply kernel32-SetFileInformationByHandle/0001-include-Declare-a-couple-more-file-information-class.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "include: Fix definition of FILE_DISPOSITION_INFO.", 1 },';
|
||||
echo '+ { "Michael Müller", "include: Declare a couple more file information class structures.", 1 },';
|
||||
echo '+ { "Michael Müller", "kernel32: Implement SetFileInformationByHandle.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@ -3041,8 +2971,8 @@ fi
|
||||
# | * [#30399] Support for NtSetInformationFile class FileRenameInformation
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/winternl.h, server/fd.c, server/file.c, server/file.h,
|
||||
# | server/protocol.def
|
||||
# | * dlls/kernel32/tests/file.c, dlls/ntdll/file.c, dlls/ntdll/tests/file.c, include/winternl.h, server/fd.c, server/file.c,
|
||||
# | server/file.h, server/protocol.def
|
||||
# |
|
||||
if test "$enable_ntdll_FileDispositionInformation" -eq 1; then
|
||||
patch_apply ntdll-FileDispositionInformation/0001-server-Keep-a-pointer-to-parent-s-fd-unix_name-in-th.patch
|
||||
@ -3137,23 +3067,6 @@ if test "$enable_kernel32_GetNumaProcessorNode" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-GetSystemTimes
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#19813] Support for GetSystemTimes
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/time.c, dlls/kernel32/time.c
|
||||
# |
|
||||
if test "$enable_kernel32_GetSystemTimes" -eq 1; then
|
||||
patch_apply kernel32-GetSystemTimes/0001-kernel32-Add-tests-for-GetSystemTimes.patch
|
||||
patch_apply kernel32-GetSystemTimes/0002-kernel32-Implement-GetSystemTimes.patch
|
||||
(
|
||||
echo '+ { "Louis Lenders", "kernel32: Add tests for GetSystemTimes.", 1 },';
|
||||
echo '+ { "Erich E. Hoover", "kernel32: Implement GetSystemTimes.", 3 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-GetVolumePathName
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -3290,6 +3203,22 @@ if test "$enable_kernel32_Profile" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-SetFileCompletionNotificationMode
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38493] Add stub for kernel32.SetFileCompletionNotificationModes (for Steam in Win7 mode)
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/kernel32/file.c,
|
||||
# | dlls/kernel32/kernel32.spec, include/winbase.h
|
||||
# |
|
||||
if test "$enable_kernel32_SetFileCompletionNotificationMode" -eq 1; then
|
||||
patch_apply kernel32-SetFileCompletionNotificationMode/0001-kernel32-Implement-SetFileCompletionNotificationMode.patch
|
||||
(
|
||||
echo '+ { "Olivier F. R. Dierick", "kernel32: Implement SetFileCompletionNotificationModes as a stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset kernel32-TimezoneInformation_Registry
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -5141,57 +5070,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
|
||||
(
|
||||
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-resource_check_usage
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/resource.c
|
||||
# |
|
||||
if test "$enable_wined3d_resource_check_usage" -eq 1; then
|
||||
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-wined3d_swapchain_present
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/swapchain.c
|
||||
# |
|
||||
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
|
||||
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Revert_PixelFormat
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5226,6 +5104,57 @@ if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-resource_check_usage
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/resource.c
|
||||
# |
|
||||
if test "$enable_wined3d_resource_check_usage" -eq 1; then
|
||||
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-wined3d_swapchain_present
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/swapchain.c
|
||||
# |
|
||||
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
|
||||
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
|
||||
(
|
||||
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CSMT_Main
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
Loading…
Reference in New Issue
Block a user