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
83 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
14dd3801bf | ||
|
d9dc8f76ba | ||
|
0201a48e29 | ||
|
0f0f8d3d6f | ||
|
2971d1f90b | ||
|
5c6cef5ac8 | ||
|
152e0e26a9 | ||
|
ffd1b6cd6a | ||
|
48a7480fc5 | ||
|
c0f9ca2ab5 | ||
|
f30b0e34fb | ||
|
eadd577d84 | ||
|
60f7d52725 | ||
|
f474c5783f | ||
|
c466779d90 | ||
|
825711fcc7 | ||
|
47a163dcef | ||
|
fc24ba3f65 | ||
|
824469b329 | ||
|
5db9d0a105 | ||
|
88e30c29c4 | ||
|
50db62e9f4 | ||
|
78156b24d4 | ||
|
2a4af68e93 | ||
|
5bb17cb9ed | ||
|
7ba4197cbe | ||
|
26f47c8dd8 | ||
|
ca389f162a | ||
|
150dc70e53 | ||
|
8369b0ce86 | ||
|
ec9701cec2 | ||
|
0feae4d437 | ||
|
f8befaf7fa | ||
|
ca0d3d1dca | ||
|
7bcb2e7adb | ||
|
2f2045c5c8 | ||
|
526c93c453 | ||
|
e39c803fac | ||
|
00872dd69c | ||
|
fb6a771a44 | ||
|
f317ba0b0c | ||
|
c67647eb73 | ||
|
5420552434 | ||
|
748696d2bd | ||
|
1e1522ed25 | ||
|
abfee2d1b4 | ||
|
9a82696680 | ||
|
d7a1c87111 | ||
|
2e2178f595 | ||
|
90bd4d997c | ||
|
557a9e9899 | ||
|
50794f220a | ||
|
bb57db5f98 | ||
|
4afa857aee | ||
|
db0fd400e4 | ||
|
e6d0cbe554 | ||
|
c17a70e03f | ||
|
9d92d67b75 | ||
|
7f503dd5f1 | ||
|
81ffd32566 | ||
|
432cb9a889 | ||
|
dd4efb315a | ||
|
1979f90644 | ||
|
3a7d42fd2c | ||
|
bb565dbad1 | ||
|
e4caae5b65 | ||
|
c2bceff255 | ||
|
2741db55bd | ||
|
3b946491da | ||
|
0301a239d6 | ||
|
7c3d480e56 | ||
|
50b6b69053 | ||
|
cc1292a1ac | ||
|
3741c4fe33 | ||
|
744f67198c | ||
|
3d68d500d9 | ||
|
2bdc19de1a | ||
|
6a390b6b9a | ||
|
41293aeb8d | ||
|
26b52cdc49 | ||
|
cc5b91441d | ||
|
d31c55702c | ||
|
54b4500a85 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,5 +1,4 @@
|
||||
debian/tools/wine
|
||||
.depcache
|
||||
.srccache
|
||||
.patchupdate.cache
|
||||
*.ok
|
||||
*.pyc
|
||||
|
152
DEVELOPER.md
152
DEVELOPER.md
@@ -1,152 +0,0 @@
|
||||
Developers and maintainers guide
|
||||
================================
|
||||
|
||||
This document will provide some information targeted at developers, who
|
||||
either want to build/package Wine Staging for their distribution, but also
|
||||
for developers who would like to contribute their patches to Wine Staging,
|
||||
to get them included in future releases.
|
||||
|
||||
|
||||
|
||||
Compiling Wine Staging
|
||||
======================
|
||||
|
||||
**Warning:** Please note that starting with Staging 1.7.23 it is
|
||||
deprecated to manually apply patches without using the Makefile. To avoid
|
||||
typical pitfalls for package maintainers (like trying to use the patch
|
||||
commandline utility for binary patches or not updating the patchlist) it is
|
||||
highly recommended to use the Makefile in order to apply all patches. This
|
||||
ensures that the the correct patch utility is used, that the list of patches
|
||||
is updated appropriately, and so on. Please note that it is still possible
|
||||
to exclude patches if desired, take a look at the end of this document for
|
||||
more details.
|
||||
|
||||
Instructions
|
||||
------------
|
||||
|
||||
The following instructions (based on the [Gentoo
|
||||
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
|
||||
will give a short overview how to compile Wine Staging, but of course not
|
||||
explain all details. Make sure to install all required Wine dependencies
|
||||
before proceeding.
|
||||
|
||||
As the first step please grab the latest Wine source:
|
||||
```bash
|
||||
wget http://prdownloads.sourceforge.net/wine/wine-1.7.31.tar.bz2
|
||||
wget https://github.com/wine-compholio/wine-staging/archive/v1.7.31.tar.gz
|
||||
```
|
||||
|
||||
Extract the archives:
|
||||
```bash
|
||||
tar xvjf wine-1*.tar.bz2
|
||||
cd wine-1*
|
||||
tar xvzf ../v1.7.31.tar.gz --strip-components 1
|
||||
```
|
||||
|
||||
And apply the patches:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) install
|
||||
```
|
||||
|
||||
Afterwards run configure (you can also specify a prefix if you don't want to install
|
||||
Wine Staging system-wide):
|
||||
```bash
|
||||
./configure --with-xattr
|
||||
```
|
||||
|
||||
Before you continue you should make sure that `./configure` doesn't show any
|
||||
warnings (look at the end of the output). If there are any warnings, this
|
||||
most likely means that you're missing some important header files. Install
|
||||
them and repeat the `./configure` step until all problems are fixed.
|
||||
|
||||
Afterwards compile it (and grab a cup of coffee):
|
||||
```bash
|
||||
make
|
||||
```
|
||||
|
||||
And install it (you only need sudo for a system-wide installation):
|
||||
```bash
|
||||
sudo make install
|
||||
```
|
||||
|
||||
Excluding patches
|
||||
-----------------
|
||||
|
||||
It is also possible to apply only a subset of the patches, for example if
|
||||
you're compiling for a distribution where PulseAudio is not installed, or
|
||||
if you just don't like a specific patchset. Please note that some patchsets
|
||||
depend on each other, and requesting an impossible situation might result
|
||||
in a failure to apply all patches.
|
||||
|
||||
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
|
||||
just invoke the Makefile like this:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
|
||||
```
|
||||
|
||||
Using the same method its also possible to exclude multiple patchsets. If you
|
||||
want to exclude a very large number of patches, it is easier to do specify
|
||||
a list of patches which should be included instead. To apply for example
|
||||
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
|
||||
```
|
||||
|
||||
|
||||
Contributing to Wine Staging
|
||||
============================
|
||||
|
||||
Please note that Wine Staging is not just an arbitrary collection of Wine
|
||||
patches. We see Wine Staging as a **testing version** in preparation for
|
||||
patches to be submitted to upstream Wine. This implies that all patches should
|
||||
at least have a minimum standard quality. Unlike some other PPAs/AURs which
|
||||
provide heavily patched Wine versions, we will not accept hacks for very
|
||||
specific games. Such hacks often break compatibility with other applications,
|
||||
which means we probably don't want to include them, sorry.
|
||||
|
||||
If you think your patches are indeed a proper implementation, then feel free
|
||||
to contribute them. Please note that to allow possible later inclusion
|
||||
into upstream Wine, we will require you to pay attention to the same
|
||||
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
|
||||
give us up to about a week to review them - we're a very small team, so
|
||||
it might take some time, and we want to make sure that the implementation
|
||||
doesn't contain any critical errors, which could cause regressions. If you
|
||||
want to contribute huge sets of patches, we would really like you to *stay
|
||||
contributing* in the future. Even if we accepted your patches, this doesn't
|
||||
necessary mean we understand all of it, and if you cannot or don't want
|
||||
to maintain them (especially in case of errors, or difficult rebasing),
|
||||
we will probably end up removing them again.
|
||||
|
||||
You can also suggest adding patches written by other people - in this case
|
||||
your request should include who wrote the patch. Anonymous patches which
|
||||
don't include the author information aren't welcome, similar to the rules
|
||||
for upstream Wine.
|
||||
|
||||
|
||||
Attribution guidelines
|
||||
----------------------
|
||||
|
||||
The Wine Staging repository expects all patches to conform to
|
||||
Wine's (undocumented) attribution guidelines. There are a variety of ways
|
||||
to attribute patches, but they all involve an additional line to the patch
|
||||
subject:
|
||||
|
||||
```
|
||||
commit 0000000000000000000000000000000000000000
|
||||
Author: Example Author <example.email@email-provider.com>
|
||||
Date: Sat Jul 26 12:31:50 2014 -0600
|
||||
|
||||
Name of patch.
|
||||
|
||||
TYPE-OF-ATTRIBUTION.
|
||||
```
|
||||
|
||||
TYPE-OF-ATTRIBUTION can be any of the following:
|
||||
|
||||
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
|
||||
should receive appropriate credit for finding the problem - even though
|
||||
their patch was not used in the final implementation.
|
||||
|
||||
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
|
||||
for the patch, some modifications were made to their patch - but they should
|
||||
receive credit since the original implementation was theirs.
|
32
README.md
32
README.md
@@ -2,9 +2,8 @@ What is Wine Staging?
|
||||
=====================
|
||||
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look at our
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Reporting-bugs)
|
||||
for more information about how to report bugs.**
|
||||
Please take a look [here](http://bugs.wine-staging.com) for more information
|
||||
about how to report bugs.**
|
||||
|
||||
**Wine Staging** (formerly wine-compholio) is a special wine version containing
|
||||
bug fixes and features that are not yet available in regular wine versions. The
|
||||
@@ -24,8 +23,7 @@ How to install and use Wine Staging
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions available on the
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
|
||||
instructions available on the [website](http://www.wine-staging.com/install.html).
|
||||
|
||||
When using Wine Staging there are a few differences compared to regular
|
||||
Wine. The main difference is that it is not sufficient to type `wine` to
|
||||
@@ -39,20 +37,21 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugs fixed in Wine Staging 1.7.31 [101]:**
|
||||
**Bugs fixed in Wine Staging 1.7.33 [119]:**
|
||||
|
||||
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](https://bugs.winehq.org/show_bug.cgi?id=21767))
|
||||
* 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 stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
|
||||
* Allow selection of audio device for PulseAudio backend
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
* Avoid crashing when broken app tries to release surface although refcount is zero ([Wine Bug #18477](https://bugs.winehq.org/show_bug.cgi?id=18477))
|
||||
* Avoid sending window messages in FindWindowExW ([Wine Bug #27282](https://bugs.winehq.org/show_bug.cgi?id=27282))
|
||||
* CoWaitForMultipleHandles shouldn't process window events when APC calls are queued ([Wine Bug #32568](https://bugs.winehq.org/show_bug.cgi?id=32568))
|
||||
* Avoid race-conditions of async WSARecv() operations with write watches.
|
||||
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
|
||||
* Correctly treat '.' when checking for empty directories ([Wine Bug #26272](https://bugs.winehq.org/show_bug.cgi?id=26272))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
@@ -65,22 +64,30 @@ Included bug fixes and improvements
|
||||
* FairplayKD.sys needs KeSetSystemAffinityThread ([Wine Bug #36822](https://bugs.winehq.org/show_bug.cgi?id=36822))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* 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 of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* 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 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))
|
||||
* Fix issues when driver dispatch routine returns different status codes ([Wine Bug #30155](https://bugs.winehq.org/show_bug.cgi?id=30155))
|
||||
* 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 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))
|
||||
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
|
||||
* 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))
|
||||
* 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))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* 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 stubs for mfplat.MFStartup and MFShutdown ([Wine Bug #37701](https://bugs.winehq.org/show_bug.cgi?id=37701))
|
||||
* Improvement for heap allocation performance
|
||||
* Initialize irp.Tail.Overlay.OriginalFileObject with stub file object ([Wine Bug #37537](https://bugs.winehq.org/show_bug.cgi?id=37537))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
@@ -92,6 +99,8 @@ Included bug fixes and improvements
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
* Other Pipelight-specific enhancements
|
||||
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))
|
||||
* Provide named entry point shell32.SHILCreateFromPath for vista apps ([Wine Bug #37265](https://bugs.winehq.org/show_bug.cgi?id=37265))
|
||||
* Reallocate buffer when adding records to AVI files ([Wine Bug #5137](https://bugs.winehq.org/show_bug.cgi?id=5137))
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
@@ -99,8 +108,10 @@ Included bug fixes and improvements
|
||||
* Return more context attributes in schan_InitializeSecurityContextW ([Wine Bug #37527](https://bugs.winehq.org/show_bug.cgi?id=37527))
|
||||
* SO_CONNECT_TIME returns the appropriate time
|
||||
* 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))
|
||||
* 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))
|
||||
* Support for CSMT (command stream) to increase graphic performance ([Wine Bug #11674](https://bugs.winehq.org/show_bug.cgi?id=11674))
|
||||
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
@@ -112,6 +123,7 @@ Included bug fixes and improvements
|
||||
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
|
||||
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](https://bugs.winehq.org/show_bug.cgi?id=18303))
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for K32EnumProcessModulesEx ([Wine Bug #34864](https://bugs.winehq.org/show_bug.cgi?id=34864))
|
||||
* 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 NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
@@ -119,13 +131,16 @@ Included bug fixes and improvements
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for StrCatChainW
|
||||
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for UTF7 encoding/decoding ([Wine Bug #27388](https://bugs.winehq.org/show_bug.cgi?id=27388))
|
||||
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
|
||||
* Support for combase HSTRING objects
|
||||
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
|
||||
* Support for inherited file ACLs ([Wine Bug #34406](https://bugs.winehq.org/show_bug.cgi?id=34406))
|
||||
* Support for interface change notifications ([Wine Bug #32328](https://bugs.winehq.org/show_bug.cgi?id=32328))
|
||||
* Support for loader dll redirections
|
||||
* 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))
|
||||
@@ -142,4 +157,5 @@ Included bug fixes and improvements
|
||||
* nVidia driver for high-end laptop cards does not list all supported resolutions
|
||||
* vSphere needs IoCsqInitialize ([Wine Bug #36777](https://bugs.winehq.org/show_bug.cgi?id=36777))
|
||||
* wglDescribePixelFormat should return max index for NULL descriptor ([Wine Bug #6176](https://bugs.winehq.org/show_bug.cgi?id=6176))
|
||||
* wininet should allow Accept-Encoding header for HTTP/1.0 ([Wine Bug #37046](https://bugs.winehq.org/show_bug.cgi?id=37046))
|
||||
|
||||
|
59
debian/changelog
vendored
59
debian/changelog
vendored
@@ -1,3 +1,62 @@
|
||||
wine-compholio (1.7.33) unstable; urgency=low
|
||||
* Various improvements of patchupdate.py.
|
||||
* Added patches for wined3d CSMT (command stream) support.
|
||||
* Added additional tests for VerifyVersionInfoA.
|
||||
* Added patch to fix condition handling in RtlVerifyVersionInfo.
|
||||
* Added patch to set last error when GetRawInputDeviceList fails.
|
||||
* Added patch to fix possible segfault in pulse_rd_loop of PulseAudio backend.
|
||||
* Added patch to implement support for GetPropValue to PulseAudio backend.
|
||||
* Added patch to implement shlwapi.StrCatChainW.
|
||||
* Added patch to allow Accept-Encoding for HTTP/1.0 in wininet.
|
||||
* Added patch for combase HSTRING objects.
|
||||
* Added patch to implement stubs for MFStartup and MFShutdown.
|
||||
* Added patch for additional tests of CoWaitForMultipleHandles with WM_QUIT.
|
||||
* Added patch to fix return value of ScrollWindowEx for invisible windows.
|
||||
* Added patch to ignore unsupported flags for CoInternetSetFeatureEnabled.
|
||||
* Added patch to provide named entry point shell32.SHILCreateFromPath for vista apps.
|
||||
* Added patch to reallocate buffer when adding records to AVI files.
|
||||
* Added patch to implement support for loader dll redirections.
|
||||
* Added patch to add winecfg Staging tab.
|
||||
* Removed patch to fix copy and paste errors in ws2_32 tests (accepted upstream).
|
||||
* Removed patch to fix ordering of IP addresses by metric if two addresses have the same metric (accepted upstream).
|
||||
* Removed patch to reset data->pWintrustData->u.pFile->hFile after closing handle (accepted upstream).
|
||||
* Removed patch to simplify implementation of ws32 get_poll_results (accepted upstream).
|
||||
* Removed patch to fix passing of unicode environment from msvcrt to CreateProcessW (accepted upstream).
|
||||
* Removed patches for api-ms-win-core-* stub dlls (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 15 Dec 2014 00:53:01 +0100
|
||||
|
||||
wine-compholio (1.7.32) unstable; urgency=low
|
||||
* Various optimizations of patchupdate.py.
|
||||
* Update patch for SO_CONNECT_TIME and adding better tests.
|
||||
* Update patch for FD Cache and use faster method on x86_64.
|
||||
* Added patch to ensure dbghelp always checks for debug symbols in BINDIR.
|
||||
* Added patch for pulseaudio exclusive mode support.
|
||||
* Added patch to take abs() of vertex z coordinate as FFP fog coordinate.
|
||||
* Added patch to ensure ShowWindow avoids interthread no-op messages.
|
||||
* Added patch to avoid race-conditions of async WSARecv() operations with write watches.
|
||||
* Added patch to fix issues with write watches when using Exagear.
|
||||
* Added patch to avoid failure because of missing ptrace support for Exagear.
|
||||
* Added patch to automatically detect if tests are running under Wine.
|
||||
* Added patch to avoid sending unexpected wakeup with uninitialized cookie value.
|
||||
* Added patch to fix issues with dragging layers between images in Adobe Photoshop 7.0.
|
||||
* Added patch to ensure wintrust resets data->pWintrustData->u.pFile->hFile after closing handle.
|
||||
* Added patch to add additional format conversions for DXT1 and DXT3.
|
||||
* Added patch to implement stubs for additional api-ms-win-core-* dlls.
|
||||
* Added patch to fix copy and paste error recently introduced in ws2_32 tests.
|
||||
* Added patch to change bug reporting URL in winedbg.
|
||||
* Added patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx.
|
||||
* Added patch to fix ordering of IP addresses by metric if two addresses have the same metric.
|
||||
* Added patch to fix handling of empty section and key name for profile files.
|
||||
* Added patch to fix passing of unicode environment from msvcrt to CreateProcessW.
|
||||
* Removed patch to close server fd is there is no space in thread inflight fd list (accepted upstream).
|
||||
* Removed patch to fix bugs in StrStr functions (accepted upstream).
|
||||
* Removed patches to avoid sending messages in FindWindowExW (accepted upstream).
|
||||
* Removed patch to fix implementation ofCoWaitForMultipleHandles (accepted upstream).
|
||||
* Removed patch to avoid interthread no-op messages in ShowWindow (accepted upstream).
|
||||
* Removed patches to take abs() of vertex z coordinate as FFP fog coordinate (fixed upstream).
|
||||
* Removed patch to fix detection of gnutls on Ubuntu 14.10.
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 30 Nov 2014 15:22:49 +0100
|
||||
|
||||
wine-compholio (1.7.31) unstable; urgency=low
|
||||
* Improve output of 'wine --patches' and simplify syntax of definition files.
|
||||
* Update kernel32-GetSystemTimes patches.
|
||||
|
152
debian/tools/DEVELOPER.md.in
vendored
152
debian/tools/DEVELOPER.md.in
vendored
@@ -1,152 +0,0 @@
|
||||
Developers and maintainers guide
|
||||
================================
|
||||
|
||||
This document will provide some information targeted at developers, who
|
||||
either want to build/package Wine Staging for their distribution, but also
|
||||
for developers who would like to contribute their patches to Wine Staging,
|
||||
to get them included in future releases.
|
||||
|
||||
|
||||
|
||||
Compiling Wine Staging
|
||||
======================
|
||||
|
||||
**Warning:** Please note that starting with Staging 1.7.23 it is
|
||||
deprecated to manually apply patches without using the Makefile. To avoid
|
||||
typical pitfalls for package maintainers (like trying to use the patch
|
||||
commandline utility for binary patches or not updating the patchlist) it is
|
||||
highly recommended to use the Makefile in order to apply all patches. This
|
||||
ensures that the the correct patch utility is used, that the list of patches
|
||||
is updated appropriately, and so on. Please note that it is still possible
|
||||
to exclude patches if desired, take a look at the end of this document for
|
||||
more details.
|
||||
|
||||
Instructions
|
||||
------------
|
||||
|
||||
The following instructions (based on the [Gentoo
|
||||
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
|
||||
will give a short overview how to compile Wine Staging, but of course not
|
||||
explain all details. Make sure to install all required Wine dependencies
|
||||
before proceeding.
|
||||
|
||||
As the first step please grab the latest Wine source:
|
||||
```bash
|
||||
wget http://prdownloads.sourceforge.net/wine/wine-{version}.tar.bz2
|
||||
wget https://github.com/wine-compholio/wine-staging/archive/v{version}.tar.gz
|
||||
```
|
||||
|
||||
Extract the archives:
|
||||
```bash
|
||||
tar xvjf wine-1*.tar.bz2
|
||||
cd wine-1*
|
||||
tar xvzf ../v{version}.tar.gz --strip-components 1
|
||||
```
|
||||
|
||||
And apply the patches:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) install
|
||||
```
|
||||
|
||||
Afterwards run configure (you can also specify a prefix if you don't want to install
|
||||
Wine Staging system-wide):
|
||||
```bash
|
||||
./configure --with-xattr
|
||||
```
|
||||
|
||||
Before you continue you should make sure that `./configure` doesn't show any
|
||||
warnings (look at the end of the output). If there are any warnings, this
|
||||
most likely means that you're missing some important header files. Install
|
||||
them and repeat the `./configure` step until all problems are fixed.
|
||||
|
||||
Afterwards compile it (and grab a cup of coffee):
|
||||
```bash
|
||||
make
|
||||
```
|
||||
|
||||
And install it (you only need sudo for a system-wide installation):
|
||||
```bash
|
||||
sudo make install
|
||||
```
|
||||
|
||||
Excluding patches
|
||||
-----------------
|
||||
|
||||
It is also possible to apply only a subset of the patches, for example if
|
||||
you're compiling for a distribution where PulseAudio is not installed, or
|
||||
if you just don't like a specific patchset. Please note that some patchsets
|
||||
depend on each other, and requesting an impossible situation might result
|
||||
in a failure to apply all patches.
|
||||
|
||||
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
|
||||
just invoke the Makefile like this:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
|
||||
```
|
||||
|
||||
Using the same method its also possible to exclude multiple patchsets. If you
|
||||
want to exclude a very large number of patches, it is easier to do specify
|
||||
a list of patches which should be included instead. To apply for example
|
||||
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
|
||||
```bash
|
||||
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
|
||||
```
|
||||
|
||||
|
||||
Contributing to Wine Staging
|
||||
============================
|
||||
|
||||
Please note that Wine Staging is not just an arbitrary collection of Wine
|
||||
patches. We see Wine Staging as a **testing version** in preparation for
|
||||
patches to be submitted to upstream Wine. This implies that all patches should
|
||||
at least have a minimum standard quality. Unlike some other PPAs/AURs which
|
||||
provide heavily patched Wine versions, we will not accept hacks for very
|
||||
specific games. Such hacks often break compatibility with other applications,
|
||||
which means we probably don't want to include them, sorry.
|
||||
|
||||
If you think your patches are indeed a proper implementation, then feel free
|
||||
to contribute them. Please note that to allow possible later inclusion
|
||||
into upstream Wine, we will require you to pay attention to the same
|
||||
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
|
||||
give us up to about a week to review them - we're a very small team, so
|
||||
it might take some time, and we want to make sure that the implementation
|
||||
doesn't contain any critical errors, which could cause regressions. If you
|
||||
want to contribute huge sets of patches, we would really like you to *stay
|
||||
contributing* in the future. Even if we accepted your patches, this doesn't
|
||||
necessary mean we understand all of it, and if you cannot or don't want
|
||||
to maintain them (especially in case of errors, or difficult rebasing),
|
||||
we will probably end up removing them again.
|
||||
|
||||
You can also suggest adding patches written by other people - in this case
|
||||
your request should include who wrote the patch. Anonymous patches which
|
||||
don't include the author information aren't welcome, similar to the rules
|
||||
for upstream Wine.
|
||||
|
||||
|
||||
Attribution guidelines
|
||||
----------------------
|
||||
|
||||
The Wine Staging repository expects all patches to conform to
|
||||
Wine's (undocumented) attribution guidelines. There are a variety of ways
|
||||
to attribute patches, but they all involve an additional line to the patch
|
||||
subject:
|
||||
|
||||
```
|
||||
commit 0000000000000000000000000000000000000000
|
||||
Author: Example Author <example.email@email-provider.com>
|
||||
Date: Sat Jul 26 12:31:50 2014 -0600
|
||||
|
||||
Name of patch.
|
||||
|
||||
TYPE-OF-ATTRIBUTION.
|
||||
```
|
||||
|
||||
TYPE-OF-ATTRIBUTION can be any of the following:
|
||||
|
||||
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
|
||||
should receive appropriate credit for finding the problem - even though
|
||||
their patch was not used in the final implementation.
|
||||
|
||||
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
|
||||
for the patch, some modifications were made to their patch - but they should
|
||||
receive credit since the original implementation was theirs.
|
8
debian/tools/README.md.in
vendored
8
debian/tools/README.md.in
vendored
@@ -2,9 +2,8 @@ What is Wine Staging?
|
||||
=====================
|
||||
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look at our
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Reporting-bugs)
|
||||
for more information about how to report bugs.**
|
||||
Please take a look [here](http://bugs.wine-staging.com) for more information
|
||||
about how to report bugs.**
|
||||
|
||||
**Wine Staging** (formerly wine-compholio) is a special wine version containing
|
||||
bug fixes and features that are not yet available in regular wine versions. The
|
||||
@@ -24,8 +23,7 @@ How to install and use Wine Staging
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions available on the
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
|
||||
instructions available on the [website](http://www.wine-staging.com/install.html).
|
||||
|
||||
When using Wine Staging there are a few differences compared to regular
|
||||
Wine. The main difference is that it is not sufficient to type `wine` to
|
||||
|
4
debian/tools/patchlist.sh
vendored
4
debian/tools/patchlist.sh
vendored
@@ -4,12 +4,10 @@ PATCH_LINES=$(echo "${PATCH_DATA}" | wc -l);
|
||||
PATCH_LINES=$((${PATCH_LINES}+23));
|
||||
|
||||
cat <<EOF
|
||||
From: FDS-Team <webmaster@fds-team.de>
|
||||
From: Wine Staging Team <webmaster@fds-team.de>
|
||||
Subject: Autogenerated patch list.
|
||||
|
||||
---
|
||||
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);
|
||||
|
421
debian/tools/patchupdate.py
vendored
421
debian/tools/patchupdate.py
vendored
File diff suppressed because it is too large
Load Diff
453
debian/tools/patchutils.py
vendored
453
debian/tools/patchutils.py
vendored
File diff suppressed because it is too large
Load Diff
106
debian/tools/progressbar.py
vendored
Normal file
106
debian/tools/progressbar.py
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
#!/usr/bin/python2
|
||||
#
|
||||
# Python progressbar functions.
|
||||
#
|
||||
# Copyright (C) 2014 Sebastian Lackner
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
#
|
||||
|
||||
import fcntl
|
||||
import os
|
||||
import signal
|
||||
import struct
|
||||
import sys
|
||||
import termios
|
||||
|
||||
def _sig_winch(signum=None, frame=None):
|
||||
"""Signal handler for SIGWINCH."""
|
||||
global _term_width
|
||||
h, w, hp, wp = struct.unpack('HHHH', fcntl.ioctl(sys.stdout.fileno(),
|
||||
termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0)))
|
||||
_term_width = w
|
||||
|
||||
try:
|
||||
_sig_winch()
|
||||
signal.signal(signal.SIGWINCH, _sig_winch)
|
||||
except IOError:
|
||||
_term_width = int(os.environ.get('COLUMNS', 80)) - 1
|
||||
|
||||
class ProgressBar(object):
|
||||
def __init__(self, desc="", msg=None, current=0, total=100):
|
||||
"""Initialize a new progress bar with given properties."""
|
||||
self.desc = desc
|
||||
self.msg = msg
|
||||
self.current = current
|
||||
self.total = total
|
||||
|
||||
def __enter__(self):
|
||||
self.update()
|
||||
return self
|
||||
|
||||
def __exit__(self, type, value, traceback):
|
||||
if type is not None:
|
||||
sys.stdout.write("\r")
|
||||
msg = "<interrupted>"
|
||||
else:
|
||||
msg = None
|
||||
self.finish(msg)
|
||||
if self.msg is not None:
|
||||
sys.stdout.write("\n")
|
||||
|
||||
def update(self, value = None):
|
||||
"""Redraw the progressbar and optionally update the value."""
|
||||
if value is not None:
|
||||
self.current = value
|
||||
|
||||
if self.current == 0 or (self.current >= self.total and self.msg is None):
|
||||
sys.stdout.write("%s\r" % (' ' * _term_width))
|
||||
sys.stdout.flush()
|
||||
return
|
||||
|
||||
width = _term_width / 2
|
||||
s1 = self.desc.ljust(width - 1, ' ')[:width - 1]
|
||||
|
||||
width = _term_width - width
|
||||
if self.current >= self.total:
|
||||
s2 = self.msg.ljust(width, ' ')[:width]
|
||||
elif width > 2:
|
||||
numbars = min(self.current * (width - 2) / self.total, width - 2)
|
||||
s2 = "[%s%s]" % ('#' * numbars, '-' * (width - 2 - numbars))
|
||||
percent = " %d%% " % min(self.current * 100 / self.total, 100)
|
||||
i = (len(s2)-len(percent))/2
|
||||
s2 = "%s%s%s" % (s2[:i], percent, s2[i+len(percent):])
|
||||
|
||||
sys.stdout.write("%s %s\r" % (s1, s2))
|
||||
sys.stdout.flush()
|
||||
|
||||
def finish(self, msg = None):
|
||||
"""Finalize the progressbar."""
|
||||
if msg is not None:
|
||||
self.msg = msg
|
||||
|
||||
self.current = self.total
|
||||
self.update()
|
||||
sys.stdout.flush()
|
||||
|
||||
if __name__ == '__main__':
|
||||
import time
|
||||
|
||||
print ""
|
||||
with ProgressBar(desc="description") as x:
|
||||
for i in xrange(100):
|
||||
x.update(i)
|
||||
time.sleep(1)
|
@@ -0,0 +1,51 @@
|
||||
From 8c7754a1da9f43cf15057a8467c0b76c9da2ce40 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 22 Nov 2014 05:49:30 +0100
|
||||
Subject: ntdll: Fix issues with write watches when using Exagear.
|
||||
|
||||
---
|
||||
dlls/ntdll/virtual.c | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 1a8e4a4..4140323 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -1558,6 +1558,26 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
{
|
||||
void *page = ROUND_ADDR( addr, page_mask );
|
||||
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
|
||||
+#ifdef EXAGEAR_COMPAT
|
||||
+ /* Exagear doesn't correctly set err, so always check for write watches, and
|
||||
+ * retry after removing the VPROT_WRITEWATCH or VPROT_WRITECOPY flag. In
|
||||
+ * contrary to the general implementation below this is not completely race-
|
||||
+ * condition safe. When multiple threads trigger the write watch at the same
|
||||
+ * time only the first thread will properly continue the execution, the rest
|
||||
+ * will crash. */
|
||||
+ if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
|
||||
+ {
|
||||
+ *vprot &= ~VPROT_WRITEWATCH;
|
||||
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
|
||||
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
|
||||
+ }
|
||||
+ if (*vprot & VPROT_WRITECOPY)
|
||||
+ {
|
||||
+ *vprot = (*vprot & ~VPROT_WRITECOPY) | VPROT_WRITE;
|
||||
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
|
||||
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
|
||||
+ }
|
||||
+#else
|
||||
if (err & EXCEPTION_WRITE_FAULT)
|
||||
{
|
||||
if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
|
||||
@@ -1573,6 +1593,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
/* ignore fault if page is writable now */
|
||||
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
|
||||
}
|
||||
+#endif
|
||||
if (*vprot & VPROT_GUARD)
|
||||
{
|
||||
VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
|
||||
--
|
||||
2.1.3
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 67cc0e23b26d5d9abda7eb771dc2bec309cb8650 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 23 Nov 2014 22:33:51 +0100
|
||||
Subject: server: Don't attempt to use ptrace when running with Exagear.
|
||||
|
||||
---
|
||||
server/ptrace.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/server/ptrace.c b/server/ptrace.c
|
||||
index cb436b6..fb29b5a 100644
|
||||
--- a/server/ptrace.c
|
||||
+++ b/server/ptrace.c
|
||||
@@ -531,7 +531,7 @@ void get_selector_entry( struct thread *thread, int entry, unsigned int *base,
|
||||
|
||||
|
||||
#if defined(linux) && (defined(HAVE_SYS_USER_H) || defined(HAVE_ASM_USER_H)) \
|
||||
- && (defined(__i386__) || defined(__x86_64__))
|
||||
+ && (defined(__i386__) || defined(__x86_64__)) && !defined(EXAGEAR_COMPAT)
|
||||
|
||||
#ifdef HAVE_SYS_USER_H
|
||||
#include <sys/user.h>
|
||||
--
|
||||
2.1.3
|
||||
|
1
patches/Exagear/definition
Normal file
1
patches/Exagear/definition
Normal file
@@ -0,0 +1 @@
|
||||
Depends: ntdll-WRITECOPY
|
813
patches/Makefile
813
patches/Makefile
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,15 @@
|
||||
From 3e4695fd4eab3f7666cd5361f98f2ace34c43739 Mon Sep 17 00:00:00 2001
|
||||
From 948a8706d6045fb6f8f624072bfa6ab97e91dc16 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
vanilla wine.
|
||||
|
||||
---
|
||||
dlls/kernel32/process.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
dlls/kernel32/process.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 301c64a..5c5be22 100644
|
||||
index 0a087ab..1052a79 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -20,23 +20,22 @@ index 301c64a..5c5be22 100644
|
||||
|
||||
#ifdef __APPLE__
|
||||
extern char **__wine_get_main_environment(void);
|
||||
@@ -1092,6 +1093,16 @@ static DWORD WINAPI start_process( PEB *peb )
|
||||
@@ -1099,6 +1100,15 @@ static DWORD WINAPI start_process( PEB *peb )
|
||||
DPRINTF( "%04x:Starting process %s (entryproc=%p)\n", GetCurrentThreadId(),
|
||||
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer), entry );
|
||||
|
||||
+ /* Wine developers don't like it, when bug are reported with Wine versions containing our patches. */
|
||||
+ if (CreateEventA(0, 0, 0, "__winestaging_warn_event") && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
+ {
|
||||
+ FIXME_(winediag)("Wine Staging is a Wine testing version containing experimental patches.\n");
|
||||
+ FIXME_(winediag)("Please don't report bugs at winehq.org and use our issue tracker instead:\n");
|
||||
+ FIXME_(winediag)("https://github.com/wine-compholio/wine-staging/issues\n");
|
||||
+ FIXME_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ FIXME_(winediag)("Please report bugs at http://bugs.wine-staging.com (instead of winehq.org).\n");
|
||||
+ }
|
||||
+ else
|
||||
+ WARN_(winediag)("Wine Staging is a Wine testing version containing experimental patches.\n");
|
||||
+ WARN_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+
|
||||
SetLastError( 0 ); /* clear error code */
|
||||
if (peb->BeingDebugged) DbgBreakPoint();
|
||||
return call_process_entry( peb, entry );
|
||||
--
|
||||
2.1.1
|
||||
2.1.3
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,43 @@
|
||||
From a7766bfbb41580091192539432c9372ceaf41c18 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 12 Dec 2014 05:48:59 +0100
|
||||
Subject: avifil32: Reallocate buffer when adding records.
|
||||
|
||||
Based on a patch by Bruno Jesus.
|
||||
---
|
||||
dlls/avifil32/avifile.c | 19 ++++++++++++++-----
|
||||
1 file changed, 14 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/avifil32/avifile.c b/dlls/avifil32/avifile.c
|
||||
index af0315d..c7779c5 100644
|
||||
--- a/dlls/avifil32/avifile.c
|
||||
+++ b/dlls/avifil32/avifile.c
|
||||
@@ -1424,11 +1424,20 @@ static HRESULT AVIFILE_AddRecord(IAVIFileImpl *This)
|
||||
/* pre-conditions */
|
||||
assert(This != NULL && This->ppStreams[0] != NULL);
|
||||
|
||||
- if (This->idxRecords == NULL || This->cbIdxRecords == 0) {
|
||||
- This->cbIdxRecords += 1024 * sizeof(AVIINDEXENTRY);
|
||||
- This->idxRecords = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->cbIdxRecords);
|
||||
- if (This->idxRecords == NULL)
|
||||
- return AVIERR_MEMORY;
|
||||
+ if (This->idxRecords == NULL || This->cbIdxRecords / sizeof(AVIINDEXENTRY) <= This->nIdxRecords) {
|
||||
+ DWORD new_count = This->cbIdxRecords + 1024 * sizeof(AVIINDEXENTRY);
|
||||
+ if (!This->idxRecords)
|
||||
+ {
|
||||
+ This->idxRecords = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, new_count);
|
||||
+ if (!This->idxRecords) return AVIERR_MEMORY;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ void *new_buffer = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->idxRecords, new_count);
|
||||
+ if (!new_buffer) return AVIERR_MEMORY;
|
||||
+ This->idxRecords = new_buffer;
|
||||
+ }
|
||||
+ This->cbIdxRecords = new_count;
|
||||
}
|
||||
|
||||
assert(This->nIdxRecords < This->cbIdxRecords/sizeof(AVIINDEXENTRY));
|
||||
--
|
||||
2.1.3
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user