Compare commits

..

89 Commits

Author SHA1 Message Date
Sebastian Lackner
be377f28ee Release 1.7.55. 2015-11-15 18:41:33 +01:00
Sebastian Lackner
6604238b3c ntoskrnl-Stubs: Add bug reference for KeWaitForMultipleObjects stub. 2015-11-15 16:04:10 +01:00
Sebastian Lackner
58cd8f2507 Added patch to allow to set default display frequency in registry. 2015-11-15 15:49:06 +01:00
Sebastian Lackner
3aa9934386 Added patch to allow dinput EnumDevices callback with broken calling convention. 2015-11-15 14:44:51 +01:00
Sebastian Lackner
4a6afc96cb patchupdate.py: Allow to disable synchronization for specific bugs. 2015-11-15 05:40:26 +01:00
Sebastian Lackner
6539aec608 patchupdate.py: Remove support for deprecated Fixes: format. 2015-11-15 05:31:46 +01:00
Sebastian Lackner
0c787e6a09 Added patch to implement stubless proxies on x86_64. 2015-11-15 05:21:15 +01:00
Sebastian Lackner
8b28977596 patchutils.py: Uppercase first character of patch description. 2015-11-15 01:05:09 +01:00
Sebastian Lackner
b0a0836e95 Added patch to implement marshalling for TKIND_COCLASS. 2015-11-15 00:45:05 +01:00
Sebastian Lackner
03fc84498f Added patch to make sure CompareString immediately aborts on first non-matching character. 2015-11-14 20:50:18 +01:00
Sebastian Lackner
cfc2f08f0a Added patch to fix required privileges for load_registry and unload_registry wineserver call. 2015-11-14 18:29:24 +01:00
Sebastian Lackner
7c7da8183e Added patch for stubs of advapi32.RegCreateKeyTransacted[A/W]. 2015-11-14 17:32:04 +01:00
Sebastian Lackner
68a4753dbf Added patch for stub of kernel32.FreeUserPhysicalPages. 2015-11-13 23:48:07 +01:00
Sebastian Lackner
dbce23ab3b Added patch to properly handle multiple registry notifications per key. 2015-11-13 23:33:19 +01:00
Sebastian Lackner
19d466a729 Added patch for stub of hid.HidP_TranslateUsagesToI8042ScanCodes. 2015-11-13 21:14:30 +01:00
Sebastian Lackner
5da8bc54a5 Added patch for partial implementation of ITfThreadMgrEx_ActivateEx. 2015-11-13 19:58:23 +01:00
Sebastian Lackner
e5bff1feaf d3dx9_36-DDS: Add initial tests for D3DXSaveSurfaceToFileInMemory. 2015-11-13 19:09:04 +01:00
Sebastian Lackner
2c3f70b42b Rebase against a786dca935c3e9b3d85853db4b61700e590a1c8b. 2015-11-13 18:00:14 +01:00
Sebastian Lackner
75dc81b7d3 Rebase against 370254cbe93beae6a9ff693d98c638db5bfb1134. 2015-11-12 18:17:43 +01:00
Sebastian Lackner
3faa0f1212 Rebase against 5cf95396503d49f0249c473c1ed51e51213124c0. 2015-11-11 18:20:09 +01:00
Sebastian Lackner
42b1edd98d hal-KeQueryPerformanceCounter: Use numeric return type to ensure correct code is generated on x86. 2015-11-11 06:06:03 +01:00
Sebastian Lackner
97d07afaf9 Rebase against 61c49bd78e5c96f14870e5c21a2ff75da7ac17b2. 2015-11-10 20:14:26 +01:00
Sebastian Lackner
eb20574d3e Added patch to implement support for "Purist Mode" (override for all dlls). 2015-11-10 17:22:06 +01:00
Sebastian Lackner
6a3ea0e976 Added patch to revert "Prepare GL resources before calling context_apply_fbo_state". 2015-11-10 03:28:48 +01:00
Sebastian Lackner
0696c2c351 kernel32-Named_Pipe: Only allow one test result. 2015-11-09 18:16:06 +01:00
Sebastian Lackner
f98e04ebc1 Rebase against 7bd852c6ce0299f14fa585c124bae029f0d6d214. 2015-11-09 17:04:55 +01:00
Sebastian Lackner
9d447d1e4b debian/install: Fix list of files for i386 package. 2015-11-09 01:54:19 +01:00
Sebastian Lackner
f09a38e62f winepulse-PulseAudio_Support: Fix patch to use delay import for winealsa.drv. 2015-11-08 02:59:57 +01:00
Sebastian Lackner
f673b561d0 Rebase against a0d0d0dd0a5b4a500ab8d37cc6e687a202997d56. 2015-11-06 18:47:17 +01:00
Sebastian Lackner
425fb96870 ntdll-Wait_User_APC: Remove todo_wine in tests. 2015-11-05 18:30:01 +01:00
Sebastian Lackner
9afe850d99 Rebase against bfb845f9fccb2ff5bff0b0ba3238fec7f9f7b710. 2015-11-05 17:57:35 +01:00
Sebastian Lackner
4205b76407 precommit-hook.sh: Do not complain about untracked *.py scripts in patches/ directory. 2015-11-05 02:30:29 +01:00
Sebastian Lackner
f6e27c19e1 Rebase against 60fedd23f95c66f4dce06c5c447de9ec99ebefa5. 2015-11-05 02:11:17 +01:00
Sebastian Lackner
3f08cafe30 Rebase against a410990f7cb0fd7477d4594f8644428ca8873f0e. 2015-11-05 02:03:36 +01:00
Sebastian Lackner
a51602d5df Rebase against b53256b8b752855576252cc2290dfbc9cb0f1280. 2015-11-05 01:58:41 +01:00
Sebastian Lackner
ec61f717d5 Rebase against 99033b14534ffe8ff6c88c8d38a70d398c933b4d. 2015-11-05 01:32:19 +01:00
Sebastian Lackner
00b4488edc ntdll-Wait_User_APC: Simplify the code.
But still not simple enough... :/
https://www.winehq.org/pipermail/wine-devel/2015-November/110204.html
2015-11-04 16:21:41 +01:00
Sebastian Lackner
91a3fcc513 winepulse-PulseAudio_Support: Reenable patchset.
Various patches have been modified to use static initialization of device data,
to avoid loader deadlocks when initializing PulseAudio too early. These are very
huge changes, so the new patchset should receive some additional testing before
the next release.
2015-11-04 05:46:57 +01:00
Sebastian Lackner
637b89cefa Rebase against c715127536a78166e58b165c390a57b704899d29. 2015-11-03 17:47:17 +01:00
Sebastian Lackner
1d24dc8141 Rebase against 8f443077416fd820375b1bc0d1276286d23348fc.
The pulseaudio patchset is temporarily disabled in this commit because the
upstream merge introduced several bugs. It will be reenabled in one of the
next commits.
2015-11-03 17:46:24 +01:00
Sebastian Lackner
d5a263093f debian/install: Move loader manpages to common -i386 package. 2015-11-02 04:00:22 +01:00
Sebastian Lackner
8c4e21ef46 Remove disabled ntdll-FD_Cache patchset (only for PowerPC, no longer necessary because Wine uses inline cmpxchg64 now when compiling with gcc). 2015-11-01 01:17:10 +01:00
Sebastian Lackner
123214c032 Remove disabled reg-Cleanup patchset (only cleanup and not actively maintained). 2015-11-01 01:11:18 +01:00
Sebastian Lackner
15733c4eb8 Remove disabled shell32-Quoted_ShellExecute patchset (bug already fixed and all tests pass). 2015-11-01 01:09:13 +01:00
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
252 changed files with 6338 additions and 11995 deletions

View File

@@ -34,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.53 [262]:**
**Bug fixes and features in Wine Staging 1.7.55 [269]:**
*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
@@ -53,6 +53,7 @@ for more details.*
* Add implementation for msidb commandline tool
* Add implementation for shlwapi.AssocGetPerceivedType
* Add nvapi stubs required for GPU PhysX support
* Add partial implementation of ITfThreadMgrEx_ActivateEx ([Wine Bug #39564](https://bugs.winehq.org/show_bug.cgi?id=39564))
* 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))
@@ -60,10 +61,11 @@ for more details.*
* 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 SetCoalescableTimer ([Wine Bug #39509](https://bugs.winehq.org/show_bug.cgi?id=39509))
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
* Add stub for ntoskrnl.ExDeleteResourceLite
* Add stub for ntoskrnl.ExReleaseResourceForThread
* Add stub for ntoskrnl.KeWaitForMultipleObjects
* Add stub for ntoskrnl.KeWaitForMultipleObjects ([Wine Bug #32186](https://bugs.winehq.org/show_bug.cgi?id=32186))
* Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
* Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine
* Add stub for setupapi.SetupDiSelectBestCompatDrv ([Wine Bug #32088](https://bugs.winehq.org/show_bug.cgi?id=32088))
@@ -71,9 +73,11 @@ for more details.*
* Add stub for winscard.SCardListReadersA/W ([Wine Bug #26978](https://bugs.winehq.org/show_bug.cgi?id=26978))
* Add stub for winspool.SetPrinterW level 8 ([Wine Bug #24645](https://bugs.winehq.org/show_bug.cgi?id=24645))
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
* Add stub kernel32.FreeUserPhysicalPages ([Wine Bug #39543](https://bugs.winehq.org/show_bug.cgi?id=39543))
* Add stubbed ISWbemSecurity interfaces in wbemdisp
* Add stubs for D3DXCreateAnimationController interface
* Add stubs for additional wininet options in InternetSetOption
* Add stubs for advapi32.RegCreateKeyTransacted[A/W]
* 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
@@ -81,6 +85,7 @@ for more details.*
* Add support for process specific debug channels
* Add wined3d detection for GeForce GT 425M ([Wine Bug #35054](https://bugs.winehq.org/show_bug.cgi?id=35054))
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
* Allow dinput EnumDevices callback with broken calling convention ([Wine Bug #27664](https://bugs.winehq.org/show_bug.cgi?id=27664))
* Allow non-nullterminated string as working directory in kernel32.create_startup_info
* 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))
@@ -89,6 +94,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
* Allow to specify default display frequency in registry
* 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))
@@ -106,19 +112,20 @@ for more details.*
* 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
* CompareString should abort on first non-matching character ([Wine Bug #37556](https://bugs.winehq.org/show_bug.cgi?id=37556))
* 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 check if object was signaled after user APC in server_select
* 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 require SeBackupPrivilege in load_registry and unload_registry ([Wine Bug #28729](https://bugs.winehq.org/show_bug.cgi?id=28729))
* Do not signal threads until they are really gone
* Do not use unixfs for devices without mountpoint
* 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))
* Export additional OpenAL32 functions ([Wine Bug #38972](https://bugs.winehq.org/show_bug.cgi?id=38972))
* Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
@@ -127,7 +134,6 @@ 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))
@@ -135,7 +141,6 @@ for more details.*
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
* Fix detection of case-insensitive systems in MSYS2
* 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
@@ -148,7 +153,6 @@ for more details.*
* Fix handling of ANSI NTLM credentials ([Wine Bug #37063](https://bugs.winehq.org/show_bug.cgi?id=37063))
* 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 handling of opening read-only files for FILE_DELETE_ON_CLOSE ([Wine Bug #38417](https://bugs.winehq.org/show_bug.cgi?id=38417))
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
* 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))
@@ -175,31 +179,38 @@ for more details.*
* 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 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 kernel32.GetPhysicallyInstalledSystemMemory ([Wine Bug #39395](https://bugs.winehq.org/show_bug.cgi?id=39395))
* Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500))
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
* Implement marshalling for TKIND_COCLASS ([Wine Bug #19016](https://bugs.winehq.org/show_bug.cgi?id=19016))
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
* Implement ntoskrnl driver testing framework.
* Implement ntoskrnl.KeInitializeMutex
* 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 hid.HidP_TranslateUsagesToI8042ScanCodes ([Wine Bug #39447](https://bugs.winehq.org/show_bug.cgi?id=39447))
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
* Implement stub for ntoskrnl.KeDelayExecutionThread.
* Implement stubless proxies on x86_64 ([Wine Bug #26768](https://bugs.winehq.org/show_bug.cgi?id=26768))
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
* Implement support for "Purist Mode" (override for all dlls)
* 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))
@@ -214,7 +225,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
* 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))
@@ -225,12 +236,11 @@ for more details.*
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))
* Process APC calls before starting process
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
* Properly close sockets when WSACleanup is called ([Wine Bug #18670](https://bugs.winehq.org/show_bug.cgi?id=18670))
* Properly handle multiple registry notifications per key
* 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
@@ -240,13 +250,12 @@ for more details.*
* 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
* Revert patch to prepare GL resources before calling context_apply_fbo_state ([Wine Bug #39536](https://bugs.winehq.org/show_bug.cgi?id=39536))
* SHFileOperation with FO_MOVE should create new directory on Vista+ ([Wine Bug #25207](https://bugs.winehq.org/show_bug.cgi?id=25207))
* SO_CONNECT_TIME returns the appropriate time
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
* Set EOF on file which has a memory mapping should fail
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
@@ -274,9 +283,7 @@ for more details.*
* 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

91
debian/changelog vendored
View File

@@ -1,3 +1,94 @@
wine-staging (1.7.55) unstable; urgency=low
* Added patch to revert "Prepare GL resources before calling
context_apply_fbo_state".
* Added patch to implement support for "Purist Mode" (override for all dlls).
* Added patch for partial implementation of ITfThreadMgrEx_ActivateEx.
* Added patch for stub of hid.HidP_TranslateUsagesToI8042ScanCodes.
* Added patch to properly handle multiple registry notifications per key.
* Added patch for stub of kernel32.FreeUserPhysicalPages.
* Added patch for stubs of advapi32.RegCreateKeyTransacted[A/W].
* Added patch to fix required privileges for load_registry and unload_registry
wineserver call.
* Added patch to make sure CompareString immediately aborts on first non-
matching character.
* Added patch to implement marshalling for TKIND_COCLASS.
* Added patch to implement stubless proxies on x86_64.
* Added patch to allow dinput EnumDevices callback with broken calling
convention.
* Added patch to allow to set default display frequency in registry (fixes
Wine Staging Bug #609).
* Remove disabled shell32-Quoted_ShellExecute patchset (bug already fixed and
all tests pass).
* Remove disabled reg-Cleanup patchset (only cleanup and not actively
maintained).
* Remove disabled ntdll-FD_Cache patchset (only for PowerPC, no longer
necessary because Wine uses inline cmpxchg64 now when compiling with gcc).
* Removed patch to implement kernel32.GetConsoleFontSize (accepted upstream).
* Removed patch to zero out returned stats when IEnumSTATSTG::Next reaches end
of enumeration (accepted upstream).
* Removed patch for SfcGetNextProtectedFile stub function (accepted upstream).
* Removed patch for SetConsoleKeyShortcuts stub function (accepted upstream).
* Removed various PulseAudio driver patches (accepted upstream).
* Removed patch to protect TVM_GETITEM from invalid item pointers (accepted
upstream).
* Removed patch to ensure that X11 input events handled even without explicit
message loop (accepted upstream).
* Removed patches to fix multiple issues in widl typelib generator (accepted
upstream).
* Removed patch to fix handling of opening read-only files for
FILE_DELETE_ON_CLOSE (accepted upstream).
* Removed patch to fix cursor clip regression / broken raw input in multiple
games (accepted upstream).
* Removed patch for ntoskrnl.ProbeForRead stub (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 15 Nov 2015 18:40:25 +0100
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.

View File

@@ -295,17 +295,13 @@ def read_patchset(revision = None):
patch.categories.append(val)
elif key == "fixes":
r = re.match("^[0-9]+$", val)
r = re.match("^\\[ *(!)? *([0-9]+) *\\](.*)$", val)
if r:
bugid = int(val)
patch.fixes.append((bugid, None))
sync = (r.group(1) != "!")
bugid = int(r.group(2))
patch.fixes.append((sync, bugid, r.group(3).strip()))
continue
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
if r:
bugid = int(r.group(1))
patch.fixes.append((bugid, r.group(2).strip()))
continue
patch.fixes.append((None, val))
patch.fixes.append((False, None, val))
elif key == "disabled":
patch.disabled = _parse_int(val)
@@ -476,8 +472,8 @@ def check_bug_status(all_patches, sync_bugs=False):
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:
for sync, bugid, bugname in patch.fixes:
if sync and bugid is not None:
url_map[bugid] = url
all_bugids.add(bugid)
@@ -767,9 +763,9 @@ def generate_script(all_patches, skip_checks=False):
lines.append("# |\n")
# List all bugs fixed by this patchset
if any([bugid is not None for bugid, bugname in patch.fixes]):
if any([bugid is not None for sync, bugid, bugname in patch.fixes]):
lines.append("# | This patchset fixes the following Wine bugs:\n")
for bugid, bugname in patch.fixes:
for sync, bugid, bugname in patch.fixes:
if bugid is not None:
lines.append("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap("[#%d] %s" % (bugid, bugname), 120)))
lines.append("# |\n")
@@ -815,13 +811,13 @@ def generate_markdown(all_patches, release_patches):
# Get fixes for current version
for _, patch in all_patches.iteritems():
for bugid, bugname in patch.fixes:
for sync, bugid, bugname in patch.fixes:
key = bugid if bugid is not None else bugname
all_fixes[key] = [1, bugid, bugname]
# Compare with fixes for last release
for _, patch in release_patches.iteritems():
for bugid, bugname in patch.fixes:
for sync, bugid, bugname in patch.fixes:
if bugid is not None and all_fixes.has_key(bugid):
all_fixes[bugid][0] = 0
elif all_fixes.has_key(bugname):

View File

@@ -328,6 +328,8 @@ def read_patch(filename):
assert fp.read() == line
subject, revision = _parse_subject(subject)
if not subject.endswith("."): subject += "."
subject = re.sub('^([^:]*: *)([a-z])', lambda x: "%s%s" %
(x.group(1), x.group(2).upper()), subject, 1)
header['subject'], header['revision'] = subject, revision
elif line.startswith("Signed-off-by: "):

View File

@@ -2,3 +2,7 @@
/opt/wine-staging/lib/wine
/opt/wine-staging/bin/wine
/opt/wine-staging/bin/wine-preloader
/opt/wine-staging/share/man/man?/wine.?*
/opt/wine-staging/share/man/de.UTF-8/man?/wine.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/wine.?*
/opt/wine-staging/share/man/pl.UTF-8/man?/wine.?*

View File

@@ -1,2 +1,28 @@
/opt/wine-staging/bin
/opt/wine-staging/share
/opt/wine-staging/share/applications
/opt/wine-staging/share/wine
/opt/wine-staging/share/man/de.UTF-8/man?/winemaker.?*
/opt/wine-staging/share/man/de.UTF-8/man?/wineserver.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/winemaker.?*
/opt/wine-staging/share/man/fr.UTF-8/man?/wineserver.?*
/opt/wine-staging/share/man/man?/msiexec.?*
/opt/wine-staging/share/man/man?/notepad.?*
/opt/wine-staging/share/man/man?/regedit.?*
/opt/wine-staging/share/man/man?/regsvr32.?*
/opt/wine-staging/share/man/man?/widl.?*
/opt/wine-staging/share/man/man?/wineboot.?*
/opt/wine-staging/share/man/man?/winebuild.?*
/opt/wine-staging/share/man/man?/winecfg.?*
/opt/wine-staging/share/man/man?/wineconsole.?*
/opt/wine-staging/share/man/man?/winecpp.?*
/opt/wine-staging/share/man/man?/winedbg.?*
/opt/wine-staging/share/man/man?/winedump.?*
/opt/wine-staging/share/man/man?/winefile.?*
/opt/wine-staging/share/man/man?/wineg++.?*
/opt/wine-staging/share/man/man?/winegcc.?*
/opt/wine-staging/share/man/man?/winemaker.?*
/opt/wine-staging/share/man/man?/winemine.?*
/opt/wine-staging/share/man/man?/winepath.?*
/opt/wine-staging/share/man/man?/wineserver.?*
/opt/wine-staging/share/man/man?/wmc.?*
/opt/wine-staging/share/man/man?/wrc.?*

View File

@@ -1,4 +1,4 @@
From 267583000e05b5ed8da1122df0830556fe7e69f6 Mon Sep 17 00:00:00 2001
From 35e7be609df3c37eded9a3fd117ba0cef02f24c7 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Fri, 8 Aug 2014 19:33:14 -0600
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
@@ -12,10 +12,10 @@ Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index f9cb71c..81f6131 100644
index 55140c6..2facbfb 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -11967,7 +11967,7 @@ static void yuv_layout_test(void)
@@ -12034,7 +12034,7 @@ static void yuv_layout_test(void)
IDirect3D9 *d3d;
D3DCOLOR color;
DWORD ref_color;
@@ -25,10 +25,10 @@ index f9cb71c..81f6131 100644
IDirect3DDevice9 *device;
ULONG refcount;
diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
index 7a1d408..649c866 100644
index bb61e7f..cf4c466 100644
--- a/dlls/netapi32/netapi32.c
+++ b/dlls/netapi32/netapi32.c
@@ -779,7 +779,7 @@ static NET_API_STATUS share_info_to_samba( DWORD level, const BYTE *buf, unsigne
@@ -780,7 +780,7 @@ static NET_API_STATUS share_info_to_samba( DWORD level, const BYTE *buf, unsigne
static NET_API_STATUS share_add( LMSTR servername, DWORD level, LPBYTE buf, LPDWORD parm_err )
{
char *server = NULL;
@@ -51,10 +51,10 @@ index 14eac39..ebff9f1 100644
static const WCHAR dashW[] = {' ','-',' ',0};
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index f69a2ce..00232a5 100644
index 44e7090..429ae90 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -6706,7 +6706,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
@@ -6893,7 +6893,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
GLuint vs_id = 0;
GLuint gs_id = 0;
GLuint ps_id = 0;
@@ -64,18 +64,18 @@ index f69a2ce..00232a5 100644
struct wined3d_string_buffer *tmp_name;
diff --git a/tools/makedep.c b/tools/makedep.c
index 54aab45..103422e 100644
index d8cf2f5..280f62f 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1480,7 +1480,7 @@ static char *get_make_variable( struct makefile *make, const char *name )
*/
static char *get_expanded_make_variable( struct makefile *make, const char *name )
@@ -1559,7 +1559,7 @@ static const char *get_make_variable( const struct makefile *make, const char *n
static char *get_expanded_make_variable( const struct makefile *make, const char *name )
{
- char *p, *end, *var, *expand, *tmp;
+ char *p, *end, *var, *expand, *tmp = NULL;
const char *var;
- char *p, *end, *expand, *tmp;
+ char *p, *end, *expand, *tmp = NULL;
expand = get_make_variable( make, name );
if (!expand) return NULL;
var = get_make_variable( make, name );
if (!var) return NULL;
--
2.4.2
2.6.2

View File

@@ -1,4 +1,4 @@
From 0e76401ae2de47285c66ee0b59bdf7449136d060 Mon Sep 17 00:00:00 2001
From 2e1a505fedd43f0f03ba36e1a8413bf04f8afa83 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,18 +8,18 @@ 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 1b7fea8..780be10 100644
--- a/libs/wine/Makefile.in
+++ b/libs/wine/Makefile.in
@@ -105,7 +105,7 @@ config_EXTRADEFS = \
-DBIN_TO_DATADIR=\"`$(MAKEDEP) -R ${bindir} ${datadir}/wine`\"
@@ -112,7 +112,7 @@ libwine_LDFLAGS = $(LIBWINE_LDFLAGS)
libwine_DEPS = $(LIBWINE_DEPENDS)
version.c: dummy
- 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)
- 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:
.PHONY: dummy
--
2.1.1
2.6.2

View File

@@ -0,0 +1,64 @@
From a5cf87f611909a601fe00cbdd5235add43652c54 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 14 Nov 2015 17:29:43 +0100
Subject: advapi32: Add stubs for RegCreateKeyTransacted[A/W] functions.
---
dlls/advapi32/advapi32.spec | 4 ++--
dlls/advapi32/registry.c | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index ff2b0de..36f176b 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -581,8 +581,8 @@
@ stdcall RegCreateKeyExA(long str long ptr long long ptr ptr ptr)
@ stdcall RegCreateKeyExW(long wstr long ptr long long ptr ptr ptr)
@ stdcall RegCreateKeyW(long wstr ptr)
-# @ stub RegCreateKeyTransactedA
-# @ stub RegCreateKeyTransactedW
+@ stdcall RegCreateKeyTransactedA(long str long ptr long long ptr ptr ptr long ptr)
+@ stdcall RegCreateKeyTransactedW(long wstr long ptr long long ptr ptr ptr long ptr)
@ stdcall RegDeleteKeyA(long str)
@ stdcall RegDeleteKeyExA(long str long long)
@ stdcall RegDeleteKeyExW(long wstr long long)
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index 798f93d..6b4c873 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -473,6 +473,31 @@ LSTATUS WINAPI RegCreateKeyA( HKEY hkey, LPCSTR lpSubKey, PHKEY phkResult )
}
+/******************************************************************************
+ * RegCreateKeyTransactedW [ADVAPI32.@]
+ */
+LSTATUS WINAPI RegCreateKeyTransactedW( HKEY hkey, LPCWSTR name, DWORD reserved, LPWSTR class,
+ DWORD options, REGSAM access, SECURITY_ATTRIBUTES *sa,
+ PHKEY retkey, LPDWORD dispos, HANDLE transaction, PVOID reserved2 )
+{
+ FIXME( "(%p,%s,%u,%s,%u,%u,%p,%p,%p,%p,%p): stub\n", hkey, debugstr_w(name), reserved,
+ debugstr_w(class), options, access, sa, retkey, dispos, transaction, reserved2 );
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
+/******************************************************************************
+ * RegCreateKeyTransactedA [ADVAPI32.@]
+ */
+LSTATUS WINAPI RegCreateKeyTransactedA( HKEY hkey, LPCSTR name, DWORD reserved, LPSTR class,
+ DWORD options, REGSAM access, SECURITY_ATTRIBUTES *sa,
+ PHKEY retkey, LPDWORD dispos, HANDLE transaction, PVOID reserved2 )
+{
+ FIXME( "(%p,%s,%u,%s,%u,%u,%p,%p,%p,%p,%p): stub\n", hkey, debugstr_a(name), reserved,
+ debugstr_a(class), options, access, sa, retkey, dispos, transaction, reserved2 );
+ return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
/******************************************************************************
* RegOpenKeyExW [ADVAPI32.@]
--
2.6.2

View File

@@ -0,0 +1 @@
Fixes: Add stubs for advapi32.RegCreateKeyTransacted[A/W]

View File

@@ -1,163 +0,0 @@
From f81b1feadca76ec41c834915fd5c5ce43f66f7b1 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 e22b0ef..498470f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3363,6 +3363,7 @@ WINE_CONFIG_DLL(vcomp100)
WINE_CONFIG_DLL(vcomp110)
WINE_CONFIG_DLL(vcomp120)
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.6.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

View File

@@ -1,181 +0,0 @@
From 397611b845973e2418118ffcb4aee305b671d533 Mon Sep 17 00:00:00 2001
From: Thomas Pointhuber <thomas.pointhuber@gmx.at>
Date: Mon, 16 Mar 2015 09:45:21 +0100
Subject: combase: implement WindowsSubstring (try 2)
---
.../api-ms-win-core-winrt-string-l1-1-0.spec | 2 +-
dlls/combase/combase.spec | 2 +-
dlls/combase/string.c | 19 +++++++
dlls/combase/tests/string.c | 60 ++++++++++++++++++++++
include/winerror.h | 1 +
5 files changed, 82 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec b/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
index 2361a1d..825980d 100644
--- a/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
+++ b/dlls/api-ms-win-core-winrt-string-l1-1-0/api-ms-win-core-winrt-string-l1-1-0.spec
@@ -21,7 +21,7 @@
@ stdcall WindowsPromoteStringBuffer(ptr ptr) combase.WindowsPromoteStringBuffer
@ stub WindowsReplaceString
@ stdcall WindowsStringHasEmbeddedNull(ptr ptr) combase.WindowsStringHasEmbeddedNull
-@ stub WindowsSubstring
+@ stdcall WindowsSubstring(ptr long ptr) combase.WindowsSubstring
@ stub WindowsSubstringWithSpecifiedLength
@ stub WindowsTrimStringEnd
@ stub WindowsTrimStringStart
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index ac095ce..48c3a7e 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -302,7 +302,7 @@
@ stdcall WindowsPromoteStringBuffer(ptr ptr)
@ stub WindowsReplaceString
@ stdcall WindowsStringHasEmbeddedNull(ptr ptr)
-@ stub WindowsSubstring
+@ stdcall WindowsSubstring(ptr long ptr)
@ stub WindowsSubstringWithSpecifiedLength
@ stub WindowsTrimStringEnd
@ stub WindowsTrimStringStart
diff --git a/dlls/combase/string.c b/dlls/combase/string.c
index 7054af6..33e5100 100644
--- a/dlls/combase/string.c
+++ b/dlls/combase/string.c
@@ -255,6 +255,25 @@ HRESULT WINAPI WindowsStringHasEmbeddedNull(HSTRING str, BOOL *out)
}
/***********************************************************************
+ * WindowsSubstring (combase.@)
+ */
+HRESULT WINAPI WindowsSubstring(HSTRING str, UINT32 start, HSTRING *out)
+{
+ struct hstring_private *priv = impl_from_HSTRING(str);
+ UINT32 len = WindowsGetStringLen(str);
+ if (out == NULL)
+ return E_INVALIDARG;
+ if (start > len)
+ return E_BOUNDS;
+ if (start == len)
+ {
+ *out = NULL;
+ return S_OK;
+ }
+ return WindowsCreateString(&priv->buffer[start], len - start, out);
+}
+
+/***********************************************************************
* WindowsIsStringEmpty (combase.@)
*/
BOOL WINAPI WindowsIsStringEmpty(HSTRING str)
diff --git a/dlls/combase/tests/string.c b/dlls/combase/tests/string.c
index 72eaa84..c46d04e 100644
--- a/dlls/combase/tests/string.c
+++ b/dlls/combase/tests/string.c
@@ -38,6 +38,7 @@ static BOOL (WINAPI *pWindowsIsStringEmpty)(HSTRING);
static HRESULT (WINAPI *pWindowsPreallocateStringBuffer)(UINT32, WCHAR **, HSTRING_BUFFER *);
static HRESULT (WINAPI *pWindowsPromoteStringBuffer)(HSTRING_BUFFER, HSTRING *);
static HRESULT (WINAPI *pWindowsStringHasEmbeddedNull)(HSTRING, BOOL *);
+static HRESULT (WINAPI *pWindowsSubstring)(HSTRING, UINT32, HSTRING *);
#define SET(x) p##x = (void*)GetProcAddress(hmod, #x)
@@ -60,6 +61,7 @@ static BOOL init_functions(void)
SET(WindowsPreallocateStringBuffer);
SET(WindowsPromoteStringBuffer);
SET(WindowsStringHasEmbeddedNull);
+ SET(WindowsSubstring);
return TRUE;
}
@@ -92,6 +94,7 @@ static void _check_string(int line, HSTRING str, LPCWSTR content, UINT32 length,
static const WCHAR input_string[] = { 'a', 'b', 'c', 'd', 'e', 'f', '\0', '\0' };
static const WCHAR input_empty_string[] = { '\0' };
static const WCHAR input_embed_null[] = { 'a', '\0', 'c', '\0', 'e', 'f', '\0' };
+static const WCHAR output_substring[] = { 'c', 'd', 'e', 'f', '\0' };
static void test_create_delete(void)
{
@@ -236,6 +239,62 @@ static void test_string_buffer(void)
ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
}
+static void test_substring(void)
+{
+ HSTRING str, substr;
+ HSTRING_HEADER header;
+
+ /* Test substring of string buffers */
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
+ ok(pWindowsSubstring(str, 2, &substr) == S_OK, "Failed to create substring!\n");
+ check_string(substr, output_substring, 4, FALSE);
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+
+ /* Test duplication of string using substring */
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
+ ok(pWindowsSubstring(str, 0, &substr) == S_OK, "Failed to create substring!\n");
+ ok(str != substr, "Duplicated string didn't create new string\n");
+ check_string(substr, input_string, 6, FALSE);
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+
+ /* Test substring of string reference */
+ ok(pWindowsCreateStringReference(input_string, 6, &header, &str) == S_OK, "Failed to create string ref\n");
+ ok(pWindowsSubstring(str, 2, &substr) == S_OK, "Failed to create substring of string ref!\n");
+ check_string(substr, output_substring, 4, FALSE);
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string ref\n");
+
+ /* Test duplication of string reference using substring */
+ ok(pWindowsCreateStringReference(input_string, 6, &header, &str) == S_OK, "Failed to create string ref\n");
+ ok(pWindowsSubstring(str, 0, &substr) == S_OK, "Failed to create substring of string ref!\n");
+ ok(str != substr, "Duplicated string ref didn't create new string\n");
+ check_string(substr, input_string, 6, FALSE);
+ ok(pWindowsDeleteString(substr) == S_OK, "Failed to delete string\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+
+ /* Test get Substring of empty string */
+ ok(pWindowsSubstring(NULL, 0, &substr) == S_OK, "Failed to duplicate NULL string\n");
+ ok(substr == NULL, "Substring created new string\n");
+
+ /* Test get empty Substring of string */
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
+ ok(pWindowsSubstring(str, 6, &substr) == S_OK, "Failed to create substring!\n");
+ ok(substr == NULL, "Substring created new string\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+
+ /* Test handling of using to high startIndex */
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
+ ok(pWindowsSubstring(str, 7, &substr) == E_BOUNDS, "Incorrect error handling\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+
+ /* Test handling of a NULL string */
+ ok(pWindowsCreateString(input_string, 6, &str) == S_OK, "Failed to create string\n");
+ ok(pWindowsSubstring(str, 7, NULL) == E_INVALIDARG, "Incorrect error handling\n");
+ ok(pWindowsDeleteString(str) == S_OK, "Failed to delete string\n");
+}
+
START_TEST(string)
{
if (!init_functions())
@@ -244,4 +303,5 @@ START_TEST(string)
test_duplicate();
test_access();
test_string_buffer();
+ test_substring();
}
diff --git a/include/winerror.h b/include/winerror.h
index 2958cbd..9b9fb72 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -2090,6 +2090,7 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define S_FALSE _HRESULT_TYPEDEF_(1)
#define E_PENDING _HRESULT_TYPEDEF_(0x8000000A)
+#define E_BOUNDS _HRESULT_TYPEDEF_(0x8000000B)
#define E_NOTIMPL _HRESULT_TYPEDEF_(0x80004001)
--
2.3.2

View File

@@ -1,2 +0,0 @@
Fixes: Implement combase.WindowsSubstring function
Category: stable

View File

@@ -1,71 +0,0 @@
From 1b058c627bdd31c151110e8f554ab6210248e105 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Fri, 22 Feb 2013 11:38:12 +0400
Subject: comctl32: Protect TVM_GETITEM from invalid item pointers
Changes by Sebastian Lackner <sebastian@fds-team.de>:
* Avoid return in __TRY block.
---
dlls/comctl32/tests/treeview.c | 9 +++++++++
dlls/comctl32/treeview.c | 16 +++++++++++++---
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index 5003dfa..933a8b0 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -905,6 +905,15 @@ static void test_get_set_item(void)
expect(TRUE, ret);
ok(tviRoot.state == TVIS_FOCUSED, "got state 0x%0x\n", tviRoot.state);
+if (0)
+{
+ /* invalid item pointer, nt4 crashes here but later versions just return 0 */
+ tviRoot.hItem = (HTREEITEM)0xdeadbeef;
+ tviRoot.mask = TVIF_STATE;
+ tviRoot.state = 0;
+ ret = SendMessageA(hTree2, TVM_GETITEMA, 0, (LPARAM)&tviRoot);
+ expect(FALSE, ret);
+}
DestroyWindow(hTree);
DestroyWindow(hTree2);
}
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 812bd35..6adafc4 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -63,6 +63,7 @@
#include "vssym32.h"
#include "wine/unicode.h"
#include "wine/debug.h"
+#include "wine/exception.h"
WINE_DEFAULT_DEBUG_CHANNEL(treeview);
@@ -2068,11 +2069,20 @@ TREEVIEW_GetItemT(const TREEVIEW_INFO *infoPtr, LPTVITEMEXW tvItem, BOOL isW)
if (!TREEVIEW_ValidItem(infoPtr, item))
{
+ BOOL valid_item = FALSE;
if (!item) return FALSE;
- TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr);
- infoPtr = item->infoPtr;
- if (!TREEVIEW_ValidItem(infoPtr, item)) return FALSE;
+ __TRY
+ {
+ infoPtr = item->infoPtr;
+ TRACE("got item from different tree %p, called from %p\n", item->infoPtr, infoPtr);
+ valid_item = TREEVIEW_ValidItem(infoPtr, item);
+ }
+ __EXCEPT_PAGE_FAULT
+ {
+ }
+ __ENDTRY
+ if (!valid_item) return FALSE;
}
TREEVIEW_UpdateDispInfo(infoPtr, item, tvItem->mask);
--
2.5.1

View File

@@ -1 +0,0 @@
Fixes: [33001] Protect TVM_GETITEM from invalid item pointers

View File

@@ -1,29 +1,29 @@
From d39d120e7b69873b864286ec574c7b5c9eb1de0d Mon Sep 17 00:00:00 2001
From 53bf52b313245d965619802729ef59ada1806660 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Wed, 27 Aug 2014 00:31:23 +0200
Subject: configure: Also add the absolute RPATH when linking against libwine.
---
configure.ac | 4 ++--
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index c4066f6..1c5f156 100644
index ff74f8d..529c209 100644
--- a/configure.ac
+++ b/configure.ac
@@ -970,10 +970,10 @@ wine-installed: main.o
@@ -966,10 +966,10 @@ ${wine_binary}_LDFLAGS = $LDEXECFLAGS -lwine \$(PTHREAD_LIBS)
[LDEXECFLAGS="-Wl,--export-dynamic"])
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
[WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`:\$(DESTDIR)\${libdir}"
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
--
1.7.9.5
2.6.1

View File

@@ -0,0 +1,74 @@
From 68efe5449591b9b1366d66d87fff1a8c9f8002e5 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 16 Oct 2015 14:06:30 +1100
Subject: d3dx9_36/tests: Add D3DXSaveSurfaceToFileInMemory D3DXIFF_DDS tests
Also updates the structure dds_header to be the same as d3dx9_36/surface.c.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/d3dx9_36/tests/surface.c | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 1697a03..77bd142 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -211,7 +211,9 @@ struct dds_header
struct dds_pixel_format pixel_format;
DWORD caps;
DWORD caps2;
- DWORD reserved2[3];
+ DWORD caps3;
+ DWORD caps4;
+ DWORD reserved2;
};
/* fills dds_header with reasonable default values */
@@ -1231,6 +1233,7 @@ static void test_D3DXSaveSurfaceToFileInMemory(IDirect3DDevice9 *device)
RECT rect;
ID3DXBuffer *buffer;
IDirect3DSurface9 *surface;
+ struct dds_header *header;
hr = IDirect3DDevice9_CreateOffscreenPlainSurface(device, 4, 4, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH, &surface, NULL);
if (FAILED(hr)) {
@@ -1248,6 +1251,35 @@ static void test_D3DXSaveSurfaceToFileInMemory(IDirect3DDevice9 *device)
ID3DXBuffer_Release(buffer);
}
+ SetRect(&rect, 0, 0, 0, 0);
+ hr = D3DXSaveSurfaceToFileInMemory(&buffer, D3DXIFF_DDS, surface, NULL, &rect);
+ todo_wine ok(hr == D3D_OK || broken(hr == D3DERR_INVALIDCALL), "D3DXSaveSurfaceToFileInMemory returned %#x, expected %#x\n", hr, D3D_OK);
+ if (SUCCEEDED(hr)) {
+ header = ID3DXBuffer_GetBufferPointer(buffer);
+
+ ok(header->magic == MAKEFOURCC('D','D','S',' '), "Invalid DDS signature\n");
+ todo_wine ok(header->size == 124, "Invalid DDS size %d\n", header->size);
+ ok(header->height == 0, "Wrong height %d\n", header->height);
+ ok(header->width == 0, "Wrong width %d\n", header->width);
+ ok(header->flags == (DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PIXELFORMAT),
+ "Wrong flags %x\n", header->flags);
+ ID3DXBuffer_Release(buffer);
+ }
+
+ hr = D3DXSaveSurfaceToFileInMemory(&buffer, D3DXIFF_DDS, surface, NULL, NULL);
+ ok(hr == D3D_OK || broken(hr == D3DERR_INVALIDCALL), "D3DXSaveSurfaceToFileInMemory returned %#x, expected %#x\n", hr, D3D_OK);
+ if (SUCCEEDED(hr)) {
+ header = ID3DXBuffer_GetBufferPointer(buffer);
+
+ ok(header->magic == MAKEFOURCC('D','D','S',' '), "Invalid DDS signature\n");
+ todo_wine ok(header->size == 124, "Invalid DDS size %d\n", header->size);
+ ok(header->height == 4, "Wrong height %d\n", header->height);
+ ok(header->width == 4, "Wrong width %d\n", header->width);
+ todo_wine ok(header->flags == (DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PIXELFORMAT),
+ "Wrong flags %x\n", header->flags);
+ ID3DXBuffer_Release(buffer);
+ }
+
IDirect3DSurface9_Release(surface);
}
--
2.6.2

View File

@@ -1,4 +1,4 @@
From 226f9f6bd5622c18ec4ab78f3b71ef205a550d16 Mon Sep 17 00:00:00 2001
From 88f02c608de86c125cbddd543c34ea2bfce30993 Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 11 Jan 2015 16:09:43 +0100
Subject: d3dx9_36: Fix several issues in save_dds_surface_to_memory.
@@ -9,8 +9,9 @@ The different fixes are:
- Fix DDS_WIDTH define to correct value 4
- Do not set depth and miplevels fields as their flags are not set (to match native)
---
dlls/d3dx9_36/surface.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
dlls/d3dx9_36/surface.c | 7 +++----
dlls/d3dx9_36/tests/surface.c | 2 +-
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index b8bb710..6f6132c 100644
@@ -33,6 +34,19 @@ index b8bb710..6f6132c 100644
header->caps = DDS_CAPS_TEXTURE;
hr = d3dformat_to_dds_pixel_format(&header->pixel_format, src_desc.Format);
if (FAILED(hr))
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 77bd142..f04fa67 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -1272,7 +1272,7 @@ static void test_D3DXSaveSurfaceToFileInMemory(IDirect3DDevice9 *device)
header = ID3DXBuffer_GetBufferPointer(buffer);
ok(header->magic == MAKEFOURCC('D','D','S',' '), "Invalid DDS signature\n");
- todo_wine ok(header->size == 124, "Invalid DDS size %d\n", header->size);
+ ok(header->size == 124, "Invalid DDS size %d\n", header->size);
ok(header->height == 4, "Wrong height %d\n", header->height);
ok(header->width == 4, "Wrong width %d\n", header->width);
todo_wine ok(header->flags == (DDS_CAPS | DDS_HEIGHT | DDS_WIDTH | DDS_PIXELFORMAT),
--
2.5.0
2.6.2

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