mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against bd2999db92e63f3aa8b48945503c616c28726842.
[dwmapi-DwmSetWindowAttribute] Removed patch to fake success in dwmapi.DwmSetWindowAttribute function (accepted upstream). [ntdll-NtSetLdtEntries] Partially removed patch to implement ntdll.NtSetLdtEntries (accepted upstream). [shell32-UNIXFS_get_unix_path] Removed patch to check IsWoW64Process before calling Wow64 functions in UNIXFS_get_unix_path (fixed upstream).
This commit is contained in:
parent
07d872e2bc
commit
8e5acbdae3
@ -1,25 +0,0 @@
|
||||
From 12fa52d23ad77d08100444fd04b9deaf06b5ac63 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 18 Mar 2016 04:25:59 +0100
|
||||
Subject: dwmapi: Return S_OK from DwmSetWindowAttribute function.
|
||||
|
||||
---
|
||||
dlls/dwmapi/dwmapi_main.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
|
||||
index a776cfe..7ae2dcf 100644
|
||||
--- a/dlls/dwmapi/dwmapi_main.c
|
||||
+++ b/dlls/dwmapi/dwmapi_main.c
|
||||
@@ -126,7 +126,7 @@ HRESULT WINAPI DwmSetWindowAttribute(HWND hwnd, DWORD attributenum, LPCVOID attr
|
||||
|
||||
if (!once++) FIXME("(%p, %x, %p, %x) stub\n", hwnd, attributenum, attribute, size);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
--
|
||||
2.7.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Fake success in dwmapi.DwmSetWindowAttribute function
|
@ -1,4 +1,4 @@
|
||||
From 3c92859cfaa24d7f873d7bd818c26832b856a356 Mon Sep 17 00:00:00 2001
|
||||
From 27f64eefe26b79cf7f0a0c6bc640509f759aad91 Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Thu, 22 Oct 2015 15:54:30 +0800
|
||||
Subject: ntdll: Implement FileNamesInformation class support.
|
||||
@ -8,7 +8,7 @@ Subject: ntdll: Implement FileNamesInformation class support.
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
|
||||
index 41e7115..f0e0703 100644
|
||||
index f7fa951..30e7d1d 100644
|
||||
--- a/dlls/ntdll/directory.c
|
||||
+++ b/dlls/ntdll/directory.c
|
||||
@@ -178,6 +178,7 @@ union file_directory_info
|
||||
@ -18,8 +18,8 @@ index 41e7115..f0e0703 100644
|
||||
+ FILE_NAMES_INFORMATION names;
|
||||
};
|
||||
|
||||
static BOOL show_dot_files;
|
||||
@@ -260,6 +261,8 @@ static inline unsigned int dir_info_size( FILE_INFORMATION_CLASS class, unsigned
|
||||
struct dir_data
|
||||
@@ -271,6 +272,8 @@ static inline unsigned int dir_info_size( FILE_INFORMATION_CLASS class, unsigned
|
||||
return (FIELD_OFFSET( FILE_ID_BOTH_DIRECTORY_INFORMATION, FileName[len] ) + 7) & ~7;
|
||||
case FileIdFullDirectoryInformation:
|
||||
return (FIELD_OFFSET( FILE_ID_FULL_DIRECTORY_INFORMATION, FileName[len] ) + 7) & ~7;
|
||||
@ -28,7 +28,7 @@ index 41e7115..f0e0703 100644
|
||||
default:
|
||||
assert(0);
|
||||
return 0;
|
||||
@@ -1485,6 +1488,11 @@ static union file_directory_info *append_entry( void *info_ptr, IO_STATUS_BLOCK
|
||||
@@ -1506,6 +1509,11 @@ static union file_directory_info *append_entry( struct dir_data *dir_data, void
|
||||
filename = info->id_both.FileName;
|
||||
break;
|
||||
|
||||
@ -40,7 +40,7 @@ index 41e7115..f0e0703 100644
|
||||
default:
|
||||
assert(0);
|
||||
return NULL;
|
||||
@@ -2244,6 +2252,7 @@ NTSTATUS WINAPI NtQueryDirectoryFile( HANDLE handle, HANDLE event,
|
||||
@@ -2356,6 +2364,7 @@ NTSTATUS WINAPI NtQueryDirectoryFile( HANDLE handle, HANDLE event,
|
||||
case FileFullDirectoryInformation:
|
||||
case FileIdBothDirectoryInformation:
|
||||
case FileIdFullDirectoryInformation:
|
||||
|
@ -1,82 +0,0 @@
|
||||
From 15201062dd669c30343f7d1a1157c254943267ea Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Wed, 19 Feb 2014 12:54:00 -0800
|
||||
Subject: ntdll: add NtSetLdtEntries/ZwSetLdtEntries stub (try 2)
|
||||
|
||||
---
|
||||
dlls/ntdll/nt.c | 12 ++++++++++++
|
||||
dlls/ntdll/ntdll.spec | 4 ++--
|
||||
include/ddk/wdm.h | 1 +
|
||||
include/winternl.h | 2 +-
|
||||
4 files changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
|
||||
index 73d9383..0d11037 100644
|
||||
--- a/dlls/ntdll/nt.c
|
||||
+++ b/dlls/ntdll/nt.c
|
||||
@@ -2446,3 +2446,15 @@ NTSTATUS WINAPI NtSystemDebugControl(SYSDBG_COMMAND command, PVOID inbuffer, ULO
|
||||
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
+
|
||||
+/******************************************************************************
|
||||
+ * NtSetLdtEntries (NTDLL.@)
|
||||
+ * ZwSetLdtEntries (NTDLL.@)
|
||||
+ */
|
||||
+NTSTATUS WINAPI NtSetLdtEntries(ULONG selector1, ULONG entry1_low, ULONG entry1_high,
|
||||
+ ULONG selector2, ULONG entry2_low, ULONG entry2_high)
|
||||
+{
|
||||
+ FIXME("(%u, %u, %u, %u, %u, %u): stub\n", selector1, entry1_low, entry1_high, selector2, entry2_low, entry2_high);
|
||||
+
|
||||
+ return STATUS_NOT_IMPLEMENTED;
|
||||
+}
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 5bac269..f1dafc8 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -332,7 +332,7 @@
|
||||
@ stdcall NtSetInformationToken(long long ptr long)
|
||||
@ stdcall NtSetIntervalProfile(long long)
|
||||
@ stdcall NtSetIoCompletion(ptr long ptr long long)
|
||||
-@ stub NtSetLdtEntries
|
||||
+@ stdcall NtSetLdtEntries(long long long long long long)
|
||||
@ stub NtSetLowEventPair
|
||||
@ stub NtSetLowWaitHighEventPair
|
||||
@ stub NtSetLowWaitHighThread
|
||||
@@ -1209,7 +1209,7 @@
|
||||
@ stdcall ZwSetInformationToken(long long ptr long) NtSetInformationToken
|
||||
@ stdcall ZwSetIntervalProfile(long long) NtSetIntervalProfile
|
||||
@ stdcall ZwSetIoCompletion(ptr long ptr long long) NtSetIoCompletion
|
||||
-@ stub ZwSetLdtEntries
|
||||
+@ stdcall ZwSetLdtEntries(long long long long long long) NtSetLdtEntries
|
||||
@ stub ZwSetLowEventPair
|
||||
@ stub ZwSetLowWaitHighEventPair
|
||||
@ stub ZwSetLowWaitHighThread
|
||||
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
|
||||
index 29b24e7..ef4fa80 100644
|
||||
--- a/include/ddk/wdm.h
|
||||
+++ b/include/ddk/wdm.h
|
||||
@@ -1333,6 +1333,7 @@ NTSTATUS WINAPI ZwSetInformationObject(HANDLE, OBJECT_INFORMATION_CLASS, PVOID,
|
||||
NTSTATUS WINAPI ZwSetInformationProcess(HANDLE,PROCESS_INFORMATION_CLASS,PVOID,ULONG);
|
||||
NTSTATUS WINAPI ZwSetInformationThread(HANDLE,THREADINFOCLASS,LPCVOID,ULONG);
|
||||
NTSTATUS WINAPI ZwSetIoCompletion(HANDLE,ULONG,ULONG,NTSTATUS,ULONG);
|
||||
+NTSTATUS WINAPI ZwSetLdtEntries(ULONG,ULONG,ULONG,ULONG,ULONG,ULONG);
|
||||
NTSTATUS WINAPI ZwSetSecurityObject(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
|
||||
NTSTATUS WINAPI ZwSetSystemInformation(SYSTEM_INFORMATION_CLASS,PVOID,ULONG);
|
||||
NTSTATUS WINAPI ZwSetSystemTime(const LARGE_INTEGER*,LARGE_INTEGER*);
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 5a27f94..ddc7c18 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2228,7 +2228,7 @@ NTSYSAPI NTSTATUS WINAPI NtSetInformationThread(HANDLE,THREADINFOCLASS,LPCVOID,
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetInformationToken(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,ULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetIntervalProfile(ULONG,KPROFILE_SOURCE);
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetIoCompletion(HANDLE,ULONG_PTR,ULONG_PTR,NTSTATUS,SIZE_T);
|
||||
-NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries(ULONG,LDT_ENTRY,ULONG,LDT_ENTRY);
|
||||
+NTSYSAPI NTSTATUS WINAPI NtSetLdtEntries(ULONG,ULONG,ULONG,ULONG,ULONG,ULONG);
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetLowEventPair(HANDLE);
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighEventPair(HANDLE);
|
||||
NTSYSAPI NTSTATUS WINAPI NtSetLowWaitHighThread(VOID);
|
||||
--
|
||||
2.1.3
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 211c1988706a03296da84d5b2607de3ec9e5ca68 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 29 Apr 2016 17:11:26 +0200
|
||||
Subject: ntdll: Initialize Reserved_0 bit in NtQueryInformationThread.
|
||||
|
||||
---
|
||||
dlls/ntdll/thread.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 40747d7..f6a5fbe 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -1045,6 +1045,7 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
|
||||
tdi->Entry.HighWord.Bits.Granularity = 1;
|
||||
tdi->Entry.HighWord.Bits.Default_Big = 1;
|
||||
tdi->Entry.HighWord.Bits.Type = 0x12;
|
||||
+ tdi->Entry.HighWord.Bits.Reserved_0 = 0;
|
||||
/* it has to be one of the system GDT selectors */
|
||||
if (sel != (wine_get_ds() & ~3) && sel != (wine_get_ss() & ~3))
|
||||
{
|
||||
--
|
||||
2.8.0
|
||||
|
@ -1,2 +0,0 @@
|
||||
Fixes: [26268] Add stub for NtSetLdtEntries/ZwSetLdtEntries
|
||||
Category: stable
|
@ -51,13 +51,13 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "5e6f35ffbd8795da71c6fd6cb8adc84bf8a36504"
|
||||
echo "bd2999db92e63f3aa8b48945503c616c28726842"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{
|
||||
echo "Wine Staging 1.9.9"
|
||||
echo "Wine Staging 1.9.10 (unreleased)"
|
||||
echo "Copyright (C) 2014-2016 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
@ -137,7 +137,6 @@ patch_enable_all ()
|
||||
enable_dsound_EAX="$1"
|
||||
enable_dsound_Fast_Mixer="$1"
|
||||
enable_dsound_Revert_Cleanup="$1"
|
||||
enable_dwmapi_DwmSetWindowAttribute="$1"
|
||||
enable_dxdiagn_Display_Information="$1"
|
||||
enable_dxdiagn_Enumerate_DirectSound="$1"
|
||||
enable_dxdiagn_GetChildContainer_Leaf_Nodes="$1"
|
||||
@ -312,7 +311,6 @@ patch_enable_all ()
|
||||
enable_shell32_SHFileOperation_Move="$1"
|
||||
enable_shell32_SHFileOperation_Win9x="$1"
|
||||
enable_shell32_Toolbar_Bitmaps="$1"
|
||||
enable_shell32_UNIXFS_get_unix_path="$1"
|
||||
enable_shell32_UnixFS="$1"
|
||||
enable_shlwapi_AssocGetPerceivedType="$1"
|
||||
enable_shlwapi_SHMapHandle="$1"
|
||||
@ -581,9 +579,6 @@ patch_enable ()
|
||||
dsound-Revert_Cleanup)
|
||||
enable_dsound_Revert_Cleanup="$2"
|
||||
;;
|
||||
dwmapi-DwmSetWindowAttribute)
|
||||
enable_dwmapi_DwmSetWindowAttribute="$2"
|
||||
;;
|
||||
dxdiagn-Display_Information)
|
||||
enable_dxdiagn_Display_Information="$2"
|
||||
;;
|
||||
@ -1106,9 +1101,6 @@ patch_enable ()
|
||||
shell32-Toolbar_Bitmaps)
|
||||
enable_shell32_Toolbar_Bitmaps="$2"
|
||||
;;
|
||||
shell32-UNIXFS_get_unix_path)
|
||||
enable_shell32_UNIXFS_get_unix_path="$2"
|
||||
;;
|
||||
shell32-UnixFS)
|
||||
enable_shell32_UnixFS="$2"
|
||||
;;
|
||||
@ -1813,9 +1805,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
if test "$enable_ntdll_Heap_FreeLists" -gt 1; then
|
||||
abort "Patchset ntdll-Heap_FreeLists disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_ntdll_NtSetLdtEntries" -gt 1; then
|
||||
abort "Patchset ntdll-NtSetLdtEntries disabled, but category-stable depends on that."
|
||||
fi
|
||||
if test "$enable_ntdll_Pipe_SpecialCharacters" -gt 1; then
|
||||
abort "Patchset ntdll-Pipe_SpecialCharacters disabled, but category-stable depends on that."
|
||||
fi
|
||||
@ -1925,7 +1914,6 @@ if test "$enable_category_stable" -eq 1; then
|
||||
enable_ntdll_Fix_Alignment=1
|
||||
enable_ntdll_FreeBSD_Directory=1
|
||||
enable_ntdll_Heap_FreeLists=1
|
||||
enable_ntdll_NtSetLdtEntries=1
|
||||
enable_ntdll_Pipe_SpecialCharacters=1
|
||||
enable_ntdll_RtlIpStringToAddress_Tests=1
|
||||
enable_ntdll_Threading=1
|
||||
@ -3425,18 +3413,6 @@ if test "$enable_dsound_EAX" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset dwmapi-DwmSetWindowAttribute
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/dwmapi/dwmapi_main.c
|
||||
# |
|
||||
if test "$enable_dwmapi_DwmSetWindowAttribute" -eq 1; then
|
||||
patch_apply dwmapi-DwmSetWindowAttribute/0001-dwmapi-Return-S_OK-from-DwmSetWindowAttribute-functi.patch
|
||||
(
|
||||
echo '+ { "Michael Müller", "dwmapi: Return S_OK from DwmSetWindowAttribute function.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset dxdiagn-Display_Information
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -4889,21 +4865,13 @@ fi
|
||||
|
||||
# Patchset ntdll-NtSetLdtEntries
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#26268] Add stub for NtSetLdtEntries/ZwSetLdtEntries
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/thread.c, dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, dlls/ntdll/thread.c, include/ddk/wdm.h,
|
||||
# | include/winternl.h, libs/wine/ldt.c
|
||||
# | * dlls/kernel32/tests/thread.c, dlls/ntdll/nt.c, libs/wine/ldt.c
|
||||
# |
|
||||
if test "$enable_ntdll_NtSetLdtEntries" -eq 1; then
|
||||
patch_apply ntdll-NtSetLdtEntries/0001-ntdll-add-NtSetLdtEntries-ZwSetLdtEntries-stub-try-2.patch
|
||||
patch_apply ntdll-NtSetLdtEntries/0002-ntdll-Initialize-Reserved_0-bit-in-NtQueryInformatio.patch
|
||||
patch_apply ntdll-NtSetLdtEntries/0003-ntdll-Implement-NtSetLdtEntries.patch
|
||||
patch_apply ntdll-NtSetLdtEntries/0004-libs-wine-Allow-to-modify-reserved-LDT-entries.patch
|
||||
patch_apply ntdll-NtSetLdtEntries/0001-ntdll-Implement-NtSetLdtEntries.patch
|
||||
patch_apply ntdll-NtSetLdtEntries/0002-libs-wine-Allow-to-modify-reserved-LDT-entries.patch
|
||||
(
|
||||
echo '+ { "Austin English", "ntdll: Add NtSetLdtEntries/ZwSetLdtEntries stub.", 2 },';
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Initialize Reserved_0 bit in NtQueryInformationThread.", 1 },';
|
||||
echo '+ { "Dmitry Timoshkov", "ntdll: Implement NtSetLdtEntries.", 1 },';
|
||||
echo '+ { "Dmitry Timoshkov", "libs/wine: Allow to modify reserved LDT entries.", 1 },';
|
||||
) >> "$patchlist"
|
||||
@ -6392,18 +6360,6 @@ if test "$enable_shell32_Toolbar_Bitmaps" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset shell32-UNIXFS_get_unix_path
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/shell32/shfldr_unixfs.c
|
||||
# |
|
||||
if test "$enable_shell32_UNIXFS_get_unix_path" -eq 1; then
|
||||
patch_apply shell32-UNIXFS_get_unix_path/0001-shell32-Check-IsWoW64Process-before-calling-Wow64-fu.patch
|
||||
(
|
||||
echo '+ { "Olivier F. R. Dierick", "shell32: Check IsWoW64Process before calling Wow64 functions.", 2 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset shell32-UnixFS
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bb902548f15deec4dc9d9eaaf6e78b4cbdb01f87 Mon Sep 17 00:00:00 2001
|
||||
From b46fe984533047235c49722a6e0d48960a487cdb Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 4 Dec 2015 10:36:47 +0100
|
||||
Subject: server: Introduce a new alloc_handle object callback. (v2)
|
||||
@ -74,15 +74,15 @@ index 3ff7540..7bebf13 100644
|
||||
atom_table_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/change.c b/server/change.c
|
||||
index 36a1997..6da2f63 100644
|
||||
index 7c0ca99..753bf66 100644
|
||||
--- a/server/change.c
|
||||
+++ b/server/change.c
|
||||
@@ -169,6 +169,7 @@ static const struct object_ops dir_ops =
|
||||
@@ -172,6 +172,7 @@ static const struct object_ops dir_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
+ no_alloc_handle, /* alloc_handle */
|
||||
fd_close_handle, /* close_handle */
|
||||
dir_close_handle, /* close_handle */
|
||||
dir_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/clipboard.c b/server/clipboard.c
|
||||
@ -98,7 +98,7 @@ index 7b92706..fa3aa51 100644
|
||||
no_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/completion.c b/server/completion.c
|
||||
index 759c6e2..bca0963 100644
|
||||
index 8b8983a..72dbc5b 100644
|
||||
--- a/server/completion.c
|
||||
+++ b/server/completion.c
|
||||
@@ -75,6 +75,7 @@ static const struct object_ops completion_ops =
|
||||
@ -110,7 +110,7 @@ index 759c6e2..bca0963 100644
|
||||
completion_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/console.c b/server/console.c
|
||||
index 0d98b78..37e413c 100644
|
||||
index 4d275f0..5575c9d 100644
|
||||
--- a/server/console.c
|
||||
+++ b/server/console.c
|
||||
@@ -87,6 +87,7 @@ static const struct object_ops console_input_ops =
|
||||
@ -158,7 +158,7 @@ index 2eb794a..a2c07ba 100644
|
||||
debug_ctx_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/device.c b/server/device.c
|
||||
index a8f6f5d..4fdf7ad 100644
|
||||
index 22ade88..b949548 100644
|
||||
--- a/server/device.c
|
||||
+++ b/server/device.c
|
||||
@@ -81,6 +81,7 @@ static const struct object_ops irp_call_ops =
|
||||
@ -194,7 +194,7 @@ index a8f6f5d..4fdf7ad 100644
|
||||
device_file_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/directory.c b/server/directory.c
|
||||
index 45683b9..445c35c 100644
|
||||
index 96555bb..26600f8 100644
|
||||
--- a/server/directory.c
|
||||
+++ b/server/directory.c
|
||||
@@ -67,6 +67,7 @@ static const struct object_ops object_type_ops =
|
||||
@ -214,7 +214,7 @@ index 45683b9..445c35c 100644
|
||||
directory_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/event.c b/server/event.c
|
||||
index c9a0ebb..36ea8fd 100644
|
||||
index cfc0f6a..608fafb 100644
|
||||
--- a/server/event.c
|
||||
+++ b/server/event.c
|
||||
@@ -68,6 +68,7 @@ static const struct object_ops event_ops =
|
||||
@ -234,10 +234,10 @@ index c9a0ebb..36ea8fd 100644
|
||||
no_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index 28f5346..c64132c 100644
|
||||
index 17b1b66..3e0a62b 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -212,6 +212,7 @@ static const struct object_ops fd_ops =
|
||||
@@ -217,6 +217,7 @@ static const struct object_ops fd_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -245,7 +245,7 @@ index 28f5346..c64132c 100644
|
||||
no_close_handle, /* close_handle */
|
||||
fd_destroy /* destroy */
|
||||
};
|
||||
@@ -251,6 +252,7 @@ static const struct object_ops device_ops =
|
||||
@@ -256,6 +257,7 @@ static const struct object_ops device_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -253,7 +253,7 @@ index 28f5346..c64132c 100644
|
||||
no_close_handle, /* close_handle */
|
||||
device_destroy /* destroy */
|
||||
};
|
||||
@@ -289,6 +291,7 @@ static const struct object_ops inode_ops =
|
||||
@@ -294,6 +296,7 @@ static const struct object_ops inode_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -261,7 +261,7 @@ index 28f5346..c64132c 100644
|
||||
no_close_handle, /* close_handle */
|
||||
inode_destroy /* destroy */
|
||||
};
|
||||
@@ -329,6 +332,7 @@ static const struct object_ops file_lock_ops =
|
||||
@@ -334,6 +337,7 @@ static const struct object_ops file_lock_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -270,10 +270,10 @@ index 28f5346..c64132c 100644
|
||||
no_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 15fd411..e6f3fc2 100644
|
||||
index dacb24a..fcf18e5 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
|
||||
@@ -95,6 +95,7 @@ static const struct object_ops file_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
file_open_file, /* open_file */
|
||||
@ -282,7 +282,7 @@ index 15fd411..e6f3fc2 100644
|
||||
file_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/handle.c b/server/handle.c
|
||||
index f440f9f..eb83a3b 100644
|
||||
index 37fba69..a8fd228 100644
|
||||
--- a/server/handle.c
|
||||
+++ b/server/handle.c
|
||||
@@ -133,6 +133,7 @@ static const struct object_ops handle_table_ops =
|
||||
@ -339,7 +339,7 @@ index 3a0e4b4..dc653b8 100644
|
||||
hook_table_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/mailslot.c b/server/mailslot.c
|
||||
index a0fa6e2..bff0208 100644
|
||||
index ea28825..a745a54 100644
|
||||
--- a/server/mailslot.c
|
||||
+++ b/server/mailslot.c
|
||||
@@ -89,6 +89,7 @@ static const struct object_ops mailslot_ops =
|
||||
@ -367,7 +367,7 @@ index a0fa6e2..bff0208 100644
|
||||
mailslot_device_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/mapping.c b/server/mapping.c
|
||||
index 4384cec..fc6404f 100644
|
||||
index fe30450..a612766 100644
|
||||
--- a/server/mapping.c
|
||||
+++ b/server/mapping.c
|
||||
@@ -94,6 +94,7 @@ static const struct object_ops mapping_ops =
|
||||
@ -379,7 +379,7 @@ index 4384cec..fc6404f 100644
|
||||
mapping_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/mutex.c b/server/mutex.c
|
||||
index ca0da59..3598ac9 100644
|
||||
index 3693095..e96bfd0 100644
|
||||
--- a/server/mutex.c
|
||||
+++ b/server/mutex.c
|
||||
@@ -71,6 +71,7 @@ static const struct object_ops mutex_ops =
|
||||
@ -391,7 +391,7 @@ index ca0da59..3598ac9 100644
|
||||
mutex_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/named_pipe.c b/server/named_pipe.c
|
||||
index 1e4169d..ade9165 100644
|
||||
index 0661c12..eb0696e 100644
|
||||
--- a/server/named_pipe.c
|
||||
+++ b/server/named_pipe.c
|
||||
@@ -135,6 +135,7 @@ static const struct object_ops named_pipe_ops =
|
||||
@ -427,10 +427,10 @@ index 1e4169d..ade9165 100644
|
||||
named_pipe_device_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/object.c b/server/object.c
|
||||
index b8be122..8310067 100644
|
||||
index ad22ec1..f5d7d9f 100644
|
||||
--- a/server/object.c
|
||||
+++ b/server/object.c
|
||||
@@ -563,6 +563,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
|
||||
@@ -652,6 +652,10 @@ struct object *no_open_file( struct object *obj, unsigned int access, unsigned i
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -442,10 +442,10 @@ index b8be122..8310067 100644
|
||||
{
|
||||
return 1; /* ok to close */
|
||||
diff --git a/server/object.h b/server/object.h
|
||||
index c4bc40b..16bf089 100644
|
||||
index 687f730..f82fb67 100644
|
||||
--- a/server/object.h
|
||||
+++ b/server/object.h
|
||||
@@ -90,8 +90,10 @@ struct object_ops
|
||||
@@ -89,8 +89,10 @@ struct object_ops
|
||||
/* open a file object to access this object */
|
||||
struct object *(*open_file)(struct object *, unsigned int access, unsigned int sharing,
|
||||
unsigned int options);
|
||||
@ -457,7 +457,7 @@ index c4bc40b..16bf089 100644
|
||||
/* destroy on refcount == 0 */
|
||||
void (*destroy)(struct object *);
|
||||
};
|
||||
@@ -161,6 +163,7 @@ extern int no_link_name( struct object *obj, struct object_name *name, struct ob
|
||||
@@ -163,6 +165,7 @@ extern int no_link_name( struct object *obj, struct object_name *name, struct ob
|
||||
extern void default_unlink_name( struct object *obj, struct object_name *name );
|
||||
extern struct object *no_open_file( struct object *obj, unsigned int access, unsigned int sharing,
|
||||
unsigned int options );
|
||||
@ -466,7 +466,7 @@ index c4bc40b..16bf089 100644
|
||||
extern void no_destroy( struct object *obj );
|
||||
#ifdef DEBUG_OBJECTS
|
||||
diff --git a/server/process.c b/server/process.c
|
||||
index c9bcabb..cc9c01c 100644
|
||||
index 48ada99..8334eaa 100644
|
||||
--- a/server/process.c
|
||||
+++ b/server/process.c
|
||||
@@ -84,6 +84,7 @@ static const struct object_ops process_ops =
|
||||
@ -514,10 +514,10 @@ index f82060f..e097f5b 100644
|
||||
thread_input_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/registry.c b/server/registry.c
|
||||
index 5ca2a52..e38d6bb 100644
|
||||
index 97b16ed..6a38de7 100644
|
||||
--- a/server/registry.c
|
||||
+++ b/server/registry.c
|
||||
@@ -169,6 +169,7 @@ static const struct object_ops key_ops =
|
||||
@@ -170,6 +170,7 @@ static const struct object_ops key_ops =
|
||||
no_link_name, /* link_name */
|
||||
NULL, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -526,7 +526,7 @@ index 5ca2a52..e38d6bb 100644
|
||||
key_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/request.c b/server/request.c
|
||||
index dfa4485..122de96 100644
|
||||
index 597bf88..7d88202 100644
|
||||
--- a/server/request.c
|
||||
+++ b/server/request.c
|
||||
@@ -107,6 +107,7 @@ static const struct object_ops master_socket_ops =
|
||||
@ -538,7 +538,7 @@ index dfa4485..122de96 100644
|
||||
master_socket_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/semaphore.c b/server/semaphore.c
|
||||
index c77bd58..9c06ce4 100644
|
||||
index 08ff153..15e7392 100644
|
||||
--- a/server/semaphore.c
|
||||
+++ b/server/semaphore.c
|
||||
@@ -68,6 +68,7 @@ static const struct object_ops semaphore_ops =
|
||||
@ -574,7 +574,7 @@ index c20e154..8c05c5f 100644
|
||||
handler_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/snapshot.c b/server/snapshot.c
|
||||
index 3566b89..a0cf32e 100644
|
||||
index e35588a..6e788ab 100644
|
||||
--- a/server/snapshot.c
|
||||
+++ b/server/snapshot.c
|
||||
@@ -71,6 +71,7 @@ static const struct object_ops snapshot_ops =
|
||||
@ -606,7 +606,7 @@ index dc10d2a..a11964f 100644
|
||||
ifchange_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/symlink.c b/server/symlink.c
|
||||
index bd09d34..6607e47 100644
|
||||
index e176267..034ecdd 100644
|
||||
--- a/server/symlink.c
|
||||
+++ b/server/symlink.c
|
||||
@@ -70,6 +70,7 @@ static const struct object_ops symlink_ops =
|
||||
@ -618,7 +618,7 @@ index bd09d34..6607e47 100644
|
||||
symlink_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index ca02a8a..71b4d7b 100644
|
||||
index 5f8405b..4069af3 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -120,6 +120,7 @@ static const struct object_ops thread_apc_ops =
|
||||
@ -638,7 +638,7 @@ index ca02a8a..71b4d7b 100644
|
||||
destroy_thread /* destroy */
|
||||
};
|
||||
diff --git a/server/timer.c b/server/timer.c
|
||||
index 0d81d90..966d65d 100644
|
||||
index c8b4fa8..23c613b 100644
|
||||
--- a/server/timer.c
|
||||
+++ b/server/timer.c
|
||||
@@ -75,6 +75,7 @@ static const struct object_ops timer_ops =
|
||||
@ -662,10 +662,10 @@ index ca12813..e13d03a 100644
|
||||
token_destroy /* destroy */
|
||||
};
|
||||
diff --git a/server/winstation.c b/server/winstation.c
|
||||
index 9dc348d..17c312a 100644
|
||||
index a0be058..5f96be8 100644
|
||||
--- a/server/winstation.c
|
||||
+++ b/server/winstation.c
|
||||
@@ -73,6 +73,7 @@ static const struct object_ops winstation_ops =
|
||||
@@ -75,6 +75,7 @@ static const struct object_ops winstation_ops =
|
||||
directory_link_name, /* link_name */
|
||||
default_unlink_name, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -673,7 +673,7 @@ index 9dc348d..17c312a 100644
|
||||
winstation_close_handle, /* close_handle */
|
||||
winstation_destroy /* destroy */
|
||||
};
|
||||
@@ -96,6 +97,7 @@ static const struct object_ops desktop_ops =
|
||||
@@ -98,6 +99,7 @@ static const struct object_ops desktop_ops =
|
||||
desktop_link_name, /* link_name */
|
||||
default_unlink_name, /* unlink_name */
|
||||
no_open_file, /* open_file */
|
||||
@ -682,5 +682,5 @@ index 9dc348d..17c312a 100644
|
||||
desktop_destroy /* destroy */
|
||||
};
|
||||
--
|
||||
2.7.0
|
||||
2.8.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 56de1a9701fb2e09ca956692f19aed26b71c34d3 Mon Sep 17 00:00:00 2001
|
||||
From 0ece6430725c5339252c9d2a636ccbc95d69196b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 19 Mar 2015 01:22:34 +0100
|
||||
Subject: server: Implement support for global and local shared memory blocks
|
||||
@ -114,10 +114,10 @@ index 356d631..a91e478 100644
|
||||
ntdll_get_thread_data()->wow64_redir = is_wow64;
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 08275dd..ce19a34 100644
|
||||
index e38bbc2..6a574f7 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -376,6 +376,7 @@ void terminate_thread( int status )
|
||||
@@ -380,6 +380,7 @@ void terminate_thread( int status )
|
||||
void exit_thread( int status )
|
||||
{
|
||||
static void *prev_teb;
|
||||
@ -125,7 +125,7 @@ index 08275dd..ce19a34 100644
|
||||
sigset_t sigset;
|
||||
TEB *teb;
|
||||
|
||||
@@ -399,6 +400,9 @@ void exit_thread( int status )
|
||||
@@ -403,6 +404,9 @@ void exit_thread( int status )
|
||||
LdrShutdownThread();
|
||||
RtlFreeThreadActivationContextStack();
|
||||
|
||||
@ -158,7 +158,7 @@ index d573d1f..695389a 100644
|
||||
/* macros for server requests */
|
||||
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index 9b40fd4..2270a40 100644
|
||||
index 0e6cd4b..03f026b 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -366,7 +366,7 @@ typedef struct _TEB
|
||||
@ -171,10 +171,10 @@ index 9b40fd4..2270a40 100644
|
||||
ULONG ImpersonationLocale; /* f98/1788 */
|
||||
ULONG IsImpersonating; /* f9c/178c */
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index e995380..362f6c8 100644
|
||||
index 17b1b66..f17b473 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -2474,6 +2474,33 @@ DECL_HANDLER(write)
|
||||
@@ -2479,6 +2479,33 @@ DECL_HANDLER(write)
|
||||
}
|
||||
}
|
||||
|
||||
@ -341,7 +341,7 @@ index fe30450..40a1f21 100644
|
||||
static int create_temp_file( file_pos_t size )
|
||||
{
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index a5a45eb..7c61b76 100644
|
||||
index 35b14f2..35aa25e 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -69,6 +69,15 @@ struct request_max_size
|
||||
@ -360,8 +360,8 @@ index a5a45eb..7c61b76 100644
|
||||
|
||||
/* debug event data */
|
||||
typedef union
|
||||
@@ -1200,6 +1209,12 @@ enum server_fd_type
|
||||
};
|
||||
@@ -1209,6 +1218,12 @@ enum server_fd_type
|
||||
@END
|
||||
|
||||
|
||||
+/* Get file descriptor for shared memory */
|
||||
@ -374,7 +374,7 @@ index a5a45eb..7c61b76 100644
|
||||
@REQ(flush)
|
||||
int blocking; /* whether it's a blocking flush */
|
||||
diff --git a/server/thread.c b/server/thread.c
|
||||
index 494db39..fbbd05a 100644
|
||||
index e82207a..0d0bf28 100644
|
||||
--- a/server/thread.c
|
||||
+++ b/server/thread.c
|
||||
@@ -200,6 +200,8 @@ static inline void init_thread_structure( struct thread *thread )
|
||||
@ -419,5 +419,5 @@ index ac9af24..59ef250 100644
|
||||
|
||||
struct thread_snapshot
|
||||
--
|
||||
2.7.1
|
||||
2.8.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From eb62198f629e008a4f24c0aaf05cc61d413685d6 Mon Sep 17 00:00:00 2001
|
||||
From 3b870c439904eef2623f7d027213e66dc99822f0 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 30 Mar 2015 12:50:21 +0200
|
||||
Subject: server: Temporarily store the full security descriptor for file
|
||||
@ -12,10 +12,10 @@ Subject: server: Temporarily store the full security descriptor for file
|
||||
4 files changed, 74 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index f34831d..b149ea4 100644
|
||||
index 059f798..0bf7228 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3350,7 +3350,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3540,7 +3540,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@ -23,7 +23,7 @@ index f34831d..b149ea4 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3426,7 +3425,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3616,7 +3615,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@ -31,7 +31,7 @@ index f34831d..b149ea4 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3572,7 +3570,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3762,7 +3760,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
@ -39,7 +39,7 @@ index f34831d..b149ea4 100644
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -4552,23 +4549,22 @@ static void test_GetSecurityInfo(void)
|
||||
@@ -4742,23 +4739,22 @@ static void test_GetSecurityInfo(void)
|
||||
bret = pGetAce(pDacl, 0, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Current User ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, user_sid);
|
||||
@ -70,10 +70,10 @@ index f34831d..b149ea4 100644
|
||||
LocalFree(pSD);
|
||||
CloseHandle(obj);
|
||||
diff --git a/server/change.c b/server/change.c
|
||||
index 3d5bae0..4c663c3 100644
|
||||
index 66ac1d6..a6ed1c6 100644
|
||||
--- a/server/change.c
|
||||
+++ b/server/change.c
|
||||
@@ -1032,7 +1032,8 @@ static int dir_add_to_existing_notify( struct dir *dir )
|
||||
@@ -1125,7 +1125,8 @@ static int dir_add_to_existing_notify( struct dir *dir )
|
||||
|
||||
#endif /* USE_INOTIFY */
|
||||
|
||||
@ -83,8 +83,8 @@ index 3d5bae0..4c663c3 100644
|
||||
{
|
||||
struct dir *dir;
|
||||
|
||||
@@ -1051,6 +1052,11 @@ struct object *create_dir_obj( struct fd *fd, unsigned int access, mode_t mode )
|
||||
dir->uid = ~(uid_t)0;
|
||||
@@ -1145,6 +1146,11 @@ struct object *create_dir_obj( struct fd *fd, unsigned int access, mode_t mode )
|
||||
dir->client_process = NULL;
|
||||
set_fd_user( fd, &dir_fd_ops, &dir->obj );
|
||||
|
||||
+ if (sd) dir_set_sd( &dir->obj, sd, OWNER_SECURITY_INFORMATION |
|
||||
@ -241,10 +241,10 @@ index 81a7496..be98fa1 100644
|
||||
}
|
||||
if (root_fd) release_object( root_fd );
|
||||
diff --git a/server/file.h b/server/file.h
|
||||
index b9e27e2..3274c5c 100644
|
||||
index e11d19f..32bf595 100644
|
||||
--- a/server/file.h
|
||||
+++ b/server/file.h
|
||||
@@ -154,7 +154,8 @@ extern struct device *create_unix_device( struct directory *root, const struct u
|
||||
@@ -154,7 +154,8 @@ extern struct device *create_unix_device( struct object *root, const struct unic
|
||||
|
||||
extern void do_change_notify( int unix_fd );
|
||||
extern void sigio_callback(void);
|
||||
@ -255,5 +255,5 @@ index b9e27e2..3274c5c 100644
|
||||
|
||||
/* completion */
|
||||
--
|
||||
2.7.0
|
||||
2.8.0
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 46894941581a7d408983d55039308e03f2842b7a Mon Sep 17 00:00:00 2001
|
||||
From 10dda0bfac5b79169b84f5a6eb97f0a8aee7a4eb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 24 Feb 2015 04:25:29 +0100
|
||||
Subject: shell32: Correct indentation in shfileop.c.
|
||||
|
||||
---
|
||||
dlls/shell32/shlfileop.c | 730 +++++++++++++++++++++++------------------------
|
||||
1 file changed, 365 insertions(+), 365 deletions(-)
|
||||
dlls/shell32/shlfileop.c | 728 +++++++++++++++++++++++------------------------
|
||||
1 file changed, 364 insertions(+), 364 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
|
||||
index 62d7880..ee40e39 100644
|
||||
index 07635c8..ef2532d 100644
|
||||
--- a/dlls/shell32/shlfileop.c
|
||||
+++ b/dlls/shell32/shlfileop.c
|
||||
@@ -164,7 +164,7 @@ static INT_PTR ConfirmMsgBox_Init(HWND hDlg, LPARAM lParam)
|
||||
@ -807,7 +807,7 @@ index 62d7880..ee40e39 100644
|
||||
}
|
||||
/*************************************************************************
|
||||
* SHFileOperationA [SHELL32.@]
|
||||
@@ -865,43 +865,43 @@ static DWORD SHNameTranslate(LPWSTR* wString, LPCWSTR* pWToFrom, BOOL more)
|
||||
@@ -865,42 +865,42 @@ static DWORD SHNameTranslate(LPWSTR* wString, LPCWSTR* pWToFrom, BOOL more)
|
||||
*/
|
||||
int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp)
|
||||
{
|
||||
@ -840,7 +840,6 @@ index 62d7880..ee40e39 100644
|
||||
- if (ForFree) continue;
|
||||
- retCode = ERROR_OUTOFMEMORY;
|
||||
- nFileOp.fAnyOperationsAborted = TRUE;
|
||||
- SetLastError(retCode);
|
||||
- return retCode;
|
||||
- }
|
||||
- }
|
||||
@ -877,7 +876,6 @@ index 62d7880..ee40e39 100644
|
||||
+ if (ForFree) continue;
|
||||
+ retCode = ERROR_OUTOFMEMORY;
|
||||
+ nFileOp.fAnyOperationsAborted = TRUE;
|
||||
+ SetLastError(retCode);
|
||||
+ return retCode;
|
||||
+ }
|
||||
+ }
|
||||
@ -888,7 +886,7 @@ index 62d7880..ee40e39 100644
|
||||
}
|
||||
|
||||
#define ERROR_SHELL_INTERNAL_FILE_NOT_FOUND 1026
|
||||
@@ -931,7 +931,7 @@ typedef struct
|
||||
@@ -930,7 +930,7 @@ typedef struct
|
||||
static inline void grow_list(FILE_LIST *list)
|
||||
{
|
||||
FILE_ENTRY *new = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, list->feFiles,
|
||||
@ -897,7 +895,7 @@ index 62d7880..ee40e39 100644
|
||||
list->feFiles = new;
|
||||
list->num_alloc *= 2;
|
||||
}
|
||||
@@ -1023,7 +1023,7 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles)
|
||||
@@ -1022,7 +1022,7 @@ static HRESULT parse_file_list(FILE_LIST *flList, LPCWSTR szFiles)
|
||||
/* empty list */
|
||||
if (!szFiles[0])
|
||||
return ERROR_ACCESS_DENIED;
|
||||
@ -906,7 +904,7 @@ index 62d7880..ee40e39 100644
|
||||
flList->feFiles = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
|
||||
flList->num_alloc * sizeof(FILE_ENTRY));
|
||||
|
||||
@@ -1127,7 +1127,7 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
|
||||
@@ -1126,7 +1126,7 @@ static void copy_dir_to_dir(FILE_OPERATION *op, const FILE_ENTRY *feFrom, LPCWST
|
||||
/* Don't ask the user about overwriting files when he accepted to overwrite the
|
||||
folder. FIXME: this is not exactly what Windows does - e.g. there would be
|
||||
an additional confirmation for a nested folder */
|
||||
@ -915,7 +913,7 @@ index 62d7880..ee40e39 100644
|
||||
|
||||
SHFileOperationW(&fileOp);
|
||||
}
|
||||
@@ -1339,7 +1339,7 @@ static DWORD delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
|
||||
@@ -1339,7 +1339,7 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
|
||||
|
||||
/* Windows also checks only the first item */
|
||||
bTrash = (lpFileOp->fFlags & FOF_ALLOWUNDO)
|
||||
@ -924,7 +922,7 @@ index 62d7880..ee40e39 100644
|
||||
|
||||
if (!(lpFileOp->fFlags & FOF_NOCONFIRMATION) || (!bTrash && lpFileOp->fFlags & FOF_WANTNUKEWARNING))
|
||||
if (!confirm_delete_list(lpFileOp->hwnd, lpFileOp->fFlags, bTrash, flFrom))
|
||||
@@ -1374,11 +1374,11 @@ static DWORD delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
|
||||
@@ -1374,11 +1374,11 @@ static int delete_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -938,7 +936,7 @@ index 62d7880..ee40e39 100644
|
||||
else
|
||||
ret = SHELL_DeleteDirectoryW(lpFileOp->hwnd, fileEntry->szFullPath, FALSE);
|
||||
|
||||
@@ -1528,8 +1528,8 @@ static DWORD rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, c
|
||||
@@ -1503,8 +1503,8 @@ static int rename_files(LPSHFILEOPSTRUCTW lpFileOp, const FILE_LIST *flFrom, con
|
||||
static void check_flags(FILEOP_FLAGS fFlags)
|
||||
{
|
||||
WORD wUnsupportedFlags = FOF_NO_CONNECTED_ELEMENTS |
|
||||
@ -949,7 +947,7 @@ index 62d7880..ee40e39 100644
|
||||
|
||||
if (fFlags & wUnsupportedFlags)
|
||||
FIXME("Unsupported flags: %04x\n", fFlags);
|
||||
@@ -1611,19 +1611,19 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
@@ -1587,19 +1587,19 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
*/
|
||||
void WINAPI SHFreeNameMappings(HANDLE hNameMapping)
|
||||
{
|
||||
@ -979,7 +977,7 @@ index 62d7880..ee40e39 100644
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
@@ -1729,14 +1729,14 @@ DWORD WINAPI SheChangeDirW(LPWSTR path)
|
||||
@@ -1705,14 +1705,14 @@ DWORD WINAPI SheChangeDirW(LPWSTR path)
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
@ -1000,5 +998,5 @@ index 62d7880..ee40e39 100644
|
||||
|
||||
|
||||
--
|
||||
2.3.0
|
||||
2.8.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 725a496f1d8484b7392ef0f14cb13ddd18b1dca5 Mon Sep 17 00:00:00 2001
|
||||
From 3c2e5967acbc177bf43c2cb6012bdc22c7a59fb2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 27 Feb 2015 01:04:33 +0100
|
||||
Subject: shell32: Implement file operation progress dialog.
|
||||
@ -11,7 +11,7 @@ Based on a patch by Huw Campbell.
|
||||
3 files changed, 285 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
|
||||
index 37acbe7..dd054fb 100644
|
||||
index bfba962..277b23a 100644
|
||||
--- a/dlls/shell32/shell32.rc
|
||||
+++ b/dlls/shell32/shell32.rc
|
||||
@@ -184,6 +184,13 @@ If the files in the destination folder have the same names as files in the\n\
|
||||
@ -29,7 +29,7 @@ index 37acbe7..dd054fb 100644
|
||||
IDS_RESTART_TITLE "Restart"
|
||||
IDS_RESTART_PROMPT "Do you want to simulate a Windows reboot?"
|
||||
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
|
||||
index ed8ff38..0d50223 100644
|
||||
index 5f0189b..5ad241c 100644
|
||||
--- a/dlls/shell32/shlfileop.c
|
||||
+++ b/dlls/shell32/shlfileop.c
|
||||
@@ -65,6 +65,10 @@ typedef struct
|
||||
@ -140,7 +140,7 @@ index ed8ff38..0d50223 100644
|
||||
if (ret)
|
||||
{
|
||||
SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, dest, NULL);
|
||||
@@ -1293,6 +1332,8 @@ static DWORD copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flF
|
||||
@@ -1292,6 +1331,8 @@ static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
|
||||
}
|
||||
|
||||
/* Vista return code. XP would return e.g. ERROR_FILE_NOT_FOUND, ERROR_ALREADY_EXISTS */
|
||||
@ -149,7 +149,7 @@ index ed8ff38..0d50223 100644
|
||||
if (op->bCancelled)
|
||||
return ERROR_CANCELLED;
|
||||
}
|
||||
@@ -1374,13 +1415,17 @@ static DWORD delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
|
||||
@@ -1374,13 +1415,17 @@ static int delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
|
||||
|
||||
/* delete the file or directory */
|
||||
if (IsAttribFile(fileEntry->attributes))
|
||||
@ -169,7 +169,7 @@ index ed8ff38..0d50223 100644
|
||||
}
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
@@ -1485,6 +1530,11 @@ static DWORD move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flF
|
||||
@@ -1455,6 +1500,11 @@ static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
|
||||
move_to_dir(op, entryToMove, fileDest);
|
||||
else
|
||||
SHNotifyMoveFileW(op, entryToMove->szFullPath, fileDest->szFullPath);
|
||||
@ -181,7 +181,7 @@ index ed8ff38..0d50223 100644
|
||||
}
|
||||
|
||||
if (mismatched > 0)
|
||||
@@ -1544,6 +1594,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
@@ -1514,6 +1564,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
{
|
||||
FILE_OPERATION op;
|
||||
FILE_LIST flFrom, flTo;
|
||||
@ -189,7 +189,7 @@ index ed8ff38..0d50223 100644
|
||||
int ret = 0;
|
||||
|
||||
if (!lpFileOp)
|
||||
@@ -1562,9 +1613,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
@@ -1532,9 +1583,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
|
||||
ZeroMemory(&op, sizeof(op));
|
||||
op.req = lpFileOp;
|
||||
@ -221,7 +221,7 @@ index ed8ff38..0d50223 100644
|
||||
switch (lpFileOp->wFunc)
|
||||
{
|
||||
case FO_COPY:
|
||||
@@ -1584,6 +1657,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
@@ -1554,6 +1627,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
break;
|
||||
}
|
||||
|
||||
@ -234,17 +234,17 @@ index ed8ff38..0d50223 100644
|
||||
destroy_file_list(&flFrom);
|
||||
|
||||
if (lpFileOp->wFunc != FO_DELETE)
|
||||
@@ -1592,6 +1671,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
@@ -1562,6 +1641,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
|
||||
if (ret == ERROR_CANCELLED)
|
||||
lpFileOp->fAnyOperationsAborted = TRUE;
|
||||
|
||||
+ if (SUCCEEDED(co_ret))
|
||||
+ CoUninitialize();
|
||||
+
|
||||
SetLastError(ERROR_SUCCESS);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1822,3 +1904,184 @@ HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path
|
||||
@@ -1793,3 +1875,184 @@ HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path
|
||||
else
|
||||
return HRESULT_FROM_WIN32(ERROR_DIRECTORY);
|
||||
}
|
||||
@ -449,5 +449,5 @@ index 183a75e..8ee525a 100644
|
||||
#define IDS_RECYCLEBIN_FOLDER_NAME 8964
|
||||
|
||||
--
|
||||
2.3.0
|
||||
2.8.0
|
||||
|
||||
|
@ -1,63 +0,0 @@
|
||||
From 4ff58d5b7b2bef1db7dc151976e111ddea9b91a3 Mon Sep 17 00:00:00 2001
|
||||
From: "Olivier F. R. Dierick" <o.dierick@piezo-forte.be>
|
||||
Date: Sat, 28 Nov 2015 06:25:33 +0100
|
||||
Subject: shell32: Check IsWoW64Process before calling Wow64 functions (try 2)
|
||||
|
||||
Replace patch entry 116937.
|
||||
|
||||
Fix one of the error leak source that prevents the installer to succeed
|
||||
(bug 36838).
|
||||
|
||||
On 32 bit Wine, the original code did set last error to
|
||||
ERROR_CALL_NOT_IMPLEMENTED when calling wow64 functions. The game
|
||||
installer chokes at some point when the last error is anything but zero
|
||||
and fails to complete the installation. Checking if wow64 is available
|
||||
before calling wow64 functions avoids that. The affected wow64 function
|
||||
calls themselves are not required for proper operation on 32 bit
|
||||
systems.
|
||||
|
||||
Signed-off-by: Olivier F. R. Dierick <o.dierick@piezo-forte.be>
|
||||
---
|
||||
dlls/shell32/shfldr_unixfs.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c
|
||||
index 85383e8..7de38ba 100644
|
||||
--- a/dlls/shell32/shfldr_unixfs.c
|
||||
+++ b/dlls/shell32/shfldr_unixfs.c
|
||||
@@ -392,6 +392,7 @@ static BOOL UNIXFS_get_unix_path(LPCWSTR pszDosPath, char *pszCanonicalPath)
|
||||
BOOL has_failed = FALSE;
|
||||
WCHAR wszDrive[] = { '?', ':', '\\', 0 }, dospath[MAX_PATH], *dospath_end;
|
||||
int cDriveSymlinkLen;
|
||||
+ BOOL is_wow64;
|
||||
void *redir;
|
||||
|
||||
TRACE("(pszDosPath=%s, pszCanonicalPath=%p)\n", debugstr_w(pszDosPath), pszCanonicalPath);
|
||||
@@ -408,13 +409,14 @@ static BOOL UNIXFS_get_unix_path(LPCWSTR pszDosPath, char *pszCanonicalPath)
|
||||
HeapFree(GetProcessHeap(), 0, pszUnixPath);
|
||||
if (!pElement) return FALSE;
|
||||
if (szPath[strlen(szPath)-1] != '/') strcat(szPath, "/");
|
||||
+ if (!IsWow64Process(GetCurrentProcess(), &is_wow64)) is_wow64 = FALSE;
|
||||
|
||||
/* Append the part relative to the drive symbolic link target. */
|
||||
lstrcpyW(dospath, pszDosPath);
|
||||
dospath_end = dospath + lstrlenW(dospath);
|
||||
/* search for the most valid UNIX path possible, then append missing
|
||||
* path parts */
|
||||
- Wow64DisableWow64FsRedirection(&redir);
|
||||
+ if(is_wow64) Wow64DisableWow64FsRedirection(&redir);
|
||||
while(!(pszUnixPath = wine_get_unix_file_name(dospath))){
|
||||
if(has_failed){
|
||||
*dospath_end = '/';
|
||||
@@ -428,7 +430,7 @@ static BOOL UNIXFS_get_unix_path(LPCWSTR pszDosPath, char *pszCanonicalPath)
|
||||
}
|
||||
*dospath_end = '\0';
|
||||
}
|
||||
- Wow64RevertWow64FsRedirection(redir);
|
||||
+ if(is_wow64) Wow64RevertWow64FsRedirection(redir);
|
||||
if(dospath_end < dospath)
|
||||
return FALSE;
|
||||
strcat(szPath, pszUnixPath + cDriveSymlinkLen);
|
||||
--
|
||||
2.6.4
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: Check IsWoW64Process before calling Wow64 functions in UNIXFS_get_unix_path
|
@ -1,4 +1,4 @@
|
||||
From 64afa20c1fba6856edc379c4a4cd0871b905e938 Mon Sep 17 00:00:00 2001
|
||||
From 8e718993307d5ea6c415e4d169b3e37f0d85e5fd Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Thu, 7 Apr 2016 21:18:44 +0800
|
||||
Subject: user32: Add support for PNG icons. (v5)
|
||||
@ -21,7 +21,7 @@ index b5c80a8..d0381f3 100644
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
|
||||
index 4de6b28..4879988 100644
|
||||
index 4f93195..3899854 100644
|
||||
--- a/dlls/user32/cursoricon.c
|
||||
+++ b/dlls/user32/cursoricon.c
|
||||
@@ -6,6 +6,8 @@
|
||||
@ -43,7 +43,7 @@ index 4de6b28..4879988 100644
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
@@ -43,6 +48,7 @@
|
||||
@@ -43,11 +48,17 @@
|
||||
#include "wine/list.h"
|
||||
#include "wine/unicode.h"
|
||||
#include "wine/debug.h"
|
||||
@ -51,9 +51,7 @@ index 4de6b28..4879988 100644
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(cursor);
|
||||
WINE_DECLARE_DEBUG_CHANNEL(icon);
|
||||
@@ -71,6 +77,11 @@ typedef struct
|
||||
|
||||
#include "poppack.h"
|
||||
WINE_DECLARE_DEBUG_CHANNEL(resource);
|
||||
|
||||
+#define RIFF_FOURCC( c0, c1, c2, c3 ) \
|
||||
+ ( (DWORD)(BYTE)(c0) | ( (DWORD)(BYTE)(c1) << 8 ) | \
|
||||
@ -63,7 +61,7 @@ index 4de6b28..4879988 100644
|
||||
static HDC screen_dc;
|
||||
|
||||
static const WCHAR DISPLAYW[] = {'D','I','S','P','L','A','Y',0};
|
||||
@@ -119,6 +130,307 @@ struct animated_cursoricon_object
|
||||
@@ -96,6 +107,307 @@ struct animated_cursoricon_object
|
||||
HICON frames[1]; /* list of animated cursor frames */
|
||||
};
|
||||
|
||||
@ -371,7 +369,7 @@ index 4de6b28..4879988 100644
|
||||
static HICON alloc_icon_handle( BOOL is_ani, UINT num_steps )
|
||||
{
|
||||
struct cursoricon_object *obj;
|
||||
@@ -534,6 +846,8 @@ static int CURSORICON_FindBestIcon( LPCVOID dir, DWORD size, fnGetCIEntry get_en
|
||||
@@ -511,6 +823,8 @@ static int CURSORICON_FindBestIcon( LPCVOID dir, DWORD size, fnGetCIEntry get_en
|
||||
/* Find Best Colors for Best Fit */
|
||||
for ( i = 0; get_entry( dir, size, i, &cx, &cy, &bits ); i++ )
|
||||
{
|
||||
@ -380,7 +378,7 @@ index 4de6b28..4879988 100644
|
||||
if(abs(width - cx) == iXDiff && abs(height - cy) == iYDiff)
|
||||
{
|
||||
iTempColorDiff = abs(depth - bits);
|
||||
@@ -678,7 +992,11 @@ static BOOL CURSORICON_GetFileEntry( LPCVOID dir, DWORD size, int n,
|
||||
@@ -655,7 +969,11 @@ static BOOL CURSORICON_GetFileEntry( LPCVOID dir, DWORD size, int n,
|
||||
return FALSE;
|
||||
entry = &filedir->idEntries[n];
|
||||
info = (const BITMAPINFOHEADER *)((const char *)dir + entry->dwDIBOffset);
|
||||
@ -393,7 +391,7 @@ index 4de6b28..4879988 100644
|
||||
{
|
||||
if ((const char *)(info + 1) - (const char *)dir > size) return FALSE;
|
||||
*bits = info->biBitCount;
|
||||
@@ -822,6 +1140,21 @@ static HICON create_icon_from_bmi( const BITMAPINFO *bmi, DWORD maxsize, HMODULE
|
||||
@@ -799,6 +1117,21 @@ static HICON create_icon_from_bmi( const BITMAPINFO *bmi, DWORD maxsize, HMODULE
|
||||
|
||||
/* Check bitmap header */
|
||||
|
||||
@ -415,7 +413,7 @@ index 4de6b28..4879988 100644
|
||||
if (maxsize < sizeof(BITMAPCOREHEADER))
|
||||
{
|
||||
WARN( "invalid size %u\n", maxsize );
|
||||
@@ -1003,10 +1336,6 @@ done:
|
||||
@@ -980,10 +1313,6 @@ done:
|
||||
/**********************************************************************
|
||||
* .ANI cursor support
|
||||
*/
|
||||
@ -427,5 +425,5 @@ index 4de6b28..4879988 100644
|
||||
#define ANI_LIST_ID RIFF_FOURCC('L', 'I', 'S', 'T')
|
||||
#define ANI_ACON_ID RIFF_FOURCC('A', 'C', 'O', 'N')
|
||||
--
|
||||
2.7.1
|
||||
2.8.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Wine Staging 1.9.9
|
||||
Wine Staging 1.9.10 (unreleased)
|
||||
|
Loading…
Reference in New Issue
Block a user