Compare commits

..

140 Commits

Author SHA1 Message Date
Sebastian Lackner
dc86f5c543 Release 1.7.54. 2015-11-01 00:16:04 +01:00
Sebastian Lackner
d2e9fa96e2 ntdll-SystemHandleInformation: Fix a possible memory corruption. 2015-10-31 23:36:39 +01:00
Sebastian Lackner
d9bb5a1e45 Added patch to implement SystemHandleInformation info class. 2015-10-31 22:29:13 +01:00
Sebastian Lackner
d4e3581847 Updated server-FileEndOfFileInformation patchset, growing a memory mapped file should still work. 2015-10-31 21:12:40 +01:00
Sebastian Lackner
4be7c872c3 Added patch to implement kernel32.GetConsoleFontSize. 2015-10-31 18:39:31 +01:00
Sebastian Lackner
896b3398f1 Added patch for SetConsoleKeyShortcuts stub function. 2015-10-31 17:54:21 +01:00
Sebastian Lackner
9ad85e9d6f Added patch to fix multiple issues in widl typelib generation. 2015-10-31 17:47:59 +01:00
Sebastian Lackner
a2714839b3 Added patch to zero out returned stats when IEnumSTATSTG::Next reaches end of enumeration. 2015-10-31 17:33:07 +01:00
Sebastian Lackner
85d50ecc2a Added patch for SfcGetNextProtectedFile stub function. 2015-10-31 16:59:04 +01:00
Sebastian Lackner
2e4d11137f Added patch for SetCoalescableTimer stub function. 2015-10-31 16:52:00 +01:00
Sebastian Lackner
b03c54797e Added patch to improve INetFwAuthorizedApplication::get_ProcessImageFileName stub. 2015-10-31 16:43:16 +01:00
Sebastian Lackner
5ad2c41098 ddraw-Write_Vtable: Add reference to bug report. 2015-10-31 16:37:01 +01:00
Sebastian Lackner
0488823205 Added patch to use close_handle instead of NtClose for internal memory management functions. 2015-10-31 03:32:37 +01:00
Sebastian Lackner
fd66b3bced ntdll-Virtual_Memory_Stack: Disable patchset, it has no effect when optimization is enabled. 2015-10-31 03:32:27 +01:00
Sebastian Lackner
d2f012b3d1 Added patch to pass '-read_only_relocs suppress' to the linker on OSX and enable patchset to use Nt* function wrappers. 2015-10-30 23:48:00 +01:00
Sebastian Lackner
7e1bf8aca0 Rebase against cbaab82d086e36dacaa22c6adf80f9114bb820fb. 2015-10-30 18:01:22 +01:00
Sebastian Lackner
f8627a6f02 ntdll-WriteWatches: Remove todo_wine in kernel32/virtual tests. 2015-10-30 01:01:13 +01:00
Sebastian Lackner
693e189c24 Added patch to fix build failure (introduced by makefile rewrite). 2015-10-29 22:01:33 +01:00
Sebastian Lackner
5acbd17da2 Rebase against 54633e3956e6b3c4d8ebbd5d721efa294e9602fb. 2015-10-29 20:12:02 +01:00
Sebastian Lackner
d014e899bc Added patch to implement hal.KeQueryPerformanceCounter. 2015-10-28 22:54:22 +01:00
Sebastian Lackner
397a31ae04 ntoskrnl-DriverTest: Always call IoCompleteRequest in driver functions. 2015-10-28 21:51:03 +01:00
Sebastian Lackner
2668c19b7f Rebase against 79c59085b1b1f487e91c2695028dd3d1d257a468. 2015-10-28 20:21:10 +01:00
Sebastian Lackner
2c0e907a4a Rebase against 28b916b26eceb35a071e9aad76da1fbbaa857ba1. 2015-10-27 20:53:46 +01:00
Sebastian Lackner
fb56e8d212 ws2_32-TransmitFile: Remove reference to upstream bug, main patches are already upstream. 2015-10-26 22:00:24 +01:00
Sebastian Lackner
22c57980db Added patches for memory allocation cleanup in gdiplus functions. 2015-10-26 21:59:15 +01:00
Sebastian Lackner
4c11394828 Rebase against 12111d8c3b897df92fabc1c1a81567477952e9b1. 2015-10-26 17:47:03 +01:00
Sebastian Lackner
f151e1f36f d3dx9_36-GetShaderSemantics: Use proper defines in shader code (thanks Christian Costa). 2015-10-25 00:09:48 +02:00
Sebastian Lackner
1c6124cc6e Added patch for implementation of additional HSTRING functions. 2015-10-24 22:55:19 +02:00
Sebastian Lackner
e51ebcc301 uxtheme-GTK_Theming: Fix configure.ac changes. 2015-10-24 02:40:56 +02:00
Sebastian Lackner
bff92e3d44 msidb-Implementation: Add missing changes to tools/make_makefiles. 2015-10-24 02:12:04 +02:00
Sebastian Lackner
1e79306b13 nvcuda-CUDA_Support: Fix typo. 2015-10-24 02:10:10 +02:00
Sebastian Lackner
8cd8abd51f Rebase against f8d78b0d927c1cae4c5075c64d980c306fb3ed87. 2015-10-24 02:09:12 +02:00
Sebastian Lackner
8adf60dc8e Added patch to implement FileNamesInformation class support for NtQueryDirectoryFile. 2015-10-22 22:57:30 +02:00
Sebastian Lackner
e64c3bff30 Rebase against 4fb840b614691a787c76659f02c163d922f88fba. 2015-10-22 20:37:13 +02:00
Sebastian Lackner
8d0e6ea5c8 d3dx9_36-GetShaderSemantics: Minor cleanup. 2015-10-22 02:20:08 +02:00
Sebastian Lackner
4f051ce511 ntdll-Wait_User_APC: Fix an outdated comment. 2015-10-22 01:58:28 +02:00
Sebastian Lackner
bd89770641 Rebase against 8075101480df82c5f4280d534f2d76f035653667. 2015-10-21 19:51:16 +02:00
Sebastian Lackner
7cf357b20c Added patch to block interruption of system APC in server_select. 2015-10-21 18:56:08 +02:00
Sebastian Lackner
91f812ed1b Added patch to release capture before sending WM_COMMAND. 2015-10-21 03:38:39 +02:00
Sebastian Lackner
8e8654d76e Added patch to implement stub for ProcessQuotaLimits info class. 2015-10-21 03:17:52 +02:00
Sebastian Lackner
d7013c255f Rebase against 59cca65ce0edd88b65a55a847468761e11dfab0b. 2015-10-20 20:55:52 +02:00
Sebastian Lackner
9638ce9ec6 ntdll-Consolidation_Callback: Do not add CFI rules for volatile registers, some other cleanup. 2015-10-20 05:57:11 +02:00
Sebastian Lackner
e1d5975f34 ntdll-Consolidation_Callback: Some style improvements, simplify assembler code. 2015-10-20 05:07:39 +02:00
Sebastian Lackner
f597f5b898 Added patch to use wrapper function for consolidation callback during unwinding. 2015-10-20 02:12:14 +02:00
Sebastian Lackner
63426eaa59 Rebase against 26094c5634b1f12d3f156a90a3e228513675cd63. 2015-10-19 22:03:53 +02:00
Sebastian Lackner
67dffe4dc6 Release 1.7.53. 2015-10-19 06:09:12 +02:00
Sebastian Lackner
d8cf46384c ntdll-Syscall_Wrappers: Only enable syscall wrappers on Linux, MacOS needs special linker flags. 2015-10-19 05:30:18 +02:00
Sebastian Lackner
6494429c2f server-Signal_Thread: Hold a reference while waking up objects waiting on thread. 2015-10-19 02:53:14 +02:00
Sebastian Lackner
be51f622f7 Added patch to delay signaling threads until they are really gone (fixes Wine Staging Bug #473). 2015-10-19 00:38:33 +02:00
Sebastian Lackner
922e5a0e06 Added patch to implement kernel32.GetPhysicallyInstalledSystemMemory. 2015-10-18 18:31:24 +02:00
Sebastian Lackner
9b1ac08c87 dinput-Events: Update patchset and avoid wine internal exports in user32. 2015-10-18 17:03:07 +02:00
Sebastian Lackner
bfabcd117e Added patch to always use 64-bit registry view on WOW64 setups. 2015-10-18 16:31:04 +02:00
Sebastian Lackner
b8c9f3454e Added patch to return WN_NOT_CONNECTED from WNetGetUniversalName REMOTE_NAME_INFO_LEVEL stub. 2015-10-18 03:50:44 +02:00
Sebastian Lackner
3f46a6acb7 user32-Painting: Add reference to a bug report. 2015-10-17 16:34:46 +02:00
Sebastian Lackner
c83adcf25b Added patch to implement comctl32.PROPSHEET_InsertPage. 2015-10-17 16:24:51 +02:00
Sebastian Lackner
091bcbce3c ntdll-Syscall_Wrappers: Run directory initialization early during process startup instead of wrapping syscalls. 2015-10-17 12:49:06 +02:00
Sebastian Lackner
6971149e11 d3dx9_36-AnimationController: Improve patchset and add initial tests. 2015-10-17 04:14:44 +02:00
Sebastian Lackner
1f9e5b10e0 Added patch to fix the initialization of combined DACLs when the new DACL is empty. 2015-10-17 03:17:26 +02:00
Sebastian Lackner
0c3120e10d Rebase against 65d699eb5f7fc151197f3dc9f36499ee3e43f8e7. 2015-10-17 01:06:27 +02:00
Sebastian Lackner
550a60731f Rebase against 973de3f59c7d47602fe68c8cecf8fc3dbc59bcff. 2015-10-17 01:05:06 +02:00
Sebastian Lackner
3bf5b8762a Rebase against 14f024048b301cd6ccc7e15e731d069cd68b13c0. 2015-10-17 00:37:47 +02:00
Sebastian Lackner
188b345d2e Rebase against 31e0755ea664e02f05a1e500a19fb5f584c1c1cc. 2015-10-16 20:12:47 +02:00
Sebastian Lackner
458dd1fbce ntdll-Syscall_Wrappers: Added patches to call the implementation instead of the syscall wrapper when possible. 2015-10-16 05:56:30 +02:00
Sebastian Lackner
216a2d8994 Added patch to use wrapper functions for syscalls to appease Chromium sandbox (32-bit). 2015-10-16 03:48:10 +02:00
Sebastian Lackner
032bf69aa7 Rebase against bf4493404cee43a345fe853b5c11b053cdd22322. 2015-10-15 20:01:55 +02:00
Sebastian Lackner
e80a1b9b96 Rebase against 79361d3bc056ed7659fb63880ed91019837a4906 2015-10-15 18:17:11 +02:00
Sebastian Lackner
d1801f5a5e dxgi-GetDesc: Add additional upstream reference. 2015-10-13 22:25:53 +02:00
Sebastian Lackner
317fa9382c Rebase against c2dc6f3ef26fb18e7766956ef0a8cbadccc364d6. 2015-10-13 19:14:09 +02:00
Sebastian Lackner
e3ea1eef0d Rebase against e8b9bda53ac39c913ddc93de0308f0c8b69605fc. 2015-10-12 20:14:46 +02:00
Sebastian Lackner
cc0556df4a Added patch to fix handling of wait interrupted by User APC. 2015-10-09 21:33:39 +02:00
Sebastian Lackner
0dddb28c32 Rebase against d548639d977dee847350b408aec9522d68aef813. 2015-10-09 18:40:56 +02:00
Sebastian Lackner
46bd2a545f Rebase against ebb320fa37f2ad27649f571946af038e9d70ced2. 2015-10-08 19:38:23 +02:00
Sebastian Lackner
fbce85675d Rebase against fca636a01cfd1ef213326125582139bdd72a287a. 2015-10-08 19:16:54 +02:00
Sebastian Lackner
1ab89ae9bc Rebase against 8dd86823fdd9a5e631cf3173727b6f667ef1b611. 2015-10-08 18:43:39 +02:00
Sebastian Lackner
55379f6926 dsound-EAX: Added patch to implement DSPROPSETID_EAX20_BufferProperties stub. 2015-10-08 03:53:27 +02:00
Sebastian Lackner
48c78157ae Rebase against 20ff3352eb19292d47eaa8f3aecc61523ac1f1d9. 2015-10-08 00:28:48 +02:00
Sebastian Lackner
fdf5bad886 Rebase against 1d1487105d4d3a9133f0846d32363a0432812d0c. 2015-10-07 22:20:45 +02:00
Sebastian Lackner
b1d20ea747 ntdll-Status_Mapping: Update patchset and add test for NtWriteFile. 2015-10-07 05:16:25 +02:00
Sebastian Lackner
d8c4d47bbc Added patch to show windows version when collecting system info in winedbg. 2015-10-07 04:22:18 +02:00
Sebastian Lackner
ee5271ee57 Added patch to implement stub for DSPROPSETID_EAX20_ListenerProperties. 2015-10-07 02:57:45 +02:00
Sebastian Lackner
4adc56f74f Rebase against 6b9a87c7a801e1776444ac96c555fbad80d34115. 2015-10-06 19:58:45 +02:00
Sebastian Lackner
4fe40942a6 patchupdate.py: Return boolean from test_apply function. 2015-10-05 21:31:13 +02:00
Sebastian Lackner
2dc572f110 patchupdate.py: Rename stable -> released in multiple functions and variables. 2015-10-05 21:21:56 +02:00
Sebastian Lackner
3307e90080 Rebase against d050343c502202e1abdabdb37668684031d5367d. 2015-10-05 20:07:30 +02:00
Sebastian Lackner
6b720c8cd2 dinput-Events: Mark test failures with todo_wine. 2015-10-05 01:11:06 +02:00
Sebastian Lackner
76aa292beb Added patch to implement support for msiexec /passive command line option. 2015-10-04 23:57:13 +02:00
Sebastian Lackner
1d3eb97763 Release 1.7.52. 2015-10-03 22:17:32 +02:00
Sebastian Lackner
3c4ad355ff ntdll-Virtual_Memory_Stack: Remove Fixes: line, the patch doesn't help when compiling with optimization. 2015-10-03 19:10:34 +02:00
Sebastian Lackner
c7c250e381 Added patch to correctly parse double quotes in the msi token values. 2015-10-03 18:57:24 +02:00
Sebastian Lackner
28d60dbd10 Added patch to fix random crashes of Cygwin/MSYS2 for some compilers. 2015-10-03 18:30:52 +02:00
Sebastian Lackner
1c46676667 patchupdate.py: Add an additional default CC contact. 2015-10-03 02:07:34 +02:00
Sebastian Lackner
8f08951d14 Added patch to implement ws2_32.InetPtonA/W functions. 2015-10-03 00:42:19 +02:00
Sebastian Lackner
6a06b1710e Added patch for implementation of mfplat.MFTEnum. 2015-10-02 19:45:55 +02:00
Sebastian Lackner
59e96aed08 Added patch to make ddraw1 and ddraw_surface1 vtable as writable. 2015-10-02 17:55:54 +02:00
Sebastian Lackner
784acaf1fa Added patch to mark WritePrivateProfileStringA as hotpatchable. 2015-10-02 17:53:26 +02:00
Sebastian Lackner
d9e1415701 Added patch to mark BitBlt and StretchDIBits as hotpatchable. 2015-10-02 17:51:04 +02:00
Sebastian Lackner
3cee0925e8 Added patch to mark RegOpenKeyExA, RegCloseKey and RegQueryValueExA as hotpatchable. 2015-10-02 17:48:08 +02:00
Sebastian Lackner
eb98f4e74f Rebase against 9bd963065b1fb7b445d010897d5f84967eadf75b. 2015-10-02 17:13:21 +02:00
Sebastian Lackner
6ef9e97ec1 comctl32-LoadIconMetric: Set *icon to NULL on invalid size argument in LoadIconMetric. 2015-10-02 16:28:29 +02:00
Sebastian Lackner
f9edeb7354 Added patch for TRACE in msi_get_property. 2015-10-02 01:49:35 +02:00
Sebastian Lackner
f4dcef9c77 Added patch to pass cookie by reference to msvcrt_local_unwind4 in _seh_longjmp_unwind4. 2015-10-02 01:43:56 +02:00
Sebastian Lackner
8b65b1c1c8 Added patch to avoid waiting for hook thread startup in IDirectInput8::Initialize. 2015-10-02 01:20:46 +02:00
Sebastian Lackner
2a080a1262 comctl32-LoadIconMetric: Update patchset and fix loading of ico files. 2015-10-02 00:21:58 +02:00
Sebastian Lackner
1928fdacbe Added patch to implement additional stub functions in authz.dll. 2015-10-01 21:52:45 +02:00
Sebastian Lackner
74daa3b210 Rebase against 781b88b7c586fc295780f0c8ad76bda0ffe96cd1. 2015-10-01 20:41:57 +02:00
Sebastian Lackner
b951b9ad09 Added patch to avoid using GdipAlloc and GdipFree in internal gdiplus functions. 2015-10-01 18:29:20 +02:00
Sebastian Lackner
0f5d19c2e0 ntdll-Heap_Delay_Free: Add reference to known issues. 2015-09-30 15:28:07 +02:00
Sebastian Lackner
c498b3557f gdi32-MultiMonitor: Add missing patchset for winemac driver support. 2015-09-29 02:28:20 +02:00
Michael MĂĽller
65be847fcc patchupdate.py: Add option to automatically update bug status. 2015-09-29 02:20:49 +02:00
Michael MĂĽller
70d974cad5 patchupdate.py: Check whether bugs are marked as STAGED and validate patchset url. 2015-09-29 00:33:21 +02:00
Michael MĂĽller
ed021737de patchupdate.py: Show bugs that are incorrectly marked as STAGED. 2015-09-28 23:46:29 +02:00
Michael MĂĽller
5eab79aa77 patchupdate.py: Use XML RPC to query bugtracker. 2015-09-28 23:05:59 +02:00
Sebastian Lackner
31e4657a83 patchupdate.py: Move bug status check to a separate function. 2015-09-28 19:41:52 +02:00
Sebastian Lackner
e5d2ae6b87 README.md: Update description of Wine Staging. 2015-09-28 17:49:44 +02:00
Sebastian Lackner
8073750c5c Staging: Update bug reporting URL. 2015-09-28 16:04:26 +02:00
Sebastian Lackner
0d466f5e6d Added patch to protect TVM_GETITEM from invalid item pointers. 2015-09-28 00:35:20 +02:00
Sebastian Lackner
5f353ac80e d3d8-D3DSWAPEFFECT_COPY_VSYNC: Add a better upstream bug report as reference. 2015-09-27 20:35:33 +02:00
Sebastian Lackner
447235f1dc Pipelight: Mark test failures with todo_wine. 2015-09-27 20:20:46 +02:00
Sebastian Lackner
e522c26b4b Added patch to refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called. 2015-09-27 20:07:42 +02:00
Sebastian Lackner
07de62088d precommit-hook.sh: Do not allow committing when patches/ or debian/ folder has unstaged changes. 2015-09-27 16:29:07 +02:00
Sebastian Lackner
f7950d74e6 user32-ListBox_Size: Add missing file. 2015-09-27 15:54:48 +02:00
Sebastian Lackner
e499f1c187 Added patch to ignore width/height passed to edit control in WM_SIZE message. 2015-09-27 15:33:11 +02:00
Sebastian Lackner
8a0c14b145 Added patch to fix calculation of listbox size when horizontal scrollbar is present. 2015-09-27 03:46:31 +02:00
Sebastian Lackner
f64d5ad94d Added patch to reduce stack usage of virtual memory functions. 2015-09-27 00:19:56 +02:00
Sebastian Lackner
2f4c5ae81e Added patch to implement semi-stub for d3d8 swapchain effect D3DSWAPEFFECT_COPY_VSYNC. 2015-09-26 17:23:36 +02:00
Sebastian Lackner
0182014bed Rebase against 3966affe064c7b98a7b4c052b6a6696fe74c8830. 2015-09-25 22:33:19 +02:00
Sebastian Lackner
22331fa377 patchupdate.py: Delete outdated cache information after each run. 2015-09-23 13:52:18 +02:00
Sebastian Lackner
456eb2f553 Added patches for msidb commandline utility (to read and write *.msi files). 2015-09-23 13:00:53 +02:00
Sebastian Lackner
4ad4553546 Added patch to ensure codepage conversion fails when destlen < 0. 2015-09-22 15:25:09 +02:00
Sebastian Lackner
6efa37655c patchutils.py: Add support for parsing Signed-off-by headers. 2015-09-21 22:10:05 +02:00
Sebastian Lackner
ff889f6cdc Rebase against 60d1d6f5952e8b5d6fb0327a28c047058851fa70. 2015-09-19 00:59:38 +02:00
Sebastian Lackner
8ba35e61d8 Rebase against 8fdcc239ba784894eed0f5c08ec56441db783e5e. 2015-09-16 17:11:17 +02:00
Sebastian Lackner
f44120dffe Rebase against aacc7b394ee1eb25001ae2854fd774e1b443e50b. 2015-09-15 17:17:54 +02:00
Sebastian Lackner
0a96d76b16 Added patch to ignore higher bits in selector for ThreadDescriptorTableEntry info query. 2015-09-13 23:06:26 +02:00
Sebastian Lackner
ff9f5115fb Added patch to return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory. 2015-09-13 17:18:35 +02:00
Sebastian Lackner
929a331358 Rebase against efb1cf0299c23385f934fa9b3abc920bfca46611. 2015-09-10 16:06:52 +02:00
Sebastian Lackner
357269a486 comctl32-Button_Theming: Improve patch subject. 2015-09-09 22:31:34 +02:00
Sebastian Lackner
23ec346541 wined3d-CSMT_Main: Remove empty patch. 2015-09-08 19:35:08 +02:00
Sebastian Lackner
2517360ebd Rebase against e28d6b2fb099795d2472a97d7ab0bfe868e90421. 2015-09-08 19:33:15 +02:00
Sebastian Lackner
08738c151c Rebase against 07cc9a34a87cd08c87ae198e4aeb8c9bb7f55175. 2015-09-07 16:51:56 +02:00
411 changed files with 12512 additions and 9857 deletions

View File

@@ -1,23 +1,18 @@
What is Wine Staging?
---------------------
**Warning: Do not report bugs at bugs.winehq.org when using this version!
Please take a look [here](http://bugs.wine-staging.com) for more information
about how to report bugs.**
**Wine Staging** is the testing area of winehq.org. It contains bug fixes and
features, which have not been integrated into the development branch yet. The
idea of Wine Staging is to provide experimental features faster to end users and
to give developers the possibility to discuss and improve their patches before
they are integrated into the main branch. More information about Wine Staging
can also be found on our website [wine-staging.com](http://wine-staging.com).
**Wine Staging** (formerly wine-compholio) is a special wine version containing
bug fixes and features, which are not yet available in regular wine versions.
The idea of Wine Staging is to provide new features faster to end users and to
give developers the possibility to discuss and improve their patches before
they are sent upstream. We also intend to create a community of wine developers
to share experience and to make it easier for beginners to start hacking on
wine. More information about Wine Staging can also be found on our website
[wine-staging.com](http://wine-staging.com).
Although we are reviewing and testing all patches carefully before adding them,
you may encounter additional bugs, which are not present in the development
branch. Do not hesitate to report such issues at winehq.org, so they can be
fixed before the feature gets integrated.
Although we are reviewing and testing all patches before adding them, you may
encounter additional bugs, which are not present in vanilla wine. Make sure to
report such issues in our bug tracker instead of winehq.org so that we can try
to solve them in future versions. Thanks!
How to install and use Wine Staging
-----------------------------------
@@ -39,7 +34,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features in Wine Staging 1.7.51 [260]:**
**Bug fixes and features in Wine Staging 1.7.54 [268]:**
*Note: The following list only contains features and bug fixes which are not
yet available in vanilla Wine. They are removed from the list as soon as they
@@ -51,19 +46,23 @@ for more details.*
* Add IDragSourceHelper stub interface ([Wine Bug #24699](https://bugs.winehq.org/show_bug.cgi?id=24699))
* Add IHTMLLocation::hash property's getter implementation ([Wine Bug #32967](https://bugs.winehq.org/show_bug.cgi?id=32967))
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
* Add implementation for IDXGIOutput::GetDesc ([Wine Bug #32006](https://bugs.winehq.org/show_bug.cgi?id=32006))
* Add implementation for comctl32.PROPSHEET_InsertPage. ([Wine Bug #25625](https://bugs.winehq.org/show_bug.cgi?id=25625))
* Add implementation for mfplat.MFTEnum ([Wine Bug #39309](https://bugs.winehq.org/show_bug.cgi?id=39309))
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
* Add implementation for msidb commandline tool
* Add implementation for shlwapi.AssocGetPerceivedType
* 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 semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466))
* Add shell32 placeholder icons to match offsets with Windows ([Wine Bug #30185](https://bugs.winehq.org/show_bug.cgi?id=30185))
* Add stub dlls required for MSVC 2015 runtime library (Windows 10)
* Add stub fltmgr.sys (filter manager driver) ([Wine Bug #23583](https://bugs.winehq.org/show_bug.cgi?id=23583))
* Add stub for D3DXComputeNormalMap
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
* Add stub for dwmapi.DwmUpdateThumbnailProperties
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
* Add stub for SetCoalescableTimer ([Wine Bug #39509](https://bugs.winehq.org/show_bug.cgi?id=39509))
* Add stub for SetConsoleKeyShortcuts ([Wine Bug #35702](https://bugs.winehq.org/show_bug.cgi?id=35702))
* Add stub for SfcGetNextProtectedFile ([Wine Bug #38097](https://bugs.winehq.org/show_bug.cgi?id=38097))
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
* Add stub for ntoskrnl.ExDeleteResourceLite
* Add stub for ntoskrnl.ExReleaseResourceForThread
@@ -78,7 +77,6 @@ for more details.*
* Add stubbed ISWbemSecurity interfaces in wbemdisp
* Add stubs for D3DXCreateAnimationController interface
* Add stubs for additional wininet options in InternetSetOption
* Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739))
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
* Add support for GTK3 theming
* Add support for GetPropValue to PulseAudio backend
@@ -94,6 +92,7 @@ for more details.*
* Allow to open files/directories without any access rights in order to query attributes
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
* Allow to set pixel format for desktop window
* Always use 64-bit registry view on WOW64 setups
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
@@ -109,14 +108,18 @@ for more details.*
* Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149))
* Catch invalid memory accesses in imagehlp.CheckSumMappedFile
* Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021))
* Codepage conversion should fail when destination length is < 0
* Create Microsoft\Windows\Themes directory during Wineprefix creation ([Wine Bug #34910](https://bugs.winehq.org/show_bug.cgi?id=34910))
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
* 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 allow interruption of system APC in server_select ([Wine Bug #14697](https://bugs.winehq.org/show_bug.cgi?id=14697))
* Do not allow to deallocate thread stack for current thread
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
* Do not signal threads until they are really gone
* Do not use unixfs for devices without mountpoint
* Enforce that surfaces are flushed after ReleaseDC
* Do not wait for hook thread startup in IDirectInput8::Initialize ([Wine Bug #21403](https://bugs.winehq.org/show_bug.cgi?id=21403))
* Enforce that surfaces are flushed after ReleaseDC ([Wine Bug #39465](https://bugs.winehq.org/show_bug.cgi?id=39465))
* 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))
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
@@ -127,8 +130,8 @@ for more details.*
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
* Fallback to default comspec when %COMSPEC% is not set
* Fallback to system ping command when CAP_NET_RAW is not available ([Wine Bug #8332](https://bugs.winehq.org/show_bug.cgi?id=8332))
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
* Fix access violation in MSYS2 git when cloning repository
* Fix calculation of listbox size when horizontal scrollbar is present ([Wine Bug #38142](https://bugs.winehq.org/show_bug.cgi?id=38142))
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
@@ -139,7 +142,6 @@ for more details.*
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
* Fix endless loop in regedit when importing files with very long lines
* Fix error handling in DeferWindowPos when passing an invalid HWND ([Wine Bug #23187](https://bugs.winehq.org/show_bug.cgi?id=23187))
* Fix failure to create anonymous file mapping after failed open_fd server call
* 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))
@@ -153,6 +155,7 @@ for more details.*
* Fix implementation of msvcrt.close when stdout == stderr
* 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 multiple issues in widl typelib generation
* Fix multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087))
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
* Fix race-condition when threads are killed during shutdown
@@ -160,36 +163,38 @@ for more details.*
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
* Fix scaling behaviour of images and mipmap levels in IDirect3DTexture2_Load (needed for example by Prezzie Hunt)
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
* Fix the initialization of combined DACLs when the new DACL is empty ([Wine Bug #38423](https://bugs.winehq.org/show_bug.cgi?id=38423))
* 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.
* Fix wrong version of ID3DXEffect interface for d3dx9_24
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
* Forward exitcode from child process when in wineconsole
* Free RPC parameters allocated by application before anything else ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
* 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))
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
* IEnumSTATSTG::Next should zero out returned stats when enumeration ends
* Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090))
* Implement D3DXGetShaderOutputSemantics
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
* Implement FileNamesInformation class support for NtQueryDirectoryFile
* Implement FolderImpl_Items and stubbed FolderItems interface
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
* Implement IDXGIOutput::GetDesc
* Implement SystemHandleInformation info class
* Implement a Courier New replacement font ([Wine Bug #20456](https://bugs.winehq.org/show_bug.cgi?id=20456))
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
* Implement a Times New Roman replacement font ([Wine Bug #32342](https://bugs.winehq.org/show_bug.cgi?id=32342))
* Implement additional stub functions in authz.dll
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
* Implement combase.WindowsSubstring function
* Implement default homepage button in inetcpl.cpl
* Implement empty enumerator for IWiaDevMgr::EnumDeviceInfo ([Wine Bug #27775](https://bugs.winehq.org/show_bug.cgi?id=27775))
* Implement enumeration of sound devices and basic properties to dxdiagn ([Wine Bug #32613](https://bugs.winehq.org/show_bug.cgi?id=32613))
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
* Implement general tab for file property dialog
* Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500))
* Implement kernel32.GetConsoleFontSize
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
* Implement ntoskrnl driver testing framework.
@@ -197,11 +202,12 @@ for more details.*
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
* Implement shell32 NewMenu class with new folder item ([Wine Bug #24812](https://bugs.winehq.org/show_bug.cgi?id=24812))
* Implement special handling for calling GetChildContainer with an empty string ([Wine Bug #38014](https://bugs.winehq.org/show_bug.cgi?id=38014))
* Implement stub for ProcessQuotaLimits info class
* 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 {Set,Get}ThreadGroupAffinity and related ntdll functions ([Wine Bug #36549](https://bugs.winehq.org/show_bug.cgi?id=36549))
* Improve INetFwAuthorizedApplication::get_ProcessImageFileName stub
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
* Improve startup performance by delaying font initialization
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
@@ -216,6 +222,7 @@ for more details.*
* 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))
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
* Make ddraw1 and ddraw_surface1 vtable as writable ([Wine Bug #39534](https://bugs.winehq.org/show_bug.cgi?id=39534))
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
* Map EXDEV error code to STATUS_NOT_SAME_DEVICE
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
@@ -231,15 +238,16 @@ for more details.*
* Properly implement imagehlp.ImageLoad and ImageUnload ([Wine Bug #23455](https://bugs.winehq.org/show_bug.cgi?id=23455))
* Properly initialize caps->dwZBufferBitDepths in ddraw7_GetCaps ([Wine Bug #27002](https://bugs.winehq.org/show_bug.cgi?id=27002))
* Properly render themed buttons when they are pressed ([Wine Bug #37584](https://bugs.winehq.org/show_bug.cgi?id=37584))
* Protect TVM_GETITEM from invalid item pointers ([Wine Bug #33001](https://bugs.winehq.org/show_bug.cgi?id=33001))
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
* Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called ([Wine Bug #21855](https://bugs.winehq.org/show_bug.cgi?id=21855))
* Report correct ObjectName for NamedPipe wineserver objects
* Return STATUS_OBJECT_NAME_INVALID in wine_nt_to_unix_file_name for paths that only contain a prefix ([Wine Bug #39133](https://bugs.winehq.org/show_bug.cgi?id=39133))
* Return a dummy BIOS name in Win32_BIOS record
* Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory
* Return WN_NOT_CONNECTED from WNetGetUniversalName REMOTE_NAME_INFO_LEVEL stub ([Wine Bug #39452](https://bugs.winehq.org/show_bug.cgi?id=39452))
* Return a valid mesh in D3DXCreateTeapot ([Wine Bug #36884](https://bugs.winehq.org/show_bug.cgi?id=36884))
* 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
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
* Return default palette entries from GetSystemPaletteEntries for non-palette-based devices ([Wine Bug #36895](https://bugs.winehq.org/show_bug.cgi?id=36895))
* Return dummy ID3DXSkinInfo interface when skinning info not present ([Wine Bug #33904](https://bugs.winehq.org/show_bug.cgi?id=33904))
* Return fake device type when systemroot is located on virtual disk ([Wine Bug #36546](https://bugs.winehq.org/show_bug.cgi?id=36546))
* Return proper status codes when NtReadFile/NtWriteFile is called on closed (but not disconnected) pipe
@@ -251,8 +259,8 @@ for more details.*
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
* Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817))
* Show unmounted devices in winecfg and allow changing the unix path
* Show windows version when collecting system info in winedbg
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
* Silence repeated wbemprox "timeout not supported" fixme ([Wine Bug #37618](https://bugs.winehq.org/show_bug.cgi?id=37618))
* Skip unknown item when decoding a CMS certificate ([Wine Bug #34388](https://bugs.winehq.org/show_bug.cgi?id=34388))
* Software support for Environmental Audio Extensions (EAX)
* 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))
@@ -270,28 +278,23 @@ for more details.*
* Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh ([Wine Bug #32572](https://bugs.winehq.org/show_bug.cgi?id=32572))
* 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 MPEG2 DXVA2 GPU video decoding through vaapi
* Support for NVIDIA video encoder library (nvencodeapi)
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
* 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
* Support for linux priority levels for faster performance
* Support for loader dll redirections
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
* Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests ([Wine Bug #38062](https://bugs.winehq.org/show_bug.cgi?id=38062))
* 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 shell32 file operation progress dialog
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
* Support for ws2_32.dll.WSAPoll ([Wine Bug #38601](https://bugs.winehq.org/show_bug.cgi?id=38601))
* Translate flags in LaunchINFSectionW
* 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))
* Use GLX_MESA_query_renderer extension to get more exact GPU infos
@@ -299,8 +302,8 @@ for more details.*
* Use POSIX implementation to enumerate directory content on FreeBSD ([Wine Bug #35397](https://bugs.winehq.org/show_bug.cgi?id=35397))
* Use actual program name if available to describe PulseAudio streams
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033))
* Use proper glyph names in wineps driver to allow copying text from generated PDF files ([Wine Bug #6416](https://bugs.winehq.org/show_bug.cgi?id=6416))
* Use video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906))
* Use wrapper functions for syscalls to appease Chromium sandbox (32-bit) ([Wine Bug #39403](https://bugs.winehq.org/show_bug.cgi?id=39403))
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
* Workaround for shlwapi URLs with relative paths

156
debian/changelog vendored
View File

@@ -1,3 +1,159 @@
wine-staging (1.7.54) unstable; urgency=low
* Updated server-FileEndOfFileInformation patchset, growing a memory mapped
file should still work.
* Added patch to use wrapper function for consolidation callback during
unwinding.
* Added patch to implement stub for ProcessQuotaLimits info class.
* Added patch to release capture before sending WM_COMMAND.
* Added patch to block interruption of system APC in server_select.
* Added patch to implement FileNamesInformation class support for
NtQueryDirectoryFile.
* Added patch for implementation of additional HSTRING functions.
* Added patches for memory allocation cleanup in gdiplus functions.
* Added patch to implement hal.KeQueryPerformanceCounter.
* Added patch to fix build failure (introduced by makefile rewrite).
* Added patch to pass '-read_only_relocs suppress' to the linker on OSX and
enable patchset to use Nt* function wrappers.
* Added patch to use close_handle instead of NtClose for internal memory
management functions.
* Added patch to improve INetFwAuthorizedApplication::get_ProcessImageFileName
stub.
* Added patch for SetCoalescableTimer stub function.
* Added patch for SfcGetNextProtectedFile stub function.
* Added patch to zero out returned stats when IEnumSTATSTG::Next reaches end
of enumeration.
* Added patch to fix multiple issues in widl typelib generation.
* Added patch for SetConsoleKeyShortcuts stub function.
* Added patch to implement kernel32.GetConsoleFontSize.
* Added patch to implement SystemHandleInformation info class.
* Removed patch to implement kernel32.GetPhysicallyInstalledSystemMemory
(accepted upstream).
* Partially removed patches for ws2_32 TransmitFile (accepted upstream).
* Removed patch to fix NULL dereference in ICSeqCompressFrameStart (fixed
upstream).
* Removed patch to return default palette entries from GetSystemPaletteEntries
for non-palette-based devices (accepted upstream).
* Removed patch to use wrapper function for consolidate callback during
unwinding on x86_64 (accepted upstream).
* Removed patch to release capture before sending WM_COMMAND (accepted
upstream).
* Removed patch to avoid check for signaled object after user APC in
server_select (accepted upstream).
* Removed patch to implement combase.WindowsSubstring function (accepted
upstream).
* Removed patch to fix build failure (identical patch committed upstream).
* Removed patch for vcruntime120 dll (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 01 Nov 2015 00:14:59 +0100
wine-staging (1.7.53) unstable; urgency=low
* Added patch to implement support for msiexec /passive command line option.
* Added patch to implement stub for DSPROPSETID_EAX20_ListenerProperties.
* Added patch to show windows version when collecting system info in winedbg.
* Added patch to implement DSPROPSETID_EAX20_ListenerProperties stub.
* Added patch to implement DSPROPSETID_EAX20_BufferProperties stub.
* Added patch to fix handling of wait interrupted by User APC.
* Added patch to use wrapper functions for syscalls to appease Chromium
sandbox (32-bit Linux only).
* Added patch to fix the initialization of combined DACLs when the new DACL is
empty.
* Added patch to implement comctl32.PROPSHEET_InsertPage.
* Added patch to return WN_NOT_CONNECTED from WNetGetUniversalName
REMOTE_NAME_INFO_LEVEL stub.
* Added patch to always use 64-bit registry view on WOW64 setups.
* Added patch to implement kernel32.GetPhysicallyInstalledSystemMemory.
* Added patch to delay signaling threads until they are really gone (fixes
Wine Staging Bug #473).
* Removed patch to mark RegOpenKeyExA, RegCloseKey and RegQueryValueExA as
hotpatchable (accepted upstream).
* Removed patch to mark BitBlt and StretchDIBits as hotpatchable (accepted
upstream).
* Removed patch to mark WritePrivateProfileStringA as hotpatchable (accepted
upstream).
* Removed patch to implement ws2_32.InetPtonW function (accepted upstream).
* Removed patch to pass cookie by reference to msvcrt_local_unwind4 in
_seh_longjmp_unwind4 (accepted upstream).
* Removed patch to implement LoadIconMetric (accepted upstream).
* Removed patch to correctly parse double quotes in msi token values (accepted
upstream).
* Removed patch to ignore width/height passed to edit control in WM_SIZE
message (accepted upstream).
* Removed patch to silence repeated wbemprox "timeout not supported" fixme
(fixed upstream).
* Removed patch to add support for /passive command line option to msiexec
(fixed upstream).
* Removed patch to return a dummy BIOS name in Win32_BIOS (accepted upstream).
* Removed patch to implement empty enumerator for IWiaDevMgr::EnumDeviceInfo
(accepted upstream).
* Removed patch to translate flags in LaunchINFSectionW (accepted upstream).
* Removed patch to return success when trying to disable proxy, although no
proxy is set (accepted upstream).
* Partially removed patches for ws2_32 TransmitFile (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 19 Oct 2015 06:08:07 +0200
wine-staging (1.7.52) unstable; urgency=low
* Added patch to return STATUS_INVALID_DEVICE_REQUEST when trying to call
NtReadFile on directory.
* Added patch to ignore higher bits in selector for ThreadDescriptorTableEntry
info query.
* Added patch to ensure codepage conversion fails when destination length is
smaller than zero.
* Added patches for msidb commandline utility (to read and write *.msi files).
* Added patch to implement semi-stub for d3d8 swapchain effect
D3DSWAPEFFECT_COPY_VSYNC.
* Added patch to reduce stack usage of virtual memory functions.
* Added patch to fix calculation of listbox size when horizontal scrollbar is
present.
* Added patch to ignore width/height passed to edit control in WM_SIZE
message.
* Added patch to refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.
* Added patch to protect TVM_GETITEM from invalid item pointers.
* Added patch to avoid using GdipAlloc and GdipFree in internal gdiplus
functions.
* Added patch to implement additional stub functions in authz.dll.
* Added patch to avoid waiting for hook thread startup in
IDirectInput8::Initialize.
* Added patch to pass cookie by reference to msvcrt_local_unwind4 in
_seh_longjmp_unwind4.
* Added patch to mark RegOpenKeyExA, RegCloseKey and RegQueryValueExA as
hotpatchable.
* Added patch to mark BitBlt and StretchDIBits as hotpatchable.
* Added patch to mark WritePrivateProfileStringA as hotpatchable.
* Added patch to make ddraw1 and ddraw_surface1 vtable as writable.
* Added patch for implementation of mfplat.MFTEnum.
* Added patch to implement ws2_32.InetPtonA/W functions.
* Added patch to fix random crashes of Cygwin/MSYS2 for some compilers.
* Added patch to correctly parse double quotes in the msi token values.
* Removed patch to fix possible memory leak in netprofm init_networks (fixed
upstream).
* Removed patch for stub of dwmapi.DwmUpdateThumbnailProperties (accepted
upstream).
* Removed patch free RPC parameters allocated by application before anything
else (fixed upstream).
* Removed patch to try harder to get the host name address in getaddrinfo
(accepted upstream).
* Rempved patch to use proper glyph names in wineps driver (accepted
upstream).
* Removed patches with stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W
(accepted upstream).
* Removed patch to ignore higher bits in selector for
ThreadDescriptorTableEntry info query (accepted upstream).
* Removed patch to avoid deprecation warning for OpenCL 1.2 APIs (accepted
upstream).
* Removed patch to forward exitcode from child process in wineconsole
(accepted upstream).
* Removed patch to fix failure to create anonymous file mapping after failed
open_fd server call (accepted upstream).
* Removed patch to implement semi-stub for d3d8 swapchain effect
D3DSWAPEFFECT_COPY_VSYNC (identical patch accepted upstream).
* Removed patch to implement {Set,Get}ThreadGroupAffinity and related ntdll
functions (accepted upstream).
* Removed patch to return STATUS_OBJECT_NAME_INVALID in
wine_nt_to_unix_file_name for paths that only contain a prefix (accepted
upstream).
* Removed patch to implement support for non-blocking SIO_ADDRESS_LIST_CHANGE
requests (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 03 Oct 2015 22:15:47 +0200
wine-staging (1.7.51) unstable; urgency=low
* Update patchset for CSMT (commandstream multithreading), to keep in sync
with upstream repository.

View File

@@ -1,23 +1,18 @@
What is Wine Staging?
---------------------
**Warning: Do not report bugs at bugs.winehq.org when using this version!
Please take a look [here](http://bugs.wine-staging.com) for more information
about how to report bugs.**
**Wine Staging** is the testing area of winehq.org. It contains bug fixes and
features, which have not been integrated into the development branch yet. The
idea of Wine Staging is to provide experimental features faster to end users and
to give developers the possibility to discuss and improve their patches before
they are integrated into the main branch. More information about Wine Staging
can also be found on our website [wine-staging.com](http://wine-staging.com).
**Wine Staging** (formerly wine-compholio) is a special wine version containing
bug fixes and features, which are not yet available in regular wine versions.
The idea of Wine Staging is to provide new features faster to end users and to
give developers the possibility to discuss and improve their patches before
they are sent upstream. We also intend to create a community of wine developers
to share experience and to make it easier for beginners to start hacking on
wine. More information about Wine Staging can also be found on our website
[wine-staging.com](http://wine-staging.com).
Although we are reviewing and testing all patches carefully before adding them,
you may encounter additional bugs, which are not present in the development
branch. Do not hesitate to report such issues at winehq.org, so they can be
fixed before the feature gets integrated.
Although we are reviewing and testing all patches before adding them, you may
encounter additional bugs, which are not present in vanilla wine. Make sure to
report such issues in our bug tracker instead of winehq.org so that we can try
to solve them in future versions. Thanks!
How to install and use Wine Staging
-----------------------------------

View File

@@ -1,8 +1,10 @@
#!/usr/bin/python2
# -*- coding: utf-8 -*-
#
# Automatic patch dependency checker and apply script/README.md generator.
#
# Copyright (C) 2014-2015 Sebastian Lackner
# Copyright (C) 2015 Michael MĂĽller
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -38,8 +40,8 @@ import subprocess
import sys
import tempfile
import textwrap
import urllib
import xml.dom.minidom
import xmlrpclib
import ConfigParser
_devnull = open(os.devnull, 'wb')
@@ -50,6 +52,7 @@ cached_patch_result = {}
class config(object):
path_cache = ".patchupdate.cache"
path_config = os.path.expanduser("~/.config/patchupdate.conf")
path_patches = "patches"
path_changelog = "debian/changelog"
@@ -63,6 +66,14 @@ class config(object):
path_IfDefined = "9999-IfDefined.patch"
bugtracker_url = "https://bugs.winehq.org/xmlrpc.cgi"
bugtracker_defaultcc = ["michael@fds-team.de", "sebastian@fds-team.de",
"erich.e.hoover@wine-staging.com"]
bugtracker_user = None
bugtracker_pass = None
github_url = "https://github.com/wine-compholio/wine-staging"
class PatchUpdaterError(RuntimeError):
"""Failed to update patches."""
pass
@@ -145,34 +156,6 @@ def _parse_int(val, default=0):
except AttributeError:
return default
def _winebugs_query(bugids):
"""Query short_desc from multiple wine bugzilla bugs at the same time."""
bugids = list(set(bugids)) # Remove duplicates and convert to fixed order
if len(bugids) == 0: return {}
# Query bugzilla
url = "http://bugs.winehq.org/show_bug.cgi?%s&ctype=xml&field=short_desc&field=bug_status&field=resolution" % \
"&".join(["id=%d" % bugid for bugid in bugids])
with contextlib.closing(urllib.urlopen(url)) as fp:
data = xml.dom.minidom.parseString(fp.read())
# convert xml in a dictionary containing all bugs we found
result = {}
for element in data.getElementsByTagName('bug_id'):
bugids.remove(int(element.firstChild.data))
def _get_text(n):
return n.firstChild.data if (n and n.firstChild) else None
for bugid, element in zip(bugids, data.getElementsByTagName('bug')):
if element.getElementsByTagName('bug_id'): continue
result[bugid] = {
'short_desc': _get_text(element.getElementsByTagName('short_desc')[0]),
'bug_status': _get_text(element.getElementsByTagName('bug_status')[0]),
'resolution': _get_text(element.getElementsByTagName('resolution')[0]) }
return result
def _read_changelog():
"""Read information from changelog."""
with open(config.path_changelog) as fp:
@@ -180,12 +163,12 @@ def _read_changelog():
r = re.match("^([a-zA-Z0-9][^(]*)\((.*)\) ([^;]*)", line)
if r: yield (r.group(1).strip(), r.group(2).strip(), r.group(3).strip())
def _latest_staging_version(only_stable=False):
"""Get version number of the latest stable release."""
def _latest_staging_version(only_released=False):
"""Get version number of the latest release / unreleased version."""
for package, version, distro in _read_changelog():
if distro.lower() != "unreleased":
return version
elif not only_stable:
elif not only_released:
return "%s (unreleased)" % version
def _latest_wine_commit(commit=None):
@@ -235,7 +218,6 @@ def read_patchset(revision = None):
unique_id = itertools.count()
all_patches = {}
name_to_id = {}
all_bugids = set()
categories = {}
# Read in sorted order (to ensure created Makefile doesn't change too much)
@@ -317,13 +299,11 @@ def read_patchset(revision = None):
if r:
bugid = int(val)
patch.fixes.append((bugid, None))
all_bugids.add(bugid)
continue
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
if r:
bugid = int(r.group(1))
patch.fixes.append((bugid, r.group(2).strip()))
all_bugids.add(bugid)
continue
patch.fixes.append((None, val))
@@ -354,21 +334,6 @@ def read_patchset(revision = None):
all_patches[i] = patch
name_to_id[name] = i
# To simplify the task of keeping the bug list up-to-date, list all bugs
# which might require attention.
if revision is None:
once = True
for bugid, bug in sorted(_winebugs_query(all_bugids).items()):
if bug['bug_status'] not in ["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"]:
if once:
print ""
print "WARNING: The following bugs might require attention:"
print ""
once = False
print " #%d - \"%s\" - %s %s" % (bugid, bug['short_desc'], bug['bug_status'],
bug['resolution'] if bug['resolution'] else "")
print ""
return all_patches
def causal_time_combine(a, b):
@@ -471,6 +436,81 @@ def resolve_dependencies(all_patches, index = None, depends = None, auto_deps =
_resolve(depends)
return resolved
def sync_bug_status(bugtracker, bug, url):
"""Automatically updates the STAGED information of a referenced bug."""
# We don't want to reopen bugs
if bug['status'] not in ["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED", "STAGED"]:
return
if config.bugtracker_user is None or config.bugtracker_pass is None:
raise PatchUpdaterError("Can't update bug without username/password set")
changes = { 'ids' : bug['id'],
'Bugzilla_login' : config.bugtracker_user,
'Bugzilla_password' : config.bugtracker_pass }
# Update bug status
if bug['status'] != "STAGED":
changes['status'] = "STAGED"
# Update patchset URL
if bug['cf_staged_patchset'] != url:
changes['cf_staged_patchset'] = url
# Add missing CC contacts
missing_cc = []
for cc in config.bugtracker_defaultcc:
if cc not in bug['cc']:
missing_cc.append(cc)
if len(missing_cc):
changes["cc"] = {"add" : missing_cc}
bugtracker.Bug.update(changes)
def check_bug_status(all_patches, sync_bugs=False):
"""Checks the information in the referenced bugs and corrects them if sync_bugs is set."""
all_bugids = set()
url_map = {}
for _, patch in all_patches.iteritems():
url = "%s/tree/master/%s" % (config.github_url, patch.directory)
for bugid, bugname in patch.fixes:
if bugid is not None:
url_map[bugid] = url
all_bugids.add(bugid)
bugtracker = xmlrpclib.ServerProxy(config.bugtracker_url)
bug_list = bugtracker.Bug.get(dict(ids=list(all_bugids)))
staged_bugs = bugtracker.Bug.search(dict(status="STAGED"))
once = True
for bug in bug_list['bugs']:
if bug['status'] != "STAGED" or bug['cf_staged_patchset'] != url_map[bug['id']]:
if once:
print ""
print "WARNING: The following bugs might require attention:"
print ""
once = False
print " #%d - \"%s\" - %s %s - %s" % (bug['id'], bug['summary'], bug['status'],
bug['resolution'], bug['cf_staged_patchset'])
if sync_bugs:
sync_bug_status(bugtracker, bug, url_map[bug['id']])
once = True
for bug in staged_bugs['bugs']:
if bug['id'] not in all_bugids:
if once:
print ""
print "WARNING: The following bugs are incorrectly marked as STAGED:"
print ""
once = False
print " #%d - \"%s\" - %s %s" % (bug['id'], bug['summary'], bug['status'],
bug['resolution'])
print ""
def generate_ifdefined(all_patches, skip_checks=False):
"""Update autogenerated ifdefined patches, which can be used to selectively disable features at compile time."""
enabled_patches = dict([(i, patch) for i, patch in all_patches.iteritems() if not patch.disabled])
@@ -615,22 +655,21 @@ def generate_script(all_patches, skip_checks=False):
for i, patch1 in set_apply:
for j, patch2 in set_skip:
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
return None # we can skip this test
return True # we can skip this test
try:
original = original_content
for i, _ in set_apply:
original = patchutils.apply_patch(original, selected_patches[i][1], fuzz=0)
except patchutils.PatchApplyError:
return current
return False
return None # everything is fine
return True # everything is fine
def test_apply_seq(current_list):
for current in current_list:
failed = test_apply(current)
if failed is not None:
return failed
if not test_apply(current):
return current
return None
iterables = []
@@ -647,6 +686,10 @@ def generate_script(all_patches, skip_checks=False):
# Update the dependency cache
dependency_cache[filename] = unique_hash
# Delete outdated cache information
for filename in dependency_cache.keys():
if not modified_files.has_key(filename):
del dependency_cache[filename]
finally:
pool.close()
_save_dict(config.path_cache, dependency_cache)
@@ -759,7 +802,7 @@ def generate_script(all_patches, skip_checks=False):
# Add changes to git
subprocess.call(["git", "add", config.path_script])
def generate_markdown(all_patches, stable_patches):
def generate_markdown(all_patches, release_patches):
"""Generate README.md including information about specific patches and bugfixes."""
def _format_bug(mode, bugid, bugname):
@@ -776,8 +819,8 @@ def generate_markdown(all_patches, stable_patches):
key = bugid if bugid is not None else bugname
all_fixes[key] = [1, bugid, bugname]
# Compare with fixes for latest stable version
for _, patch in stable_patches.iteritems():
# Compare with fixes for last release
for _, patch in release_patches.iteritems():
for bugid, bugname in patch.fixes:
if bugid is not None and all_fixes.has_key(bugid):
all_fixes[bugid][0] = 0
@@ -870,24 +913,39 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Automatic patch dependency checker and apply script/README.md generator.")
parser.add_argument('--skip-checks', action='store_true', help="Skip dependency checks")
parser.add_argument('--commit', type=_check_commit_hash, help="Use given commit hash instead of HEAD")
parser.add_argument('--sync-bugs', action='store_true', help="Update bugs in bugtracker (requires admin rights)")
args = parser.parse_args()
tools_directory = os.path.dirname(os.path.realpath(__file__))
os.chdir(os.path.join(tools_directory, "./../.."))
config_parser = ConfigParser.ConfigParser()
config_parser.read(config.path_config)
try:
config.bugtracker_user = config_parser.get('bugtracker', 'username')
config.bugtracker_pass = config_parser.get('bugtracker', 'password')
except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
config.bugtracker_user = None
config.bugtracker_pass = None
try:
# Get information about Wine and Staging version
latest_wine_commit = _latest_wine_commit(args.commit)
latest_staging_version = _latest_staging_version(only_stable=True)
latest_staging_version = _latest_staging_version(only_released=True)
# Read current and stable patches
all_patches = read_patchset()
stable_patches = read_patchset(revision="v%s" % latest_staging_version)
# Read current and release patches
all_patches = read_patchset()
release_patches = read_patchset(revision="v%s" % latest_staging_version)
# Check bugzilla
check_bug_status(all_patches, sync_bugs=args.sync_bugs)
# Update autogenerated files
generate_ifdefined(all_patches, skip_checks=args.skip_checks)
generate_script(all_patches, skip_checks=args.skip_checks)
generate_markdown(all_patches, stable_patches)
generate_markdown(all_patches, release_patches)
wrap_changelog()
except PatchUpdaterError as e:

View File

@@ -54,6 +54,7 @@ class PatchObject(object):
self.patch_email = header['email']
self.patch_subject = header['subject']
self.patch_revision = header['revision'] if header.has_key('revision') else 1
self.signed_off_by = header['signedoffby'] if header.has_key('signedoffby') else []
self.filename = filename
self.offset_begin = None
@@ -329,6 +330,12 @@ def read_patch(filename):
if not subject.endswith("."): subject += "."
header['subject'], header['revision'] = subject, revision
elif line.startswith("Signed-off-by: "):
if not header.has_key('signedoffby'):
header['signedoffby'] = []
header['signedoffby'].append(_parse_author(line[15:]))
assert fp.read() == line
elif line.startswith("diff --git "):
tmp = line.strip().split(" ")
if len(tmp) != 4: raise PatchParserError("Unable to parse git diff header line '%s'." % line)

View File

@@ -1,17 +1,18 @@
From 70d9c625738a8c368e6276be3bed8baab9103083 Mon Sep 17 00:00:00 2001
From 08d8e1c398ed6f3e237ad9fd3d29e10d09dcff3d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 2 May 2014 20:46:19 +0200
Subject: user32: Decrease minimum SetTimer interval to 5 ms. (try 2)
---
dlls/user32/message.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
dlls/user32/message.c | 2 +-
dlls/user32/tests/msg.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index be5d995..a371f72 100644
index d122980..aec0938 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -4439,7 +4439,7 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout, TIMERPROC proc )
@@ -4443,7 +4443,7 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout, TIMERPROC proc )
if (proc) winproc = WINPROC_AllocProc( (WNDPROC)proc, FALSE );
@@ -20,6 +21,26 @@ index be5d995..a371f72 100644
SERVER_START_REQ( set_win_timer )
{
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index d92fbc7..dbaddb7 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -8521,6 +8521,7 @@ static void test_timers(void)
start = GetTickCount();
while (GetTickCount()-start < 1001 && GetMessageA(&msg, info.hWnd, 0, 0))
DispatchMessageA(&msg);
+todo_wine
ok(abs(count-TIMER_COUNT_EXPECTED) < TIMER_COUNT_TOLERANCE /* xp */
|| broken(abs(count-64) < TIMER_COUNT_TOLERANCE) /* most common */
|| broken(abs(count-43) < TIMER_COUNT_TOLERANCE) /* w2k3, win8 */,
@@ -8589,6 +8590,7 @@ static void test_timers_no_wnd(void)
start = GetTickCount();
while (GetTickCount()-start < 1001 && GetMessageA(&msg, NULL, 0, 0))
DispatchMessageA(&msg);
+todo_wine
ok(abs(count-TIMER_COUNT_EXPECTED) < TIMER_COUNT_TOLERANCE /* xp */
|| broken(abs(count-64) < TIMER_COUNT_TOLERANCE) /* most common */,
"did not get expected count for minimum timeout (%d != ~%d).\n",
--
1.8.3.2
2.5.1

View File

@@ -1,15 +1,15 @@
From 598daa857778080524e3de4a5668a834ab084564 Mon Sep 17 00:00:00 2001
From a41dac0b19ec2ba3807da4ac42d77717d79f1115 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 | 10 ++++++++++
1 file changed, 10 insertions(+)
dlls/kernel32/process.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 2c8074b..70b2579 100644
index b0c06e3..a2c1d4c 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
@@ -20,15 +20,14 @@ index 2c8074b..70b2579 100644
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1099,6 +1100,15 @@ static DWORD WINAPI start_process( PEB *peb )
@@ -1099,6 +1100,14 @@ 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 %s is a testing version containing experimental patches.\n", wine_get_version());
+ FIXME_(winediag)("Please report bugs at http://bugs.wine-staging.com (instead of winehq.org).\n");
+ FIXME_(winediag)("Please mention your exact version when filing bug reports on winehq.org.\n");
+ }
+ else
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
@@ -37,5 +36,5 @@ index 2c8074b..70b2579 100644
if (peb->BeingDebugged) DbgBreakPoint();
return call_process_entry( peb, entry );
--
2.4.1
2.5.1

View File

@@ -1,4 +1,4 @@
From 0e76401ae2de47285c66ee0b59bdf7449136d060 Mon Sep 17 00:00:00 2001
From 65feac97e132fb25278e7c4c904d2ae831bf8a50 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:53:46 +0200
Subject: winelib: Append '(Staging)' at the end of the version string.
@@ -8,7 +8,7 @@ Subject: winelib: Append '(Staging)' at the end of the version string.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in
index c961ba5..776168c 100644
index bc5f6fe..799b032 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -105,7 +105,7 @@ config_EXTRADEFS = \
@@ -18,8 +18,8 @@ index c961ba5..776168c 100644
- version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
+ version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1 (Staging)";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)
# Make sure that make_makefiles sees the generated rules
.PHONY: install install-lib install-dev uninstall
dummy:
--
2.1.1
2.6.1

View File

@@ -0,0 +1,110 @@
From 646388b696afda85dccc76678af6a8955bf0b627 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Fri, 16 Oct 2015 16:03:00 -0600
Subject: advapi32: Move the DACL combining code into a separate routine.
---
dlls/advapi32/security.c | 79 +++++++++++++++++++++++++++---------------------
1 file changed, 45 insertions(+), 34 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 00dafe8..dad8b22 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5805,6 +5805,48 @@ BOOL WINAPI FileEncryptionStatusA(LPCSTR lpFileName, LPDWORD lpStatus)
return TRUE;
}
+static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
+{
+ ACL *combined;
+ int i;
+
+ /* initialize a combined DACL containing both inherited and new ACEs */
+ combined = heap_alloc_zero(child->AclSize+parent->AclSize);
+ if (!combined)
+ return STATUS_NO_MEMORY;
+
+ memcpy(combined, child, child->AclSize);
+ combined->AclSize = child->AclSize+parent->AclSize;
+
+ /* copy the inherited ACEs */
+ for (i=0; i<parent->AceCount; i++)
+ {
+ ACE_HEADER *ace;
+
+ if (!GetAce(parent, i, (void*)&ace))
+ continue;
+ if (!(ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)))
+ continue;
+ if ((ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)) !=
+ (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE))
+ {
+ FIXME("unsupported flags: %x\n", ace->AceFlags);
+ continue;
+ }
+
+ if (ace->AceFlags & NO_PROPAGATE_INHERIT_ACE)
+ ace->AceFlags &= ~(OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE|NO_PROPAGATE_INHERIT_ACE);
+ ace->AceFlags &= ~INHERIT_ONLY_ACE;
+ ace->AceFlags |= INHERITED_ACE;
+
+ if (!AddAce(combined, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
+ WARN("error adding inherited ACE\n");
+ }
+
+ *result = combined;
+ return STATUS_SUCCESS;
+}
+
/******************************************************************************
* SetSecurityInfo [ADVAPI32.@]
*/
@@ -5904,41 +5946,10 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
if (!err)
{
- int i;
-
- dacl = heap_alloc_zero(pDacl->AclSize+parent_dacl->AclSize);
- if (!dacl)
- {
- LocalFree(parent_sd);
- return ERROR_NOT_ENOUGH_MEMORY;
- }
- memcpy(dacl, pDacl, pDacl->AclSize);
- dacl->AclSize = pDacl->AclSize+parent_dacl->AclSize;
-
- for (i=0; i<parent_dacl->AceCount; i++)
- {
- ACE_HEADER *ace;
-
- if (!GetAce(parent_dacl, i, (void*)&ace))
- continue;
- if (!(ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)))
- continue;
- if ((ace->AceFlags & (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE)) !=
- (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE))
- {
- FIXME("unsupported flags: %x\n", ace->AceFlags);
- continue;
- }
-
- if (ace->AceFlags & NO_PROPAGATE_INHERIT_ACE)
- ace->AceFlags &= ~(OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE|NO_PROPAGATE_INHERIT_ACE);
- ace->AceFlags &= ~INHERIT_ONLY_ACE;
- ace->AceFlags |= INHERITED_ACE;
-
- if(!AddAce(dacl, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
- WARN("error adding inherited ACE\n");
- }
+ status = combine_dacls(parent_dacl, pDacl, &dacl);
LocalFree(parent_sd);
+ if (status != STATUS_SUCCESS)
+ return RtlNtStatusToDosError(status);
}
}
else
--
2.6.1

View File

@@ -0,0 +1,54 @@
From d1accafbe8e52b6b2c84e9fe5d08303fc05858af Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Fri, 16 Oct 2015 13:58:38 -0600
Subject: advapi32: Fix the initialization of combined DACLs when the new DACL
is empty.
---
dlls/advapi32/security.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index dad8b22..11ae487 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5807,6 +5807,7 @@ BOOL WINAPI FileEncryptionStatusA(LPCSTR lpFileName, LPDWORD lpStatus)
static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
{
+ NTSTATUS status;
ACL *combined;
int i;
@@ -5815,8 +5816,26 @@ static NTSTATUS combine_dacls(ACL *parent, ACL *child, ACL **result)
if (!combined)
return STATUS_NO_MEMORY;
- memcpy(combined, child, child->AclSize);
- combined->AclSize = child->AclSize+parent->AclSize;
+ status = RtlCreateAcl(combined, parent->AclSize+child->AclSize, ACL_REVISION);
+ if (status != STATUS_SUCCESS)
+ {
+ heap_free(combined);
+ return status;
+ }
+
+ /* copy the new ACEs */
+ for (i=0; i<child->AceCount; i++)
+ {
+ ACE_HEADER *ace;
+
+ if (!GetAce(child, i, (void*)&ace))
+ {
+ WARN("error obtaining new ACE\n");
+ continue;
+ }
+ if (!AddAce(combined, ACL_REVISION, MAXDWORD, ace, ace->AceSize))
+ WARN("error adding new ACE\n");
+ }
/* copy the inherited ACEs */
for (i=0; i<parent->AceCount; i++)
--
2.6.1

View File

@@ -0,0 +1 @@
Fixes: [38423] Fix the initialization of combined DACLs when the new DACL is empty

View File

@@ -1,85 +0,0 @@
From e81a06349b039e60a7d9fcaa6f38b874767e7543 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 30 Aug 2015 20:55:52 +0200
Subject: advpack: Translate flags in LaunchINFSection.
---
dlls/advpack/install.c | 6 +++++-
dlls/advpack/tests/install.c | 11 ++++++++++-
include/advpub.h | 4 ++++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/advpack/install.c b/dlls/advpack/install.c
index f75eb01..dcd1dd7 100644
--- a/dlls/advpack/install.c
+++ b/dlls/advpack/install.c
@@ -776,7 +776,11 @@ INT WINAPI LaunchINFSectionW(HWND hWnd, HINSTANCE hInst, LPWSTR cmdline, INT sho
str_flags = get_parameter(&cmdline_ptr, ',', TRUE);
if (str_flags)
- flags = atolW(str_flags);
+ {
+ DWORD inf_flags = atolW(str_flags);
+ if (inf_flags & LIS_QUIET) flags |= RSC_FLAG_QUIET;
+ if (inf_flags & LIS_NOGRPCONV) flags |= RSC_FLAG_NGCONV;
+ }
ZeroMemory(&info, sizeof(ADVInfo));
diff --git a/dlls/advpack/tests/install.c b/dlls/advpack/tests/install.c
index 875e7d4..c9cd720 100644
--- a/dlls/advpack/tests/install.c
+++ b/dlls/advpack/tests/install.c
@@ -190,6 +190,8 @@ static void test_LaunchINFSection(void)
HRESULT hr;
char cmdline[MAX_PATH];
static char file[] = "test.inf,DefaultInstall,4,0";
+ static char file2[] = "one\\test.inf,DefaultInstall,4,0";
+ static char file3[] = "test.inf,,1,0";
/* The 'No UI' flag seems to have no effect whatsoever on Windows.
* So only do this test in interactive mode.
@@ -207,10 +209,14 @@ static void test_LaunchINFSection(void)
/* try a full path to the INF */
lstrcpyA(cmdline, CURR_DIR);
lstrcatA(cmdline, "\\");
- lstrcatA(cmdline, "one\\test.inf,DefaultInstall,,4");
+ lstrcatA(cmdline, file2);
hr = pLaunchINFSection(NULL, NULL, cmdline, 0);
ok(hr == 0, "Expected 0, got %d\n", hr);
+ /* try relative INF filename */
+ hr = pLaunchINFSection(NULL, NULL, file2, 0);
+ ok(hr == 0, "Expected 0, got %d\n", hr);
+
DeleteFileA("one\\test.inf");
RemoveDirectoryA("one");
@@ -220,6 +226,9 @@ static void test_LaunchINFSection(void)
hr = pLaunchINFSection(NULL, NULL, file, 0);
ok(hr == 0, "Expected 0, got %d\n", hr);
+ hr = pLaunchINFSection(NULL, NULL, file3, 0);
+ ok(hr == 0, "Expected 0, got %d\n", hr);
+
DeleteFileA("test.inf");
}
diff --git a/include/advpub.h b/include/advpub.h
index b213b1f..7823e0a 100644
--- a/include/advpub.h
+++ b/include/advpub.h
@@ -135,6 +135,10 @@ DECL_WINELIB_TYPE_AW(LPCSTRTABLE)
#define RSC_FLAG_DELAYREGISTEROCX 0x00000200
#define RSC_FLAG_SETUPAPI 0x00000400
+/* Flags for LaunchINFSection */
+#define LIS_QUIET 0x00000001
+#define LIS_NOGRPCONV 0x00000002
+
/* Flags for DelNode */
#define ADN_DEL_IF_EMPTY 0x00000001
#define ADN_DONT_DEL_SUBDIRS 0x00000002
--
2.5.0

View File

@@ -1 +0,0 @@
Fixes: Translate flags in LaunchINFSectionW

View File

@@ -1,163 +0,0 @@
From 5bf6e56850354195aec9ec1146e3f82a0b2bcfdb Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:02 +0300
Subject: vcruntime140: Add the new MSVC 2015 compiler specific DLL.
Since MSVC 2015/Windows 10, the C runtime has now been split into two
parts, ucrtbase, which is the generic C runtime which is now considered
a system component, and vcruntimeX which is specific to the compiler
version.
Even if this DLL only has a fraction of the functions of the full
msvcrt/ucrtbase, it still requires almost all the object files from
msvcrt.
---
configure.ac | 1 +
dlls/vcruntime140/Makefile.in | 33 +++++++++++++++
dlls/vcruntime140/vcruntime140.spec | 82 +++++++++++++++++++++++++++++++++++++
3 files changed, 116 insertions(+)
create mode 100644 dlls/vcruntime140/Makefile.in
create mode 100644 dlls/vcruntime140/vcruntime140.spec
diff --git a/configure.ac b/configure.ac
index ed1052c..16d87ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3328,6 +3328,7 @@ WINE_CONFIG_TEST(dlls/vcomp/tests)
WINE_CONFIG_DLL(vcomp100)
WINE_CONFIG_DLL(vcomp110)
WINE_CONFIG_DLL(vcomp90)
+WINE_CONFIG_DLL(vcruntime140,,[implib])
WINE_CONFIG_DLL(vdhcp.vxd,enable_win16)
WINE_CONFIG_DLL(vdmdbg,,[implib])
WINE_CONFIG_DLL(ver.dll16,enable_win16)
diff --git a/dlls/vcruntime140/Makefile.in b/dlls/vcruntime140/Makefile.in
new file mode 100644
index 0000000..92f99c4
--- /dev/null
+++ b/dlls/vcruntime140/Makefile.in
@@ -0,0 +1,33 @@
+EXTRADEFS = -D_MT -D_MSVCR_VER=140
+MODULE = vcruntime140.dll
+IMPORTLIB = vcruntime140
+DELAYIMPORTS = advapi32 user32
+PARENTSRC = ../msvcrt
+
+C_SRCS = \
+ console.c \
+ cpp.c \
+ ctype.c \
+ data.c \
+ dir.c \
+ environ.c \
+ errno.c \
+ except.c \
+ except_arm.c \
+ except_i386.c \
+ except_x86_64.c \
+ exit.c \
+ file.c \
+ heap.c \
+ locale.c \
+ lock.c \
+ main.c \
+ math.c \
+ mbcs.c \
+ misc.c \
+ process.c \
+ string.c \
+ thread.c \
+ time.c \
+ undname.c \
+ wcs.c
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
new file mode 100644
index 0000000..9027955
--- /dev/null
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -0,0 +1,82 @@
+@ stub _CreateFrameInfo
+@ stdcall _CxxThrowException(long long)
+@ cdecl -arch=i386 -norelay _EH_prolog()
+@ stub _FindAndUnlinkFrame
+@ stub _IsExceptionObjectToBeDestroyed
+@ stub _NLG_Dispatch2
+@ stub _NLG_Return
+@ stub _NLG_Return2
+@ stub _SetWinRTOutOfMemoryExceptionCallback
+@ cdecl __AdjustPointer(ptr ptr)
+@ stub __BuildCatchObject
+@ stub __BuildCatchObjectHelper
+@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr)
+@ stub __CxxExceptionFilter
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr)
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
+@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr)
+@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize()
+@ stub __CxxRegisterExceptionObject
+@ stub __CxxUnregisterExceptionObject
+@ stub __DestructExceptionObject
+@ stub __FrameUnwindFilter
+@ stub __GetPlatformExceptionInfo
+@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
+@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
+@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
+@ stub __TypeMatch
+@ stub __current_exception
+@ stub __current_exception_context
+@ stub __intrinsic_setjmp
+@ stub __processing_throw
+@ stub __report_gsfailure
+@ stub __std_exception_copy
+@ stub __std_exception_destroy
+@ stub __std_terminate
+@ stub __std_type_info_compare
+@ stub __std_type_info_destroy_list
+@ stub __std_type_info_hash
+@ stub __std_type_info_name
+@ stub __telemetry_main_invoke_trigger
+@ stub __telemetry_main_return_trigger
+@ cdecl __unDName(ptr str long ptr ptr long)
+@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
+@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
+@ stub __uncaught_exceptions
+@ stub __vcrt_GetModuleFileNameW
+@ stub __vcrt_GetModuleHandleW
+@ stub __vcrt_InitializeCriticalSectionEx
+@ stub __vcrt_LoadLibraryExW
+@ cdecl -arch=i386 -norelay _chkesp()
+@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
+@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr)
+@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr)
+@ stub _get_purecall_handler
+@ cdecl _get_unexpected() MSVCRT__get_unexpected
+@ cdecl -arch=i386 _global_unwind2(ptr)
+@ stub _is_exception_typeof
+@ cdecl -arch=i386 _local_unwind2(ptr long)
+@ cdecl -arch=i386 _local_unwind4(ptr ptr long)
+@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp
+@ cdecl _purecall()
+@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr)
+@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
+@ cdecl _set_purecall_handler(ptr)
+@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *)
+@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
+@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3
+@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp
+@ cdecl memchr(ptr long long) MSVCRT_memchr
+@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp
+@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy
+@ cdecl memmove(ptr ptr long) MSVCRT_memmove
+@ cdecl memset(ptr long long) MSVCRT_memset
+@ stub set_unexpected
+@ cdecl strchr(str long) MSVCRT_strchr
+@ cdecl strrchr(str long) MSVCRT_strrchr
+@ cdecl strstr(str str) MSVCRT_strstr
+@ stub unexpected
+@ cdecl wcschr(wstr long) MSVCRT_wcschr
+@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
+@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
--
2.5.0

View File

@@ -1,26 +0,0 @@
From 3d3dd8491369119ee0dea8ec571b917f8613910a Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:03 +0300
Subject: vcruntime140: Hook up a function with a new name to the existing
implementation
---
dlls/vcruntime140/vcruntime140.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index 9027955..adfb0f0 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -46,7 +46,7 @@
@ stub __uncaught_exceptions
@ stub __vcrt_GetModuleFileNameW
@ stub __vcrt_GetModuleHandleW
-@ stub __vcrt_InitializeCriticalSectionEx
+@ cdecl -arch=i386,win64 __vcrt_InitializeCriticalSectionEx(ptr long long) MSVCR110__crtInitializeCriticalSectionEx
@ stub __vcrt_LoadLibraryExW
@ cdecl -arch=i386 -norelay _chkesp()
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
--
2.5.0

View File

@@ -1,54 +0,0 @@
From 00e2e0a38d5ef81502d35a5aa3f62cb4ed834488 Mon Sep 17 00:00:00 2001
From: Martin Storsjo <martin@martin.st>
Date: Mon, 3 Aug 2015 22:26:05 +0300
Subject: vcruntime140: Add stubs for telemetry functions
These are required for a plain empty exe built with MSVC 2015 with
dynamic C runtime to start up with the builtin vcruntime140.dll.
---
dlls/msvcrt/misc.c | 16 ++++++++++++++++
dlls/vcruntime140/vcruntime140.spec | 4 ++--
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c
index 4e9f288..556ca62 100644
--- a/dlls/msvcrt/misc.c
+++ b/dlls/msvcrt/misc.c
@@ -498,3 +498,19 @@ void CDECL MSVCR120__vacopy(__ms_va_list *dest, __ms_va_list src)
{
__ms_va_copy(*dest, src);
}
+
+/*********************************************************************
+ * __telemetry_main_invoke_trigger (MSVCRT.@)
+ */
+void CDECL __telemetry_main_invoke_trigger(const HINSTANCE hinst)
+{
+ TRACE("(%p)\n", hinst);
+}
+
+/*********************************************************************
+ * __telemetry_main_return_trigger (MSVCRT.@)
+ */
+void CDECL __telemetry_main_return_trigger(const HINSTANCE hinst)
+{
+ TRACE("(%p)\n", hinst);
+}
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
index adfb0f0..efd967f 100644
--- a/dlls/vcruntime140/vcruntime140.spec
+++ b/dlls/vcruntime140/vcruntime140.spec
@@ -38,8 +38,8 @@
@ stub __std_type_info_destroy_list
@ stub __std_type_info_hash
@ stub __std_type_info_name
-@ stub __telemetry_main_invoke_trigger
-@ stub __telemetry_main_return_trigger
+@ cdecl __telemetry_main_invoke_trigger(ptr)
+@ cdecl __telemetry_main_return_trigger(ptr)
@ cdecl __unDName(ptr str long ptr ptr long)
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
--
2.5.0

Some files were not shown because too many files have changed in this diff Show More