You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
38 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
b7770327f1 | ||
|
b8c9d22e4c | ||
|
2b2f2d70ab | ||
|
c81eb4cfa6 | ||
|
221a419640 | ||
|
f1b08404b8 | ||
|
28fc684ff9 | ||
|
cb402d63de | ||
|
865083f801 | ||
|
b70612a236 | ||
|
340a8a9e73 | ||
|
39787f3608 | ||
|
f2831c4a36 | ||
|
6a5466cff1 | ||
|
fbf97b4ef0 | ||
|
cfdc80f823 | ||
|
1b9fa30106 | ||
|
99fc70333a | ||
|
dac872a3f7 | ||
|
94558a24fb | ||
|
1eeba48e51 | ||
|
70b8d10d2f | ||
|
95d7e3c5a9 | ||
|
647efb0b9b | ||
|
1ac4ac7302 | ||
|
af245c20be | ||
|
e51f6d2439 | ||
|
96b6186af1 | ||
|
cfdd73e2c4 | ||
|
e3c329b656 | ||
|
aab0c9dd62 | ||
|
42ef436373 | ||
|
8d231bde1d | ||
|
a5566f1e8e | ||
|
a3813c45a0 | ||
|
0c2b776e83 | ||
|
e65c2c7954 | ||
|
9ee1d8c391 |
29
README.md
29
README.md
@@ -38,16 +38,19 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugs fixed in Wine Staging 1.7.35 [146]:**
|
||||
**Bugs fixed in Wine Staging 1.7.36 [167]:**
|
||||
|
||||
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](https://bugs.winehq.org/show_bug.cgi?id=36374))
|
||||
* Add default ACLs for user shell folders
|
||||
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
|
||||
* Add library override instead of closing winecfg when pressing ENTER over the combobox ([Wine Bug #12804](https://bugs.winehq.org/show_bug.cgi?id=12804))
|
||||
* Add nvapi stubs required for GPU PhysX support
|
||||
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
|
||||
* Add stub for D3DXIntersect
|
||||
* Add stub for KeWaitForMultipleObjects
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for ntoskrnl.KeWaitForMultipleObjects
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
|
||||
@@ -60,12 +63,12 @@ Included bug fixes and improvements
|
||||
* Avseq crashes when multisampling is enabled ([Wine Bug #31998](https://bugs.winehq.org/show_bug.cgi?id=31998))
|
||||
* Basic support for CUDA
|
||||
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
|
||||
* Call DriverUnload function when unloading a device driver.
|
||||
* Child of Light expects FindConnectionPoint to succeed and increase the refcount ([Wine Bug #36408](https://bugs.winehq.org/show_bug.cgi?id=36408))
|
||||
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* Don't fill KdHelp structure for usermode applications ([Wine Bug #37272](https://bugs.winehq.org/show_bug.cgi?id=37272))
|
||||
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
|
||||
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
|
||||
@@ -74,7 +77,9 @@ Included bug fixes and improvements
|
||||
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix arguments for OSMesaMakeCurrent when using 16 bit formats
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix check for end_frame in RtlUnwindEx on x86_64. ([Wine Bug #34254](https://bugs.winehq.org/show_bug.cgi?id=34254))
|
||||
* 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 Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
@@ -84,6 +89,7 @@ Included bug fixes and improvements
|
||||
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](https://bugs.winehq.org/show_bug.cgi?id=35718))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
* Fix graphical corruption in FarCry 3 with NVIDIA drivers ([Wine Bug #35062](https://bugs.winehq.org/show_bug.cgi?id=35062))
|
||||
* Fix gray screen on startup introduced by pixelformat changes. ([Wine Bug #35975](https://bugs.winehq.org/show_bug.cgi?id=35975))
|
||||
* Fix handling of empty section and key name for profile files. ([Wine Bug #8036](https://bugs.winehq.org/show_bug.cgi?id=8036))
|
||||
* Fix handling of invert_y in DrawTextExW ([Wine Bug #22109](https://bugs.winehq.org/show_bug.cgi?id=22109))
|
||||
@@ -91,6 +97,7 @@ Included bug fixes and improvements
|
||||
* Fix init of LONGLONG variable with a negative value in TGA decoder
|
||||
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* Fix mouse jittering in Planetside 2 ([Wine Bug #32913](https://bugs.winehq.org/show_bug.cgi?id=32913))
|
||||
* Fix parameters for ConvertToIndexedBlendedMesh stub ([Wine Bug #36449](https://bugs.winehq.org/show_bug.cgi?id=36449))
|
||||
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
|
||||
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
|
||||
@@ -98,6 +105,7 @@ Included bug fixes and improvements
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](https://bugs.winehq.org/show_bug.cgi?id=35655))
|
||||
* Fix wrong colors in Wolfenstein (2009) ([Wine Bug #34692](https://bugs.winehq.org/show_bug.cgi?id=34692))
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
@@ -108,16 +116,27 @@ Included bug fixes and improvements
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* 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))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
* Implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes ([Wine Bug #29238](https://bugs.winehq.org/show_bug.cgi?id=29238))
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
|
||||
* Implement threadpool wait objects
|
||||
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
* Improvement for heap allocation performance
|
||||
* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
* Limit cross thread access to ImmSet* functions ([Wine Bug #35361](https://bugs.winehq.org/show_bug.cgi?id=35361))
|
||||
* Lockfree algorithm for filedescriptor cache (improves file access speed)
|
||||
* MSVCRT crashes when NULL is passed as string to atof or strtod ([Wine Bug #32550](https://bugs.winehq.org/show_bug.cgi?id=32550))
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
|
||||
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
@@ -133,6 +152,7 @@ Included bug fixes and improvements
|
||||
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
|
||||
* Silverlight needs support for file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
|
||||
* Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. ([Wine Bug #18099](https://bugs.winehq.org/show_bug.cgi?id=18099))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
@@ -154,6 +174,7 @@ Included bug fixes and improvements
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](https://bugs.winehq.org/show_bug.cgi?id=30385))
|
||||
* Support for LoadIconMetric ([Wine Bug #35375](https://bugs.winehq.org/show_bug.cgi?id=35375))
|
||||
* Support for NVIDIA video encoder library (nvencodeapi)
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](https://bugs.winehq.org/show_bug.cgi?id=30397))
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
@@ -172,7 +193,7 @@ Included bug fixes and improvements
|
||||
* Support for pasting HTML from Unix applications ([Wine Bug #7372](https://bugs.winehq.org/show_bug.cgi?id=7372))
|
||||
* Support for process ACLs ([Wine Bug #22006](https://bugs.winehq.org/show_bug.cgi?id=22006))
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
|
||||
* Support for stored file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
|
||||
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
|
||||
* Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609))
|
||||
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
|
||||
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
|
||||
|
27
debian/changelog
vendored
27
debian/changelog
vendored
@@ -1,3 +1,30 @@
|
||||
wine-staging (1.7.36) unstable; urgency=low
|
||||
* Fix an incompatibility of patchinstall.sh with non-bash shells under specific situations.
|
||||
* Improve dinput-Events patch to be compatible with applications which do not explicitly poll for input.
|
||||
* Added patch to properly call DriverUnload when unloading device drivers.
|
||||
* Added patch to fix check for end_frame in RtlUnwindEx on x86_64.
|
||||
* Added patch to fix mouse jittering in Planetside 2.
|
||||
* Added patch to implement additional stubs for vcomp dlls.
|
||||
* Added patchset to implement Vista+ threadpool functions for work / timers.
|
||||
* Added patchset for Vista+ threadpool wait objects.
|
||||
* Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native.
|
||||
* Added patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats.
|
||||
* Added patch to add library override instead of closing winecfg when pressing ENTER over the combobox.
|
||||
* Added patchset for various improvements and cleanup of reg.exe.
|
||||
* Added patch to add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2.
|
||||
* Added patch to implement NVIDIA video encoder library (nvencodeapi).
|
||||
* Added patch to make nvcuda.dll compatible with CUDA 7.0.
|
||||
* Added patch to implement stub for ntoskrnl.IoGetAttachedDeviceReference.
|
||||
* Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.
|
||||
* Added patch to implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject.
|
||||
* Added patch to implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Added patch to improve various ntoskrnl stub functions.
|
||||
* Added patch to fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Added patch to improve stub for AEV_GetVolumeRange.
|
||||
* Removed patch to add additional tests for SLGetWindowsInformationDWORD (accepted upstream).
|
||||
* Removed patch to avoid filling KdHelp structure for usermode applications (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 08 Feb 2015 19:14:24 +0100
|
||||
|
||||
wine-staging (1.7.35) unstable; urgency=low
|
||||
* Add stub for KeWaitForMultipleObjects.
|
||||
* Add support for patchinstall.sh parameters '--no-patchlist' and '--no-autoconf'.
|
||||
|
81
debian/tools/patchinstall.sh.in
vendored
81
debian/tools/patchinstall.sh.in
vendored
@@ -53,6 +53,12 @@ abort()
|
||||
exit 1
|
||||
}}
|
||||
|
||||
# Show a warning
|
||||
warning()
|
||||
{{
|
||||
echo "WARNING: $1" >&2
|
||||
}}
|
||||
|
||||
{patch_helpers}
|
||||
|
||||
# Default settings
|
||||
@@ -154,7 +160,7 @@ fi
|
||||
# are applied, but the exitcode is zero. To avoid broken builds we
|
||||
# will workaround this issue or abort. For more information see
|
||||
# https://github.com/wine-compholio/wine-staging/issues/7
|
||||
test ! -d "$DESTDIR/.git" && (cd "$DESTDIR"; git rev-parse --git-dir) &> /dev/null
|
||||
test ! -d ".git" && git rev-parse --git-dir >/dev/null 2>&1
|
||||
workaround_git_bug="$?"
|
||||
|
||||
# Apply the patches using gitapply.sh, a small wrapper around 'patch'
|
||||
@@ -183,9 +189,9 @@ elif test "$backend" = "epatch"; then
|
||||
gitapply_args=""
|
||||
fi
|
||||
|
||||
if ! command -v epatch &> /dev/null || \
|
||||
! command -v ebegin &> /dev/null || \
|
||||
! command -v eend &> /dev/null; then
|
||||
if ! command -v epatch >/dev/null 2>&1 || \
|
||||
! command -v ebegin >/dev/null 2>&1 || \
|
||||
! command -v eend >/dev/null 2>&1; then
|
||||
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
|
||||
fi
|
||||
|
||||
@@ -269,9 +275,14 @@ patch_apply ()
|
||||
|
||||
# If autoupdate is enabled then create a tempfile to keep track of all patches
|
||||
if test "$enable_patchlist" -eq 1; then
|
||||
patchlist=$(mktemp)
|
||||
if test ! -f "$patchlist"; then
|
||||
abort "Unable to create temporary file for patchlist."
|
||||
if test "$enable_Staging" -eq 1; then
|
||||
patchlist=$(mktemp)
|
||||
if test ! -f "$patchlist"; then
|
||||
abort "Unable to create temporary file for patchlist."
|
||||
fi
|
||||
else
|
||||
warning "Skipping generation of patchlist because 'Staging' patchset is disabled."
|
||||
enable_patchlist=0
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -285,27 +296,16 @@ if test "$enable_patchlist" -eq 1; then
|
||||
patch_data=$(cat "$patchlist" | sort)
|
||||
patch_lines=$(echo "$patch_data" | wc -l)
|
||||
if test ! -z "$patch_data"; then
|
||||
patch_lines=$((${{patch_lines}}+23))
|
||||
patch_lines=$((${{patch_lines}}+21))
|
||||
cat > "$patchlist" <<EOF
|
||||
From: Wine Staging Team <webmaster@fds-team.de>
|
||||
Subject: Autogenerated patch list.
|
||||
|
||||
diff --git a/include/wine/library.h b/include/wine/library.h
|
||||
--- a/include/wine/library.h
|
||||
+++ b/include/wine/library.h
|
||||
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
|
||||
extern const char *wine_get_server_dir(void);
|
||||
extern const char *wine_get_user_name(void);
|
||||
extern const char *wine_get_version(void);
|
||||
+extern const void *wine_get_patches(void);
|
||||
extern const char *wine_get_build_id(void);
|
||||
extern void wine_init_argv0_path( const char *argv0 );
|
||||
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
|
||||
diff --git a/libs/wine/config.c b/libs/wine/config.c
|
||||
index a273502..0a3182f 100644
|
||||
index 5262c76..0a3182f 100644
|
||||
--- a/libs/wine/config.c
|
||||
+++ b/libs/wine/config.c
|
||||
@@ -478,6 +478,${{patch_lines}} @@ const char *wine_get_version(void)
|
||||
@@ -478,10 +478,${{patch_lines}} @@ const char *wine_get_version(void)
|
||||
return PACKAGE_VERSION;
|
||||
}}
|
||||
|
||||
@@ -321,39 +321,14 @@ ${{patch_data}}
|
||||
+ {{ NULL, NULL, 0 }}
|
||||
+}};
|
||||
+
|
||||
+/* return the applied non-standard patches */
|
||||
+const void *wine_get_patches(void)
|
||||
+{{
|
||||
+ return &wine_patch_data[0];
|
||||
+}}
|
||||
+
|
||||
/* return the build id string */
|
||||
const char *wine_get_build_id(void)
|
||||
/* return the applied non-standard patches */
|
||||
const void *wine_get_patches(void)
|
||||
{{
|
||||
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
|
||||
index ed315bd..5b42029 100644
|
||||
--- a/libs/wine/wine.def
|
||||
+++ b/libs/wine/wine.def
|
||||
@@ -83,6 +83,7 @@ EXPORTS
|
||||
wine_get_sortkey
|
||||
wine_get_user_name
|
||||
wine_get_version
|
||||
+ wine_get_patches
|
||||
wine_init
|
||||
wine_init_argv0_path
|
||||
wine_is_dbcs_leadbyte
|
||||
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
|
||||
index 2159fac..7cb2918 100644
|
||||
--- a/libs/wine/wine.map
|
||||
+++ b/libs/wine/wine.map
|
||||
@@ -90,6 +90,7 @@ WINE_1.0
|
||||
wine_get_ss;
|
||||
wine_get_user_name;
|
||||
wine_get_version;
|
||||
+ wine_get_patches;
|
||||
wine_init;
|
||||
wine_init_argv0_path;
|
||||
wine_is_dbcs_leadbyte;
|
||||
- return NULL;
|
||||
+ return &wine_patch_data[0];
|
||||
}}
|
||||
|
||||
/* return the build id string */
|
||||
EOF
|
||||
patch_apply_file "$patchlist"
|
||||
fi
|
||||
|
2
debian/tools/patchupdate.py
vendored
2
debian/tools/patchupdate.py
vendored
@@ -505,7 +505,7 @@ def generate_script(all_patches):
|
||||
lines.append("patch_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_")
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
|
@@ -1,13 +1,17 @@
|
||||
From 6661529d2422f99287336b764fe7a5b61484b8ad Mon Sep 17 00:00:00 2001
|
||||
From f23512417cb3d149a8be4f757282d17cc1f99f9a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 29 May 2014 23:43:45 +0200
|
||||
Subject: loader: Add commandline option --patches to show the patch list.
|
||||
|
||||
---
|
||||
dlls/ntdll/misc.c | 8 ++++++++
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
loader/main.c | 36 +++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 44 insertions(+), 1 deletion(-)
|
||||
dlls/ntdll/misc.c | 8 ++++++++
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
include/wine/library.h | 1 +
|
||||
libs/wine/config.c | 6 ++++++
|
||||
libs/wine/wine.def | 1 +
|
||||
libs/wine/wine.map | 1 +
|
||||
loader/main.c | 42 +++++++++++++++++++++++++++++++++++++++++-
|
||||
7 files changed, 59 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/misc.c b/dlls/ntdll/misc.c
|
||||
index ad1b43b..1f985e7 100644
|
||||
@@ -29,7 +33,7 @@ index ad1b43b..1f985e7 100644
|
||||
*/
|
||||
const char * CDECL NTDLL_wine_get_build_id(void)
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 7e95969..f9483aa 100644
|
||||
index 51de6e7..ee4ed49 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1421,6 +1421,7 @@
|
||||
@@ -40,8 +44,61 @@ index 7e95969..f9483aa 100644
|
||||
@ cdecl wine_get_build_id() NTDLL_wine_get_build_id
|
||||
@ cdecl wine_get_host_version(ptr ptr) NTDLL_wine_get_host_version
|
||||
|
||||
diff --git a/include/wine/library.h b/include/wine/library.h
|
||||
index 242bb69..fae73fe 100644
|
||||
--- a/include/wine/library.h
|
||||
+++ b/include/wine/library.h
|
||||
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
|
||||
extern const char *wine_get_server_dir(void);
|
||||
extern const char *wine_get_user_name(void);
|
||||
extern const char *wine_get_version(void);
|
||||
+extern const void *wine_get_patches(void);
|
||||
extern const char *wine_get_build_id(void);
|
||||
extern void wine_init_argv0_path( const char *argv0 );
|
||||
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
|
||||
diff --git a/libs/wine/config.c b/libs/wine/config.c
|
||||
index a273502..5262c76 100644
|
||||
--- a/libs/wine/config.c
|
||||
+++ b/libs/wine/config.c
|
||||
@@ -478,6 +478,12 @@ const char *wine_get_version(void)
|
||||
return PACKAGE_VERSION;
|
||||
}
|
||||
|
||||
+/* return the applied non-standard patches */
|
||||
+const void *wine_get_patches(void)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/* return the build id string */
|
||||
const char *wine_get_build_id(void)
|
||||
{
|
||||
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
|
||||
index ed315bd..5b42029 100644
|
||||
--- a/libs/wine/wine.def
|
||||
+++ b/libs/wine/wine.def
|
||||
@@ -83,6 +83,7 @@ EXPORTS
|
||||
wine_get_sortkey
|
||||
wine_get_user_name
|
||||
wine_get_version
|
||||
+ wine_get_patches
|
||||
wine_init
|
||||
wine_init_argv0_path
|
||||
wine_is_dbcs_leadbyte
|
||||
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
|
||||
index 2159fac..7cb2918 100644
|
||||
--- a/libs/wine/wine.map
|
||||
+++ b/libs/wine/wine.map
|
||||
@@ -90,6 +90,7 @@ WINE_1.0
|
||||
wine_get_ss;
|
||||
wine_get_user_name;
|
||||
wine_get_version;
|
||||
+ wine_get_patches;
|
||||
wine_init;
|
||||
wine_init_argv0_path;
|
||||
wine_is_dbcs_leadbyte;
|
||||
diff --git a/loader/main.c b/loader/main.c
|
||||
index ac67290..b1df463 100644
|
||||
index ce21173..4794e51 100644
|
||||
--- a/loader/main.c
|
||||
+++ b/loader/main.c
|
||||
@@ -89,7 +89,8 @@ static void check_command_line( int argc, char *argv[] )
|
||||
@@ -54,7 +111,7 @@ index ac67290..b1df463 100644
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
@@ -106,6 +107,39 @@ static void check_command_line( int argc, char *argv[] )
|
||||
@@ -106,6 +107,45 @@ static void check_command_line( int argc, char *argv[] )
|
||||
printf( "%s\n", wine_get_build_id() );
|
||||
exit(0);
|
||||
}
|
||||
@@ -68,6 +125,12 @@ index ac67290..b1df463 100644
|
||||
+ }
|
||||
+ *next, *cur = wine_get_patches();
|
||||
+
|
||||
+ if (!cur)
|
||||
+ {
|
||||
+ fprintf( stderr, "Patchlist not available.\n" );
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ while (cur->author)
|
||||
+ {
|
||||
+ next = cur + 1;
|
||||
@@ -77,7 +140,7 @@ index ac67290..b1df463 100644
|
||||
+ next++;
|
||||
+ }
|
||||
+
|
||||
+ printf( "%s (%d):\n", cur->author, next - cur );
|
||||
+ printf( "%s (%d):\n", cur->author, (int)(next - cur) );
|
||||
+ while (cur < next)
|
||||
+ {
|
||||
+ printf( " %s", cur->subject );
|
||||
@@ -95,5 +158,5 @@ index ac67290..b1df463 100644
|
||||
|
||||
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@@ -1,32 +0,0 @@
|
||||
From 78ab3400ea9c3c9ae9d85f3ee2952c20c7d68f73 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 15 Sep 2014 22:55:49 +0200
|
||||
Subject: dbghelp: Don't fill KdHelp structure for usermode applications.
|
||||
|
||||
---
|
||||
dlls/dbghelp/stack.c | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/dbghelp/stack.c b/dlls/dbghelp/stack.c
|
||||
index 3e1ff72..21412f6 100644
|
||||
--- a/dlls/dbghelp/stack.c
|
||||
+++ b/dlls/dbghelp/stack.c
|
||||
@@ -240,15 +240,6 @@ BOOL WINAPI StackWalk64(DWORD MachineType, HANDLE hProcess, HANDLE hThread,
|
||||
if (!cpu->stack_walk(&csw, frame, ctx)) return FALSE;
|
||||
|
||||
/* we don't handle KdHelp */
|
||||
- frame->KdHelp.Thread = 0xC000FADE;
|
||||
- frame->KdHelp.ThCallbackStack = 0x10;
|
||||
- frame->KdHelp.ThCallbackBStore = 0;
|
||||
- frame->KdHelp.NextCallback = 0;
|
||||
- frame->KdHelp.FramePointer = 0;
|
||||
- frame->KdHelp.KiCallUserMode = 0xD000DAFE;
|
||||
- frame->KdHelp.KeUserCallbackDispatcher = 0xE000F000;
|
||||
- frame->KdHelp.SystemRangeStart = 0xC0000000;
|
||||
- frame->KdHelp.Reserved[0] /* KiUserExceptionDispatcher */ = 0xE0005000;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [37272] Don't fill KdHelp structure for usermode applications
|
@@ -1,8 +1,8 @@
|
||||
From 0d67e99a59e4b4378797368545980751d39e0198 Mon Sep 17 00:00:00 2001
|
||||
From 6a575f8176ff60cc4703e6299c38e15e5778881d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 18 Dec 2014 01:04:34 +0100
|
||||
Subject: dinput: Ensure X11 input events are handled even without explicit
|
||||
message loop.
|
||||
message loop. (try 2)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
@@ -25,29 +25,13 @@ that this isn't a complete fix. Please note that not only hooks are affected by
|
||||
this issue, also *RawInput* functions show the same issue - which is the reason why
|
||||
native dinput will still not work (already tested).
|
||||
---
|
||||
dlls/dinput/device.c | 5 +++--
|
||||
dlls/dinput/keyboard.c | 2 ++
|
||||
dlls/dinput/mouse.c | 2 ++
|
||||
dlls/user32/input.c | 14 ++++++++++----
|
||||
dlls/user32/user32.spec | 1 +
|
||||
include/winuser.h | 1 +
|
||||
5 files changed, 17 insertions(+), 6 deletions(-)
|
||||
5 files changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
|
||||
index 08ebfd7..064cdbb 100644
|
||||
--- a/dlls/dinput/device.c
|
||||
+++ b/dlls/dinput/device.c
|
||||
@@ -1631,8 +1631,9 @@ HRESULT WINAPI IDirectInputDevice2WImpl_Poll(LPDIRECTINPUTDEVICE8W iface)
|
||||
IDirectInputDeviceImpl *This = impl_from_IDirectInputDevice8W(iface);
|
||||
|
||||
if (!This->acquired) return DIERR_NOTACQUIRED;
|
||||
- /* Because wine devices do not need to be polled, just return DI_NOEFFECT */
|
||||
- return DI_NOEFFECT;
|
||||
+
|
||||
+ __wine_check_for_events( QS_ALLINPUT );
|
||||
+ return DI_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IDirectInputDevice2AImpl_Poll(LPDIRECTINPUTDEVICE8A iface)
|
||||
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
|
||||
index a5967d7..9e78257 100644
|
||||
--- a/dlls/dinput/keyboard.c
|
||||
@@ -61,8 +45,21 @@ index a5967d7..9e78257 100644
|
||||
EnterCriticalSection(&This->base.crit);
|
||||
|
||||
if (TRACE_ON(dinput)) {
|
||||
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c
|
||||
index 132efce..44e1d57 100644
|
||||
--- a/dlls/dinput/mouse.c
|
||||
+++ b/dlls/dinput/mouse.c
|
||||
@@ -552,6 +552,8 @@ static HRESULT WINAPI SysMouseWImpl_GetDeviceState(LPDIRECTINPUTDEVICE8W iface,
|
||||
|
||||
if(This->base.acquired == 0) return DIERR_NOTACQUIRED;
|
||||
|
||||
+ __wine_check_for_events( QS_ALLINPUT );
|
||||
+
|
||||
TRACE("(this=%p,0x%08x,%p):\n", This, len, ptr);
|
||||
_dump_mouse_state(&This->m_state);
|
||||
|
||||
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
|
||||
index ec81e60..5791473 100644
|
||||
index 1f05f34..23f5da8 100644
|
||||
--- a/dlls/user32/input.c
|
||||
+++ b/dlls/user32/input.c
|
||||
@@ -353,12 +353,18 @@ HWND WINAPI GetCapture(void)
|
||||
@@ -136,5 +133,5 @@ index 3d9b937..7c5c01e 100644
|
||||
#endif
|
||||
|
||||
--
|
||||
2.1.3
|
||||
2.2.2
|
||||
|
||||
|
@@ -0,0 +1,38 @@
|
||||
From 8593f7d027c48153b038895e8bc0b8fca88fd666 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 3 Feb 2015 11:07:38 +0100
|
||||
Subject: gdi32: Fix arguments for OSMesaMakeCurrent when using 16 bit formats.
|
||||
|
||||
---
|
||||
dlls/gdi32/dibdrv/opengl.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/gdi32/dibdrv/opengl.c b/dlls/gdi32/dibdrv/opengl.c
|
||||
index 28a03f4..a25da208 100644
|
||||
--- a/dlls/gdi32/dibdrv/opengl.c
|
||||
+++ b/dlls/gdi32/dibdrv/opengl.c
|
||||
@@ -251,6 +251,7 @@ static BOOL dibdrv_wglMakeCurrent( HDC hdc, struct wgl_context *context )
|
||||
HBITMAP bitmap;
|
||||
BITMAPOBJ *bmp;
|
||||
dib_info dib;
|
||||
+ GLenum type;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
if (!context)
|
||||
@@ -281,7 +282,12 @@ static BOOL dibdrv_wglMakeCurrent( HDC hdc, struct wgl_context *context )
|
||||
|
||||
TRACE( "context %p bits %p size %ux%u\n", context, bits, width, height );
|
||||
|
||||
- ret = pOSMesaMakeCurrent( context->context, bits, GL_UNSIGNED_BYTE, width, height );
|
||||
+ if (pixel_formats[context->format - 1].mesa == OSMESA_RGB_565)
|
||||
+ type = GL_UNSIGNED_SHORT_5_6_5;
|
||||
+ else
|
||||
+ type = GL_UNSIGNED_BYTE;
|
||||
+
|
||||
+ ret = pOSMesaMakeCurrent( context->context, bits, type, width, height );
|
||||
if (ret)
|
||||
{
|
||||
pOSMesaPixelStore( OSMESA_ROW_LENGTH, abs( dib.stride ) * 8 / dib.bit_count );
|
||||
--
|
||||
2.2.2
|
||||
|
1
patches/gdi32-OSMesaMakeCurrent/definition
Normal file
1
patches/gdi32-OSMesaMakeCurrent/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Fix arguments for OSMesaMakeCurrent when using 16 bit formats
|
@@ -1,4 +1,4 @@
|
||||
From 2bde361904bbd2463c8de66941e725add7a239e3 Mon Sep 17 00:00:00 2001
|
||||
From ea5ae1b1a3c8654b83f7bcdccfd29fc644e7560e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 12 Aug 2014 20:24:14 +0200
|
||||
Subject: kernel32: Implement GetFinalPathNameByHandle.
|
||||
@@ -6,9 +6,9 @@ Subject: kernel32: Implement GetFinalPathNameByHandle.
|
||||
---
|
||||
.../api-ms-win-core-file-l1-2-0.spec | 4 +-
|
||||
dlls/kernel32/file.c | 182 +++++++++++++++++++++
|
||||
dlls/kernel32/kernel32.spec | 2 +
|
||||
dlls/kernel32/kernel32.spec | 4 +-
|
||||
include/fileapi.h | 8 +
|
||||
4 files changed, 194 insertions(+), 2 deletions(-)
|
||||
4 files changed, 194 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-file-l1-2-0/api-ms-win-core-file-l1-2-0.spec b/dlls/api-ms-win-core-file-l1-2-0/api-ms-win-core-file-l1-2-0.spec
|
||||
index ebfd52e..cddf112 100644
|
||||
@@ -217,18 +217,20 @@ index 006db1c..b3cc8c3 100644
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
|
||||
index c072780..d6955d3 100644
|
||||
index 3719505..a272535 100644
|
||||
--- a/dlls/kernel32/kernel32.spec
|
||||
+++ b/dlls/kernel32/kernel32.spec
|
||||
@@ -539,6 +539,8 @@
|
||||
@ stdcall GetFileAttributesW(wstr)
|
||||
@ stdcall GetFileInformationByHandle(long ptr)
|
||||
@ stdcall GetFileInformationByHandleEx(long long ptr long)
|
||||
+@ stdcall GetFinalPathNameByHandleA(long ptr long long)
|
||||
+@ stdcall GetFinalPathNameByHandleW(long ptr long long)
|
||||
@ stdcall GetFileSize(long ptr)
|
||||
@@ -682,8 +682,8 @@
|
||||
@ stdcall GetFileSizeEx(long ptr)
|
||||
@ stdcall GetFileTime(long ptr ptr ptr)
|
||||
@ stdcall GetFileType(long)
|
||||
-# @ stub GetFinalPathNameByHandleA
|
||||
-# @ stub GetFinalPathNameByHandleW
|
||||
+@ stdcall GetFinalPathNameByHandleA(long ptr long long)
|
||||
+@ stdcall GetFinalPathNameByHandleW(long ptr long long)
|
||||
@ stdcall GetFirmwareEnvironmentVariableA(str str ptr long)
|
||||
@ stdcall GetFirmwareEnvironmentVariableW(wstr wstr ptr long)
|
||||
@ stdcall GetFullPathNameA(str long ptr ptr)
|
||||
diff --git a/include/fileapi.h b/include/fileapi.h
|
||||
index 02bbbd4..0ccf9e9 100644
|
||||
--- a/include/fileapi.h
|
||||
@@ -249,5 +251,5 @@ index 02bbbd4..0ccf9e9 100644
|
||||
}
|
||||
#endif
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 2f474554aacbbf9980c1294fe26ac2fd77df85d5 Mon Sep 17 00:00:00 2001
|
||||
From 055d712c6ebe86e06c2792d2c33cf5b9c5960cf8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 18 Oct 2014 05:57:32 +0200
|
||||
Subject: kernel32: Implement GetNumaProcessorNode.
|
||||
@@ -10,10 +10,11 @@ Subject: kernel32: Implement GetNumaProcessorNode.
|
||||
3 files changed, 30 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c
|
||||
index 0ebf8f3..c389898 100644
|
||||
index f48fcf0..886e415 100644
|
||||
--- a/dlls/kernel32/cpu.c
|
||||
+++ b/dlls/kernel32/cpu.c
|
||||
@@ -230,2 +230,30 @@ BOOL WINAPI K32GetPerformanceInfo(PPERFORMANCE_INFORMATION info, DWORD size)
|
||||
@@ -291,3 +291,31 @@ err:
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
+
|
||||
@@ -45,23 +46,23 @@ index 0ebf8f3..c389898 100644
|
||||
+ return FALSE;
|
||||
+}
|
||||
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
|
||||
index d08f90c..3de8e57 100644
|
||||
index a272535..da05859 100644
|
||||
--- a/dlls/kernel32/kernel32.spec
|
||||
+++ b/dlls/kernel32/kernel32.spec
|
||||
@@ -584,7 +584,7 @@
|
||||
@ stdcall GetNumaHighestNodeNumber(ptr)
|
||||
@@ -746,7 +746,7 @@
|
||||
@ stdcall GetNumaNodeProcessorMask(long ptr)
|
||||
# @ stub GetNumaNodeProcessorMaskEx
|
||||
# @ stub GetNumaProcessorMap
|
||||
-# @ stub GetNumaProcessorNode
|
||||
+@ stdcall GetNumaProcessorNode(long ptr)
|
||||
@ stdcall GetNumberFormatA(long long str ptr ptr long)
|
||||
@ stdcall GetNumberFormatW(long long wstr ptr ptr long)
|
||||
@ stub GetNumberOfConsoleFonts
|
||||
# @ stub GetNumaProcessorNodeEx
|
||||
# @ stub GetNumaProximityNode
|
||||
# @ stub GetNumaProximityNodeEx
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index edd6ad6..055dd00 100644
|
||||
index 0d8cede..28fb5ea 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -1939,6 +1939,7 @@ WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LP
|
||||
@@ -1953,6 +1953,7 @@ WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LP
|
||||
#define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
|
||||
WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
|
||||
WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
|
||||
@@ -70,5 +71,5 @@ index edd6ad6..055dd00 100644
|
||||
WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
|
||||
WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
|
||||
--
|
||||
1.9.1
|
||||
2.2.1
|
||||
|
||||
|
@@ -0,0 +1,36 @@
|
||||
From e88178f705163d00848d550641734f0e06855509 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Sun, 8 Feb 2015 11:32:55 +0100
|
||||
Subject: mmdevapi: Improve AEV_GetVolumeRange stub.
|
||||
|
||||
---
|
||||
dlls/mmdevapi/audiovolume.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/mmdevapi/audiovolume.c b/dlls/mmdevapi/audiovolume.c
|
||||
index 4cc3226..f174f58 100644
|
||||
--- a/dlls/mmdevapi/audiovolume.c
|
||||
+++ b/dlls/mmdevapi/audiovolume.c
|
||||
@@ -248,11 +248,16 @@ static HRESULT WINAPI AEV_QueryHardwareSupport(IAudioEndpointVolumeEx *iface, DW
|
||||
|
||||
static HRESULT WINAPI AEV_GetVolumeRange(IAudioEndpointVolumeEx *iface, float *mindb, float *maxdb, float *inc)
|
||||
{
|
||||
- TRACE("(%p)->(%p,%p,%p)\n", iface, mindb, maxdb, inc);
|
||||
+ FIXME("(%p)->(%p,%p,%p): stub\n", iface, mindb, maxdb, inc);
|
||||
+
|
||||
if (!mindb || !maxdb || !inc)
|
||||
return E_POINTER;
|
||||
- FIXME("stub\n");
|
||||
- return E_NOTIMPL;
|
||||
+
|
||||
+ *mindb = 0.0f;
|
||||
+ *maxdb = 1.0f;
|
||||
+ *inc = 0.1f;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AEV_GetVolumeRangeChannel(IAudioEndpointVolumeEx *iface, UINT chan, float *mindb, float *maxdb, float *inc)
|
||||
--
|
||||
2.2.2
|
||||
|
1
patches/mmdevapi-AEV_GetVolumeRange/definition
Normal file
1
patches/mmdevapi-AEV_GetVolumeRange/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [35658] Improve stub for AEV_GetVolumeRange
|
@@ -1,4 +1,4 @@
|
||||
From c67c9f74f97bb78a2bc8e97aab32adb236aff3da Mon Sep 17 00:00:00 2001
|
||||
From fcfa5f82a4cbb6b3871fde70e72868b0b017a386 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Thu, 16 Jan 2014 20:56:49 -0700
|
||||
Subject: ntdll: Add support for junction point creation.
|
||||
@@ -12,7 +12,7 @@ Subject: ntdll: Add support for junction point creation.
|
||||
create mode 100644 include/ntifs.h
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 56ea398..444831f 100644
|
||||
index 5232027..69e8b52 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -89,12 +89,14 @@
|
||||
@@ -30,7 +30,7 @@ index 56ea398..444831f 100644
|
||||
#define SECSPERDAY 86400
|
||||
#define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
|
||||
|
||||
@@ -1470,6 +1472,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
|
||||
@@ -1515,6 +1517,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event,
|
||||
}
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ index 56ea398..444831f 100644
|
||||
/**************************************************************************
|
||||
* NtFsControlFile [NTDLL.@]
|
||||
* ZwFsControlFile [NTDLL.@]
|
||||
@@ -1617,6 +1689,23 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
@@ -1662,6 +1734,23 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -249,12 +249,12 @@ index d70ed6b..90e753d 100644
|
||||
+ test_junction_points();
|
||||
}
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index e8d2379..d81aac0 100644
|
||||
index 49ad276..7149ea9 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -466,6 +466,7 @@ SRCDIR_INCLUDES = \
|
||||
ntddscsi.h \
|
||||
@@ -473,6 +473,7 @@ SRCDIR_INCLUDES = \
|
||||
ntddstor.h \
|
||||
ntdef.h \
|
||||
ntdsapi.h \
|
||||
+ ntifs.h \
|
||||
ntquery.h \
|
||||
@@ -319,5 +319,5 @@ index 0000000..db07c28
|
||||
+
|
||||
+#endif /* __WINE_NTIFS_H */
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 7dd7631b611976b237acc63386b26866e5b4b253 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 25 Jan 2015 15:46:05 +0100
|
||||
Subject: ntdll: Fix check for end_frame in RtlUnwindEx on x86_64.
|
||||
|
||||
---
|
||||
dlls/ntdll/signal_x86_64.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index 05581c2..e739cdb 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -3178,7 +3178,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
|
||||
dispatch.EstablisherFrame = new_context.Rsp;
|
||||
}
|
||||
|
||||
- if (context->Rsp == (ULONG64)end_frame) break;
|
||||
+ if (dispatch.EstablisherFrame == (ULONG64)end_frame) break;
|
||||
*context = new_context;
|
||||
}
|
||||
|
||||
--
|
||||
2.2.1
|
||||
|
1
patches/ntdll-RtlUnwindEx/definition
Normal file
1
patches/ntdll-RtlUnwindEx/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [34254] Fix check for end_frame in RtlUnwindEx on x86_64.
|
@@ -0,0 +1,81 @@
|
||||
From 31df48db7d885ca5679ccc010d954d5df7fba288 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 31 Jan 2015 02:26:17 +0100
|
||||
Subject: ntdll: Add threadpool stub functions to specfile.
|
||||
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 62 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 51de6e7..771f669 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -969,2 +969,64 @@
|
||||
@ stdcall RtlxUnicodeStringToOemSize(ptr) RtlUnicodeStringToOemSize
|
||||
+# @ stub TpAllocAlpcCompletion
|
||||
+# @ stub TpAllocAlpcCompletionEx
|
||||
+# @ stub TpAllocCleanupGroup
|
||||
+# @ stub TpAllocIoCompletion
|
||||
+# @ stub TpAllocJobNotification
|
||||
+# @ stub TpAllocPool
|
||||
+# @ stub TpAllocTimer
|
||||
+# @ stub TpAllocWait
|
||||
+# @ stub TpAllocWork
|
||||
+# @ stub TpAlpcRegisterCompletionList
|
||||
+# @ stub TpAlpcUnregisterCompletionList
|
||||
+# @ stub TpCallbackDetectedUnrecoverableError
|
||||
+# @ stub TpCallbackIndependent
|
||||
+# @ stub TpCallbackLeaveCriticalSectionOnCompletion
|
||||
+# @ stub TpCallbackMayRunLong
|
||||
+# @ stub TpCallbackReleaseMutexOnCompletion
|
||||
+# @ stub TpCallbackReleaseSemaphoreOnCompletion
|
||||
+# @ stub TpCallbackSendAlpcMessageOnCompletion
|
||||
+# @ stub TpCallbackSendPendingAlpcMessage
|
||||
+# @ stub TpCallbackSetEventOnCompletion
|
||||
+# @ stub TpCallbackUnloadDllOnCompletion
|
||||
+# @ stub TpCancelAsyncIoOperation
|
||||
+# @ stub TpCaptureCaller
|
||||
+# @ stub TpCheckTerminateWorker
|
||||
+# @ stub TpDbgDumpHeapUsage
|
||||
+# @ stub TpDbgSetLogRoutine
|
||||
+# @ stub TpDisablePoolCallbackChecks
|
||||
+# @ stub TpDisassociateCallback
|
||||
+# @ stub TpIsTimerSet
|
||||
+# @ stub TpPostWork
|
||||
+# @ stub TpQueryPoolStackInformation
|
||||
+# @ stub TpReleaseAlpcCompletion
|
||||
+# @ stub TpReleaseCleanupGroup
|
||||
+# @ stub TpReleaseCleanupGroupMembers
|
||||
+# @ stub TpReleaseIoCompletion
|
||||
+# @ stub TpReleaseJobNotification
|
||||
+# @ stub TpReleasePool
|
||||
+# @ stub TpReleaseTimer
|
||||
+# @ stub TpReleaseWait
|
||||
+# @ stub TpReleaseWork
|
||||
+# @ stub TpSetDefaultPoolMaxThreads
|
||||
+# @ stub TpSetDefaultPoolStackInformation
|
||||
+# @ stub TpSetPoolMaxThreads
|
||||
+# @ stub TpSetPoolMaxThreadsSoftLimit
|
||||
+# @ stub TpSetPoolMinThreads
|
||||
+# @ stub TpSetPoolStackInformation
|
||||
+# @ stub TpSetPoolThreadBasePriority
|
||||
+# @ stub TpSetPoolWorkerThreadIdleTimeout
|
||||
+# @ stub TpSetTimer
|
||||
+# @ stub TpSetTimerEx
|
||||
+# @ stub TpSetWait
|
||||
+# @ stub TpSetWaitEx
|
||||
+# @ stub TpSimpleTryPost
|
||||
+# @ stub TpStartAsyncIoOperation
|
||||
+# @ stub TpTimerOutstandingCallbackCount
|
||||
+# @ stub TpTrimPools
|
||||
+# @ stub TpWaitForAlpcCompletion
|
||||
+# @ stub TpWaitForIoCompletion
|
||||
+# @ stub TpWaitForJobNotification
|
||||
+# @ stub TpWaitForTimer
|
||||
+# @ stub TpWaitForWait
|
||||
+# @ stub TpWaitForWork
|
||||
@ stdcall -ret64 VerSetConditionMask(int64 long long)
|
||||
--
|
||||
2.2.2
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,210 @@
|
||||
From f0c8d1f64679e4777439ffc1b9d74d47287d72eb Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 1 Feb 2015 18:06:08 +0100
|
||||
Subject: ntdll: Implement additional threadpool work item functions.
|
||||
|
||||
---
|
||||
dlls/ntdll/ntdll.spec | 8 ++--
|
||||
dlls/ntdll/threadpool2.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
2 files changed, 100 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 256ec6d..bf9e795 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -975,7 +975,7 @@
|
||||
@ stdcall TpAllocPool(ptr ptr)
|
||||
# @ stub TpAllocTimer
|
||||
# @ stub TpAllocWait
|
||||
-# @ stub TpAllocWork
|
||||
+@ stdcall TpAllocWork(ptr ptr ptr ptr)
|
||||
# @ stub TpAlpcRegisterCompletionList
|
||||
# @ stub TpAlpcUnregisterCompletionList
|
||||
# @ stub TpCallbackDetectedUnrecoverableError
|
||||
@@ -996,7 +996,7 @@
|
||||
# @ stub TpDisablePoolCallbackChecks
|
||||
@ stdcall TpDisassociateCallback(ptr)
|
||||
# @ stub TpIsTimerSet
|
||||
-# @ stub TpPostWork
|
||||
+@ stdcall TpPostWork(ptr)
|
||||
# @ stub TpQueryPoolStackInformation
|
||||
# @ stub TpReleaseAlpcCompletion
|
||||
@ stdcall TpReleaseCleanupGroup(ptr)
|
||||
@@ -1006,7 +1006,7 @@
|
||||
@ stdcall TpReleasePool(ptr)
|
||||
# @ stub TpReleaseTimer
|
||||
# @ stub TpReleaseWait
|
||||
-# @ stub TpReleaseWork
|
||||
+@ stdcall TpReleaseWork(ptr)
|
||||
# @ stub TpSetDefaultPoolMaxThreads
|
||||
# @ stub TpSetDefaultPoolStackInformation
|
||||
@ stdcall TpSetPoolMaxThreads(ptr long)
|
||||
@@ -1030,3 +1030,3 @@
|
||||
# @ stub TpWaitForWait
|
||||
-# @ stub TpWaitForWork
|
||||
+@ stdcall TpWaitForWork(ptr long)
|
||||
@ stdcall -ret64 VerSetConditionMask(int64 long long)
|
||||
diff --git a/dlls/ntdll/threadpool2.c b/dlls/ntdll/threadpool2.c
|
||||
index c4e2d21..a6fd141 100644
|
||||
--- a/dlls/ntdll/threadpool2.c
|
||||
+++ b/dlls/ntdll/threadpool2.c
|
||||
@@ -123,7 +123,8 @@ struct threadpool_object
|
||||
enum
|
||||
{
|
||||
TP_OBJECT_TYPE_UNDEFINED,
|
||||
- TP_OBJECT_TYPE_SIMPLE
|
||||
+ TP_OBJECT_TYPE_SIMPLE,
|
||||
+ TP_OBJECT_TYPE_WORK
|
||||
} type;
|
||||
|
||||
/* arguments for callback */
|
||||
@@ -134,6 +135,11 @@ struct threadpool_object
|
||||
{
|
||||
PTP_SIMPLE_CALLBACK callback;
|
||||
} simple;
|
||||
+ /* work callback */
|
||||
+ struct
|
||||
+ {
|
||||
+ PTP_WORK_CALLBACK callback;
|
||||
+ } work;
|
||||
} u;
|
||||
};
|
||||
|
||||
@@ -153,6 +159,13 @@ static inline struct threadpool *impl_from_TP_POOL( TP_POOL *pool )
|
||||
return (struct threadpool *)pool;
|
||||
}
|
||||
|
||||
+static inline struct threadpool_object *impl_from_TP_WORK( TP_WORK *work )
|
||||
+{
|
||||
+ struct threadpool_object *object = (struct threadpool_object *)work;
|
||||
+ assert( !object || object->type == TP_OBJECT_TYPE_WORK );
|
||||
+ return object;
|
||||
+}
|
||||
+
|
||||
static inline struct threadpool_group *impl_from_TP_CLEANUP_GROUP( TP_CLEANUP_GROUP *group )
|
||||
{
|
||||
return (struct threadpool_group *)group;
|
||||
@@ -423,6 +436,16 @@ static void CALLBACK threadpool_worker_proc( void *param )
|
||||
break;
|
||||
}
|
||||
|
||||
+ case TP_OBJECT_TYPE_WORK:
|
||||
+ {
|
||||
+ TP_CALLBACK_INSTANCE *cb_instance = (TP_CALLBACK_INSTANCE *)&instance;
|
||||
+ TRACE( "executing callback %p(%p, %p, %p)\n",
|
||||
+ object->u.work.callback, cb_instance, object->userdata, object );
|
||||
+ object->u.work.callback( cb_instance, object->userdata, (TP_WORK *)object );
|
||||
+ TRACE( "callback %p returned\n", object->u.work.callback );
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
default:
|
||||
FIXME( "callback type %u not implemented\n", object->type );
|
||||
break;
|
||||
@@ -578,6 +601,29 @@ static NTSTATUS tp_object_submit_simple( PTP_SIMPLE_CALLBACK callback, PVOID use
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
+static NTSTATUS tp_object_alloc_work( struct threadpool_object **out, PTP_WORK_CALLBACK callback,
|
||||
+ PVOID userdata, TP_CALLBACK_ENVIRON *environment )
|
||||
+{
|
||||
+ struct threadpool_object *object;
|
||||
+ struct threadpool *pool;
|
||||
+
|
||||
+ /* determine threadpool */
|
||||
+ pool = environment ? (struct threadpool *)environment->Pool : NULL;
|
||||
+ if (!pool) pool = get_default_threadpool();
|
||||
+ if (!pool) return STATUS_NO_MEMORY;
|
||||
+
|
||||
+ object = RtlAllocateHeap( GetProcessHeap(), 0, sizeof(*object) );
|
||||
+ if (!object)
|
||||
+ return STATUS_NO_MEMORY;
|
||||
+
|
||||
+ object->type = TP_OBJECT_TYPE_WORK;
|
||||
+ object->u.work.callback = callback;
|
||||
+ tp_object_initialize( object, pool, userdata, environment, FALSE );
|
||||
+
|
||||
+ *out = object;
|
||||
+ return STATUS_SUCCESS;
|
||||
+}
|
||||
+
|
||||
static BOOL tp_object_release( struct threadpool_object *object )
|
||||
{
|
||||
struct threadpool_group *group;
|
||||
@@ -816,6 +862,16 @@ NTSTATUS WINAPI TpAllocPool( TP_POOL **out, PVOID reserved )
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * TpAllocWork (NTDLL.@)
|
||||
+ */
|
||||
+NTSTATUS WINAPI TpAllocWork( TP_WORK **out, PTP_WORK_CALLBACK callback, PVOID userdata,
|
||||
+ TP_CALLBACK_ENVIRON *environment )
|
||||
+{
|
||||
+ TRACE("%p %p %p %p\n", out, callback, userdata, environment);
|
||||
+ return tp_object_alloc_work( (struct threadpool_object **)out, callback, userdata, environment );
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* TpCallbackLeaveCriticalSectionOnCompletion (NTDLL.@)
|
||||
*/
|
||||
VOID WINAPI TpCallbackLeaveCriticalSectionOnCompletion( TP_CALLBACK_INSTANCE *instance, CRITICAL_SECTION *crit )
|
||||
@@ -910,6 +966,16 @@ VOID WINAPI TpDisassociateCallback( TP_CALLBACK_INSTANCE *instance )
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * TpPostWork (NTDLL.@)
|
||||
+ */
|
||||
+VOID WINAPI TpPostWork( TP_WORK *work )
|
||||
+{
|
||||
+ struct threadpool_object *this = impl_from_TP_WORK( work );
|
||||
+ TRACE("%p\n", work);
|
||||
+ if (this) tp_object_submit( this );
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* TpReleaseCleanupGroup (NTDLL.@)
|
||||
*/
|
||||
VOID WINAPI TpReleaseCleanupGroup( TP_CLEANUP_GROUP *group )
|
||||
@@ -948,6 +1014,20 @@ VOID WINAPI TpReleasePool( TP_POOL *pool )
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
+ * TpReleaseWork (NTDLL.@)
|
||||
+ */
|
||||
+VOID WINAPI TpReleaseWork( TP_WORK *work )
|
||||
+{
|
||||
+ struct threadpool_object *this = impl_from_TP_WORK( work );
|
||||
+ TRACE("%p\n", work);
|
||||
+ if (this)
|
||||
+ {
|
||||
+ tp_object_shutdown( this );
|
||||
+ tp_object_release( this );
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
* TpSetPoolMaxThreads (NTDLL.@)
|
||||
*/
|
||||
VOID WINAPI TpSetPoolMaxThreads( TP_POOL *pool, DWORD maximum )
|
||||
@@ -976,3 +1056,18 @@ NTSTATUS WINAPI TpSimpleTryPost( PTP_SIMPLE_CALLBACK callback, PVOID userdata, T
|
||||
TRACE("%p %p %p\n", callback, userdata, environment);
|
||||
return tp_object_submit_simple( callback, userdata, environment );
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * TpWaitForWork (NTDLL.@)
|
||||
+ */
|
||||
+VOID WINAPI TpWaitForWork( TP_WORK *work, BOOL cancel_pending )
|
||||
+{
|
||||
+ struct threadpool_object *this = impl_from_TP_WORK( work );
|
||||
+ TRACE("%p %d\n", work, cancel_pending);
|
||||
+ if (this)
|
||||
+ {
|
||||
+ if (cancel_pending)
|
||||
+ tp_object_cancel( this, FALSE, NULL );
|
||||
+ tp_object_wait( this );
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.2.2
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user