You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
99 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7c0b90ad19 | ||
|
a1611c8fd0 | ||
|
12f0292934 | ||
|
53b165e070 | ||
|
6c70ccd388 | ||
|
703e98c1f5 | ||
|
5628355586 | ||
|
7c2dfd1e28 | ||
|
7765a19988 | ||
|
531ca00756 | ||
|
2672e6b4c5 | ||
|
a6f687dcc9 | ||
|
995b761dee | ||
|
44a9c0cc8a | ||
|
2b90f82b6a | ||
|
945ec28ec8 | ||
|
5fc6371a97 | ||
|
7a6fec3740 | ||
|
aaeb4db3b3 | ||
|
68ade392f8 | ||
|
f76f0d0052 | ||
|
0ccd396056 | ||
|
6b78b26763 | ||
|
d2765a37f2 | ||
|
0c2536b025 | ||
|
cc1da4895e | ||
|
a0f1f35843 | ||
|
26eb2942d0 | ||
|
16d40cf5d5 | ||
|
9149fde0ff | ||
|
a110e490b8 | ||
|
0af6df6bc0 | ||
|
4d919d4d83 | ||
|
32c289493f | ||
|
9fde9be110 | ||
|
ee2f208b2b | ||
|
002f664b68 | ||
|
9acb14c728 | ||
|
fd6ff0999c | ||
|
78327e5ead | ||
|
ccd977d649 | ||
|
873d07d7d7 | ||
|
2412d1f4eb | ||
|
32f681f893 | ||
|
0d67dee015 | ||
|
26d8a27276 | ||
|
6a8261887f | ||
|
e88424ebc6 | ||
|
0abc5f4b7b | ||
|
85364f3153 | ||
|
a2722e8fe9 | ||
|
2923808892 | ||
|
fdc5f5c1dd | ||
|
b9ec1ed8f5 | ||
|
ad87c93337 | ||
|
ce3f724ea2 | ||
|
0d0440ede9 | ||
|
7dc9e1b670 | ||
|
528e9ceec3 | ||
|
da512da861 | ||
|
e7ab8d7b04 | ||
|
bb8f219272 | ||
|
b54341886b | ||
|
088ca2f71d | ||
|
6d2e3ce903 | ||
|
4c9804d9f5 | ||
|
c7d100897a | ||
|
55902fb521 | ||
|
a428549415 | ||
|
0432712e4e | ||
|
b942798ef9 | ||
|
f576613dd2 | ||
|
9384283aca | ||
|
cf5c56ef11 | ||
|
c632b99fb5 | ||
|
f5c6731e84 | ||
|
cec272a2d4 | ||
|
1b2fa6c6cb | ||
|
016e539659 | ||
|
412af27a17 | ||
|
bcb19df630 | ||
|
79e542c24a | ||
|
c10eb9a4a1 | ||
|
79c69db369 | ||
|
763bb554cd | ||
|
7cad745ad6 | ||
|
92379575c7 | ||
|
2a1d1a0086 | ||
|
83cbd1daaa | ||
|
7f9bf47dd0 | ||
|
41484ad4ed | ||
|
4b4c5feb3d | ||
|
5972e18a71 | ||
|
baa05e4719 | ||
|
ca8ffcd619 | ||
|
b2297b41c3 | ||
|
f09433417e | ||
|
349ba2df2a | ||
|
9573b57d3c |
63
README.md
63
README.md
@@ -39,7 +39,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.7.43 [235]:**
|
||||
**Bug fixes and features in Wine Staging 1.7.45 [244]:**
|
||||
|
||||
*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
|
||||
@@ -49,23 +49,21 @@ releases, take a look at the
|
||||
for more details.*
|
||||
|
||||
* Add HTTP Host header in HttpSendRequest instead of HttpOpenRequest ([Wine Bug #28911](https://bugs.winehq.org/show_bug.cgi?id=28911))
|
||||
* Add IEnumString stub interface for ACLShellSource ([Wine Bug #18019](https://bugs.winehq.org/show_bug.cgi?id=18019))
|
||||
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
|
||||
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
|
||||
* Add implementation for kernel32.GetNumaProcessorNode ([Wine Bug #38660](https://bugs.winehq.org/show_bug.cgi?id=38660))
|
||||
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
|
||||
* 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 GetFileVersionInfoExA/W ([Wine Bug #38098](https://bugs.winehq.org/show_bug.cgi?id=38098))
|
||||
* Add semi-stub for GetFileVersionInfoSizeExA/W ([Wine Bug #38090](https://bugs.winehq.org/show_bug.cgi?id=38090))
|
||||
* 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 fltmgr.sys (filter manager driver) ([Wine Bug #23583](https://bugs.winehq.org/show_bug.cgi?id=23583))
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
|
||||
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
|
||||
* Add stub for D3DXIntersect
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for advapi32.ImpersonateAnonymousToken
|
||||
* Add stub for atl80.AtlIPersistPropertyBag_Save ([Wine Bug #33888](https://bugs.winehq.org/show_bug.cgi?id=33888))
|
||||
* Add stub for d3d11.D3D11CreateDeviceAndSwapChain ([Wine Bug #33153](https://bugs.winehq.org/show_bug.cgi?id=33153))
|
||||
* Add stub for fltlib.FilterLoad ([Wine Bug #38435](https://bugs.winehq.org/show_bug.cgi?id=38435))
|
||||
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
|
||||
@@ -78,21 +76,25 @@ for more details.*
|
||||
* Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine
|
||||
* Add stub for setupapi.SetupDiSelectBestCompatDrv ([Wine Bug #32088](https://bugs.winehq.org/show_bug.cgi?id=32088))
|
||||
* Add stub for wininet.ParseX509EncodedCertificateForListBoxEntry ([Wine Bug #29842](https://bugs.winehq.org/show_bug.cgi?id=29842))
|
||||
* Add stub for winscard.SCardListReadersA/W ([Wine Bug #26978](https://bugs.winehq.org/show_bug.cgi?id=26978))
|
||||
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
|
||||
* Add stubbed ISWbemSecurity interfaces in wbemdisp
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Add support for hiding wine version information from applications ([Wine Bug #38656](https://bugs.winehq.org/show_bug.cgi?id=38656))
|
||||
* Add support for process specific debug channels
|
||||
* Add support for wbemprox Win32_SystemEnclosure table ([Wine Bug #34517](https://bugs.winehq.org/show_bug.cgi?id=34517))
|
||||
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
|
||||
* Allocate fake hWnd for wineconsole curses backend ([Wine Bug #34930](https://bugs.winehq.org/show_bug.cgi?id=34930))
|
||||
* 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))
|
||||
* Allow to cancel a file operation via progress callback ([Wine Bug #22690](https://bugs.winehq.org/show_bug.cgi?id=22690))
|
||||
* Allow to edit winecfg library override by double clicking
|
||||
* Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #38697](https://bugs.winehq.org/show_bug.cgi?id=38697))
|
||||
* 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
|
||||
* 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))
|
||||
* Avoid crashing when broken app tries to release surface although refcount is zero ([Wine Bug #18477](https://bugs.winehq.org/show_bug.cgi?id=18477))
|
||||
* Avoid race-conditions in NtReadFile() operations with write watches.
|
||||
@@ -108,20 +110,19 @@ for more details.*
|
||||
* 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))
|
||||
* Dirtify vertex shader on transformed update to fix graphical corruption ([Wine Bug #38539](https://bugs.winehq.org/show_bug.cgi?id=38539))
|
||||
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
|
||||
* Do not create foreign thread queues for attach_thread_input requests ([Wine Bug #38562](https://bugs.winehq.org/show_bug.cgi?id=38562))
|
||||
* 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 use unixfs for devices without mountpoint
|
||||
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
|
||||
* Enforce that surfaces are flushed after ReleaseDC
|
||||
* 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))
|
||||
* Ensure console InsertMode changes take effect immediately
|
||||
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
|
||||
* Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
|
||||
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
|
||||
* Fallback to global key state for threads without a queue ([Wine Bug #27238](https://bugs.winehq.org/show_bug.cgi?id=27238))
|
||||
* 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 when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* 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))
|
||||
@@ -132,6 +133,7 @@ for more details.*
|
||||
* 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 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 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))
|
||||
@@ -140,15 +142,18 @@ 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 a file with RootDirectory pointing to a file handle
|
||||
* 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 issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
|
||||
* Fix link notification conditions for riched20 ([Wine Bug #35949](https://bugs.winehq.org/show_bug.cgi?id=35949))
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* 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
|
||||
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480))
|
||||
* 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 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))
|
||||
@@ -156,8 +161,8 @@ for more details.*
|
||||
* 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 GIF encoder requests to windowscodecs ([Wine Bug #34356](https://bugs.winehq.org/show_bug.cgi?id=34356))
|
||||
* Free RPC parameters allocated by application before anything else ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
|
||||
* 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))
|
||||
@@ -169,20 +174,19 @@ for more details.*
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SetFileInformationByHandle
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement advapi32.GetWindowsAccountDomainSid ([Wine Bug #38624](https://bugs.winehq.org/show_bug.cgi?id=38624))
|
||||
* 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 exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement kernel32.GetSystemTimePreciseAsFileTime ([Wine Bug #38513](https://bugs.winehq.org/show_bug.cgi?id=38513))
|
||||
* 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
|
||||
* 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 null.sys to provide \Device\Null ([Wine Bug #38107](https://bugs.winehq.org/show_bug.cgi?id=38107))
|
||||
* Implement proper handling of CLI .NET images in Wine library loader
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
@@ -193,9 +197,11 @@ for more details.*
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
* Improve stub for ID3DXEffectImpl_CloneEffect
|
||||
* Improve stub for NtQueryEaFile
|
||||
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
|
||||
* Improve stubs for AEV_{Get,Set}Mute
|
||||
* Improvement for heap allocation performance
|
||||
* Initialize System\CurrentControlSet\Control\TimeZoneInformation registry keys
|
||||
* 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))
|
||||
* MSVCRT crashes when NULL is passed as string to atof or strtod ([Wine Bug #32550](https://bugs.winehq.org/show_bug.cgi?id=32550))
|
||||
@@ -203,31 +209,33 @@ for more details.*
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
|
||||
* Multiple applications needs better NtQueryInformationJobObject stub
|
||||
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
* OpenClipboard with current owner shouldn't fail ([Wine Bug #2805](https://bugs.winehq.org/show_bug.cgi?id=2805))
|
||||
* Only send WM_DROPFILES when OLE dnd fails ([Wine Bug #29081](https://bugs.winehq.org/show_bug.cgi?id=29081))
|
||||
* Other Pipelight-specific enhancements
|
||||
* 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))
|
||||
* Python PIP needs better NtQueryInformationJobObject stub
|
||||
* Properly check existence of libunwind before linking against it ([Wine Bug #38713](https://bugs.winehq.org/show_bug.cgi?id=38713))
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Reset device state in SysKeyboard*Impl_Acquire ([Wine Bug #11607](https://bugs.winehq.org/show_bug.cgi?id=11607))
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
* Return correct device type for cd devices without medium
|
||||
* 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
|
||||
* 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
|
||||
* 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 last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
|
||||
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
|
||||
* Show unmounted devices in winecfg and allow changing the unix path
|
||||
* 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))
|
||||
* Support for 8bpp grayscale TIFF images with 8bpp alpha channel ([Wine Bug #38027](https://bugs.winehq.org/show_bug.cgi?id=38027))
|
||||
* Support for AT_ROUND_TO_PAGE flag in NtMapViewOfSection
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
* Support for CSMT (command stream) to increase graphic performance ([Wine Bug #11674](https://bugs.winehq.org/show_bug.cgi?id=11674))
|
||||
@@ -239,13 +247,10 @@ for more details.*
|
||||
* Support for FileFsFullSizeInformation information class
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* Support for GetVolumePathName
|
||||
* Support for H264 DXVA2 GPU video decoding through vaapi
|
||||
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
|
||||
* Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh ([Wine Bug #32572](https://bugs.winehq.org/show_bug.cgi?id=32572))
|
||||
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
|
||||
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](https://bugs.winehq.org/show_bug.cgi?id=18303))
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for 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))
|
||||
@@ -253,7 +258,8 @@ for more details.*
|
||||
* Support for NVIDIA video encoder library (nvencodeapi)
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](https://bugs.winehq.org/show_bug.cgi?id=30397))
|
||||
* Support for ObjectTypeInformation class support in NtQueryObject
|
||||
* Support for NtSetInformationFile class FileLinkInformation
|
||||
* Support for NtSetInformationFile class FileRenameInformation ([Wine Bug #30399](https://bugs.winehq.org/show_bug.cgi?id=30399))
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
@@ -270,12 +276,15 @@ for more details.*
|
||||
* 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))
|
||||
* 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 NVX_GPU_MEMORY_INFO extension for more exact video memory accounting on NVIDIA graphic cards
|
||||
* 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 random names when caching very long urls in wininet
|
||||
* 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
|
||||
|
134
debian/changelog
vendored
134
debian/changelog
vendored
@@ -1,3 +1,137 @@
|
||||
wine-staging (1.7.45) unstable; urgency=low
|
||||
* Add reference to upstream bug report for various patchsets.
|
||||
* Updated server-Key_State patchset to fix a test failure in
|
||||
comctl32/listview.
|
||||
* Updated shell32-Icons patchset to fix a test failure in comctl32/imagelist.
|
||||
* Updated shlwapi-AssocGetPerceivedType patchset to fix error checking for
|
||||
RegGetValueW.
|
||||
* Updated patch to fix opening clipboard from multiple threads (partially
|
||||
fixed upstream).
|
||||
* Updated patchset for ObjectTypeInformation and fix typename for various
|
||||
additional wineserver object types.
|
||||
* Added patches for FileRenameInformation support (fixes Wine Staging Bug
|
||||
#296).
|
||||
* Added additional tests for behaviour of opening readonly files.
|
||||
* Added patch to fix opening a readonly file with FILE_WRITE_ATTRIBUTES access
|
||||
(fixes Wine Staging Bug #298).
|
||||
* Added patch to silence test failures in ntdll/directory tests.
|
||||
* Added patches for support of FileLinkInformation (fixes Wine Staging Bug
|
||||
#297).
|
||||
* Added patch to restore original error code in rpcrt4 when ReadFile fails
|
||||
with ERROR_MORE_DATA.
|
||||
* Added patch to set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe
|
||||
in NtQueryInformationFile.
|
||||
* Added patch to allow setting pixel format for desktop window.
|
||||
* Added patch to set a proper caption for shell32 Run dialog (by Jared
|
||||
Smudde).
|
||||
* Added patch to support AT_ROUND_TO_PAGE flag in NtMapViewOfSection (fixes
|
||||
Wine Staging Bug 347).
|
||||
* Added patches to fix error code for ReadFile/WriteFile on closed pipe (fixes
|
||||
Wine Staging Bug #348).
|
||||
* Added patch to initialize
|
||||
System\CurrentControlSet\Control\TimeZoneInformation registry keys.
|
||||
* Added patch to implement default homepage button in inetcpl.cpl.
|
||||
* Added patch to fix link notification conditions for riched20.
|
||||
* Added patch to fix endless loop in regedit when importing files with very
|
||||
long lines.
|
||||
* Added patch to improve stubs for NtQueryEaFile.
|
||||
* Added patch for semi-stub of FileFsVolumeInformation information class.
|
||||
* Added patch to use NVX_GPU_MEMORY_INFO extension for more exact video memory
|
||||
accounting on NVIDIA graphic cards.
|
||||
* Added patch to fix handling of periodic advice timers causing high CPU
|
||||
usage.
|
||||
* Added patch to forward GIF encoder requests to windowscodecs.
|
||||
* Added patch to ensure console InsertMode changes take effect immediately.
|
||||
* Added patch to send WM_DROPFILES only when OLE dnd fails.
|
||||
* Added patch with stub for winscard.SCardListReadersA/W.
|
||||
* Added patch to implement fallback to system ping command when CAP_NET_RAW is
|
||||
not available.
|
||||
* Added patch to properly check existence of libunwind before linking against
|
||||
it.
|
||||
* Added patch to implement advapi32.GetWindowsAccountDomainSid.
|
||||
* Removed patch to handle '\r' as whitespace in wbemprox queries (accepted
|
||||
upstream).
|
||||
* Removed patch to make sure OpenClipboard with current owner doesn't fail
|
||||
(accepted upstream).
|
||||
* Removed patch to add IEnumString stub interface for ACLShellSource (fixed
|
||||
upstream).
|
||||
* Removed patch to fix NULL pointer dereference in get_frame_by_name
|
||||
(identical patch accepted upstream).
|
||||
* Removed patch to output winedbg system information also to the terminal
|
||||
(accepted upstream).
|
||||
* Removed patch to fix handling of periodic advice timers causing high CPU
|
||||
usage (accepted upstream).
|
||||
* Removed revert path to fix broken rendering in various games (fixed
|
||||
upstream).
|
||||
* Removed patch to set a valid linker version in winebuild (accepted
|
||||
upstream).
|
||||
* Removed patch to fix wrong return value in directmusic (accepted upstream).
|
||||
* Removed patch to implement support for GetSystemTimes (accepted upstream).
|
||||
* Removed patch to implement file disposition class in
|
||||
SetFileInformationByHandle (accepted upstream).
|
||||
* Removed patch to make additional ddraw functions hotpatchable (accepted
|
||||
upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 14 Jun 2015 00:38:15 +0200
|
||||
|
||||
wine-staging (1.7.44) unstable; urgency=low
|
||||
* Added patch to handle '\r' as whitespace in wbemprox queries.
|
||||
* Added patch with stubbed ISWbemSecurity interfaces in wbemdisp.
|
||||
* Added patch with shell32 placeholder icons to match offsets with Windows.
|
||||
* Added patch to assign a drive serial number during prefix creation/update.
|
||||
* Added patch for support of ws2_32.dll.WSAPoll.
|
||||
* Added patch to allow to enable/disable InsertMode in wineconsole settings.
|
||||
* Added patch for stub of iphlpapi.ConvertInterfaceLuidToGuid.
|
||||
* Added patch to use random names when caching very long urls (fixes Wine
|
||||
Staging Bug #266).
|
||||
* Added patch to fix crash in Gothic 1/2 with builtin directmusic caused by
|
||||
wrong return value.
|
||||
* Added patch to return fake device type when systemroot is located on virtual
|
||||
disk (improves compatibility when wineprefix is on tmpfs).
|
||||
* Added patch to fix NULL pointer dereference in get_frame_by_name.
|
||||
* Added patch to fix handling of opening a file with RootDirectory pointing to
|
||||
a file handle.
|
||||
* Added patch to output winedbg system information also to the terminal, not
|
||||
only to dialog.
|
||||
* Added patch to allow hiding wine version information from applications.
|
||||
* Added patch to fix scaling behaviour of images and mipmap levels in
|
||||
IDirect3DTexture2_Load.
|
||||
* Added patchset to fix various upstream issues detected by Coverity.
|
||||
* Added patch to avoid using unixfs for devices without mountpoint.
|
||||
* Revert upstream patch which causes broken rendering in various games.
|
||||
* Removed patch to reset device state in SysKeyboard*Impl_Acquire (accepted
|
||||
upstream).
|
||||
* Removed patch to avoid creating thread queues for foreign threads in
|
||||
attach_thread_input (accepted upstream).
|
||||
* Removed patch to fix access violation when calling GetStringTypeW with NULL
|
||||
src (accepted upstream).
|
||||
* Removed patch to return correct device type for CD devices without medium
|
||||
(accepted upstream).
|
||||
* Removed patch to fix memory leak in wininet cookie handling (accepted
|
||||
upstream).
|
||||
* Removed patch to allocate fake hWnd for wineconsole curses backend (accepted
|
||||
upstream).
|
||||
* Removed patch to dirtify vertex shader on transformed update (accepted
|
||||
upstream).
|
||||
* Removed patch to avoid appending duplicate NULL characters when importing
|
||||
keys with regedit (accepted upstream).
|
||||
* Removed patch to implement kernel32.GetSystemTimePreciseAsFileTime (accepted
|
||||
upstream).
|
||||
* Removed various patches containing tests (accepted upstream).
|
||||
* Removed patches for advapi32.ImpersonateAnonymousToken (accepted upstream).
|
||||
* Removed patches for Win32_SystemEnclosure support (accepted upstream).
|
||||
* Removed patch with tests for CoWaitForMultipleHandles and WM_QUIT (accepted
|
||||
upstream).
|
||||
* Removed patches for AtlIPersistPropertyBag_Save stub (accepted upstream).
|
||||
* Removed patches to set last error when GetRawInputDeviceList fails (accepted
|
||||
upstream).
|
||||
* Removed patches for \Device\Null driver (fixed upstream with alternative
|
||||
solution).
|
||||
* Removed patches for semi-stub of GetFileVersionInfo[Size]ExA/W (fixed
|
||||
upstream).
|
||||
* Partially removed patches for ITextFont/ITextPara implementation (fixed
|
||||
upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 31 May 2015 04:43:28 +0200
|
||||
|
||||
wine-staging (1.7.43) unstable; urgency=low
|
||||
* Disable patchset shell32-Default_Folder_ACLs (fixes Wine Staging Bug #265).
|
||||
* Updated patch to calculate msvcrt exponential math operations with higher
|
||||
|
1
debian/rules
vendored
1
debian/rules
vendored
@@ -24,6 +24,7 @@ ifeq ($(DEB_BUILD_ARCH), amd64)
|
||||
--infodir=\$${prefix}/share/info \
|
||||
--enable-win64 \
|
||||
--without-gstreamer \
|
||||
--without-unwind \
|
||||
--with-xattr \
|
||||
$(CONFFLAGS)
|
||||
else
|
||||
|
1
debian/tools/patchinstall.sh.in
vendored
1
debian/tools/patchinstall.sh.in
vendored
@@ -76,6 +76,7 @@ warning()
|
||||
|
||||
# Default settings
|
||||
patch_enable_all 0
|
||||
category_enable_all 0
|
||||
enable_patchlist=1
|
||||
enable_autoconf=1
|
||||
patchlist="/dev/null"
|
||||
|
70
debian/tools/patchupdate.py
vendored
70
debian/tools/patchupdate.py
vendored
@@ -69,6 +69,7 @@ class PatchUpdaterError(RuntimeError):
|
||||
class PatchSet(object):
|
||||
def __init__(self, name, directory):
|
||||
self.name = name
|
||||
self.is_category = False
|
||||
self.variable = None
|
||||
self.directory = directory
|
||||
self.fixes = []
|
||||
@@ -340,6 +341,7 @@ def read_patchset(revision = None):
|
||||
# Add virtual targets for all the categories
|
||||
for category, indices in categories.iteritems():
|
||||
patch = PatchSet(category, directory)
|
||||
patch.is_category = True
|
||||
patch.depends = indices
|
||||
|
||||
i = next(unique_id)
|
||||
@@ -571,38 +573,42 @@ def generate_script(all_patches):
|
||||
chunk_size = 20
|
||||
with progressbar.ProgressBar(desc=filename, total=2 ** len(indices) / chunk_size) as progress:
|
||||
|
||||
def test_apply(bitstring):
|
||||
set_apply = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if u]
|
||||
set_skip = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if not u]
|
||||
def test_apply(current):
|
||||
set_apply = [(i, all_patches[i]) for i in current]
|
||||
set_skip = [(i, all_patches[i]) for i in indices if i not in current]
|
||||
|
||||
# Check if there is any patch2 which depends directly or indirectly on patch1.
|
||||
# If this is the case we found an impossible situation, we can be skipped in this test.
|
||||
for i, patch1 in set_apply:
|
||||
for j, patch2 in set_skip:
|
||||
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
|
||||
return True # we can skip this test
|
||||
return None # 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 False
|
||||
return current
|
||||
|
||||
return True # everything is fine
|
||||
return None # everything is fine
|
||||
|
||||
def test_apply_seq(bitstrings):
|
||||
for bitstring in bitstrings:
|
||||
if not test_apply(bitstring):
|
||||
return False
|
||||
return True
|
||||
def test_apply_seq(current_list):
|
||||
for current in current_list:
|
||||
failed = test_apply(current)
|
||||
if failed is not None:
|
||||
return failed
|
||||
return None
|
||||
|
||||
it = _split_seq(itertools.product([0,1], repeat=len(indices)), chunk_size)
|
||||
for k, res in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if not res:
|
||||
iterables = []
|
||||
for i in xrange(0, len(indices) + 1):
|
||||
iterables.append(itertools.combinations(indices, i))
|
||||
it = _split_seq(itertools.chain(*iterables), chunk_size)
|
||||
for k, failed in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if failed is not None:
|
||||
progress.finish("<failed to apply>")
|
||||
raise PatchUpdaterError("Changes to file %s don't apply: %s" %
|
||||
(filename, ", ".join([all_patches[i].name for i in indices])))
|
||||
(filename, ", ".join([all_patches[i].name for i in failed])))
|
||||
progress.update(k)
|
||||
|
||||
# Update the dependency cache
|
||||
@@ -618,11 +624,23 @@ def generate_script(all_patches):
|
||||
lines.append("patch_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
lines.append("# Enable or disable a specific patchset\n")
|
||||
|
||||
lines.append("# Enable or disable all categories\n")
|
||||
lines.append("category_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if not patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
|
||||
lines.append("# Enable or disable a specific patchset/category\n")
|
||||
lines.append("patch_enable ()\n")
|
||||
lines.append("{\n")
|
||||
lines.append("\tcase \"$1\" in\n")
|
||||
@@ -720,11 +738,20 @@ def generate_markdown(all_patches, stable_patches):
|
||||
# Compare with fixes for latest stable version
|
||||
for _, patch in stable_patches.iteritems():
|
||||
for bugid, bugname in patch.fixes:
|
||||
key = bugid if bugid is not None else bugname
|
||||
if all_fixes.has_key(key):
|
||||
all_fixes[key][0] = 0
|
||||
if bugid is not None and all_fixes.has_key(bugid):
|
||||
all_fixes[bugid][0] = 0
|
||||
elif all_fixes.has_key(bugname):
|
||||
all_fixes[bugname][0] = 0
|
||||
elif bugid is None:
|
||||
for k, v in all_fixes.iteritems():
|
||||
if v[2] != bugname: continue
|
||||
if v[1] is None: continue
|
||||
all_fixes[v[1]][0] = 0
|
||||
break
|
||||
else:
|
||||
all_fixes[bugname] = [-1, None, bugname]
|
||||
else:
|
||||
all_fixes[key] = [-1, bugid, bugname]
|
||||
all_fixes[bugid] = [-1, bugid, bugname]
|
||||
|
||||
# Generate lists for all new and old fixes
|
||||
new_fixes = [(mode, bugid, bugname) for dummy, (mode, bugid, bugname) in
|
||||
@@ -794,6 +821,9 @@ if __name__ == "__main__":
|
||||
raise RuntimeError("CTRL+C pressed")
|
||||
signal.signal(signal.SIGINT, _sig_int)
|
||||
|
||||
tools_directory = os.path.dirname(os.path.realpath(__file__))
|
||||
os.chdir(os.path.join(tools_directory, "./../.."))
|
||||
|
||||
try:
|
||||
|
||||
# Get information about Wine and Staging version
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From aa76ae0448583e87dbe7f374101eb5b20d55dea8 Mon Sep 17 00:00:00 2001
|
||||
From 267583000e05b5ed8da1122df0830556fe7e69f6 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 0c10ffa..2f35992 100644
|
||||
index f9cb71c..81f6131 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -11161,7 +11161,7 @@ static void yuv_layout_test(void)
|
||||
@@ -11967,7 +11967,7 @@ static void yuv_layout_test(void)
|
||||
IDirect3D9 *d3d;
|
||||
D3DCOLOR color;
|
||||
DWORD ref_color;
|
||||
@@ -25,7 +25,7 @@ index 0c10ffa..2f35992 100644
|
||||
IDirect3DDevice9 *device;
|
||||
ULONG refcount;
|
||||
diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
|
||||
index d2a61fa..bb7ac1c 100644
|
||||
index 7a1d408..649c866 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
|
||||
@@ -38,7 +38,7 @@ index d2a61fa..bb7ac1c 100644
|
||||
|
||||
if (servername && !(server = strdup_unixcp( servername ))) return ERROR_OUTOFMEMORY;
|
||||
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
|
||||
index e32cb54..ddf972d 100644
|
||||
index 14eac39..ebff9f1 100644
|
||||
--- a/dlls/winealsa.drv/mmdevdrv.c
|
||||
+++ b/dlls/winealsa.drv/mmdevdrv.c
|
||||
@@ -359,7 +359,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
|
||||
@@ -51,18 +51,18 @@ index e32cb54..ddf972d 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 f3e921c..fa64436 100644
|
||||
index f69a2ce..00232a5 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -5834,7 +5834,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
|
||||
@@ -6706,7 +6706,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;
|
||||
- struct list *ps_list, *vs_list;
|
||||
+ struct list *ps_list = NULL, *vs_list = NULL;
|
||||
WORD attribs_map;
|
||||
struct wined3d_string_buffer *tmp_name;
|
||||
|
||||
if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX)))
|
||||
{
|
||||
diff --git a/tools/makedep.c b/tools/makedep.c
|
||||
index 54aab45..103422e 100644
|
||||
--- a/tools/makedep.c
|
||||
@@ -77,5 +77,5 @@ index 54aab45..103422e 100644
|
||||
expand = get_make_variable( make, name );
|
||||
if (!expand) return NULL;
|
||||
--
|
||||
2.2.1
|
||||
2.4.2
|
||||
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From eba72a3ed5d6f61c92ce2926d8305d19dc66425b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 May 2015 17:08:18 +0200
|
||||
Subject: ws2_32: Fix uninitialized memory access in do_poll (Coverity).
|
||||
|
||||
---
|
||||
dlls/ws2_32/socket.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index fdf68a3..60c6ec5 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -4794,7 +4794,7 @@ static int do_poll(struct pollfd *pollfds, int count, int timeout)
|
||||
struct timeval tv1, tv2;
|
||||
int ret, torig = timeout;
|
||||
|
||||
- if (timeout > 0) gettimeofday( &tv1, 0 );
|
||||
+ if (timeout >= 0) gettimeofday( &tv1, 0 );
|
||||
|
||||
while ((ret = poll( pollfds, count, timeout )) < 0)
|
||||
{
|
||||
--
|
||||
2.4.2
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 948a8706d6045fb6f8f624072bfa6ab97e91dc16 Mon Sep 17 00:00:00 2001
|
||||
From 598daa857778080524e3de4a5668a834ab084564 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
|
||||
@@ -9,7 +9,7 @@ Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 0a087ab..1052a79 100644
|
||||
index 2c8074b..70b2579 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -27,15 +27,15 @@ index 0a087ab..1052a79 100644
|
||||
+ /* Wine developers don't like it, when bug are reported with Wine versions containing our patches. */
|
||||
+ if (CreateEventA(0, 0, 0, "__winestaging_warn_event") && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
+ {
|
||||
+ FIXME_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ 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");
|
||||
+ }
|
||||
+ else
|
||||
+ WARN_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+
|
||||
SetLastError( 0 ); /* clear error code */
|
||||
if (peb->BeingDebugged) DbgBreakPoint();
|
||||
return call_process_entry( peb, entry );
|
||||
--
|
||||
2.1.3
|
||||
2.4.1
|
||||
|
||||
|
@@ -0,0 +1,219 @@
|
||||
From 4ba47dbc95a5a73ef646648a3ba8dd90a1089ee8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 13 Jun 2015 20:45:09 +0200
|
||||
Subject: advapi32: Implement GetWindowsAccountDomainSid.
|
||||
|
||||
---
|
||||
dlls/advapi32/advapi32.spec | 2 +-
|
||||
dlls/advapi32/security.c | 45 +++++++++++++
|
||||
dlls/advapi32/tests/security.c | 78 ++++++++++++++++++++++
|
||||
.../api-ms-win-security-base-l1-1-0.spec | 2 +-
|
||||
.../api-ms-win-security-base-l1-2-0.spec | 2 +-
|
||||
5 files changed, 126 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
|
||||
index 4600142..ec27440 100644
|
||||
--- a/dlls/advapi32/advapi32.spec
|
||||
+++ b/dlls/advapi32/advapi32.spec
|
||||
@@ -363,7 +363,7 @@
|
||||
@ stdcall GetTrusteeTypeW(ptr)
|
||||
@ stdcall GetUserNameA(ptr ptr)
|
||||
@ stdcall GetUserNameW(ptr ptr)
|
||||
-# @ stub GetWindowsAccountDomainSid
|
||||
+@ stdcall GetWindowsAccountDomainSid(ptr ptr ptr)
|
||||
# @ stub I_QueryTagInformation
|
||||
# @ stub I_ScGetCurrentGroupStateW
|
||||
# @ stub I_ScIsSecurityProcess
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 028dcc6..1aae1e0 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -1538,6 +1538,51 @@ BOOL WINAPI SetSecurityDescriptorControl( PSECURITY_DESCRIPTOR pSecurityDescript
|
||||
pSecurityDescriptor, ControlBitsOfInterest, ControlBitsToSet ) );
|
||||
}
|
||||
|
||||
+/******************************************************************************
|
||||
+ * GetWindowsAccountDomainSid [ADVAPI32.@]
|
||||
+ */
|
||||
+BOOL WINAPI GetWindowsAccountDomainSid( PSID sid, PSID domain_sid, DWORD *size )
|
||||
+{
|
||||
+ SID_IDENTIFIER_AUTHORITY domain_ident = {{0,0,0,0,0,5}};
|
||||
+ DWORD required_size;
|
||||
+ int i;
|
||||
+
|
||||
+ FIXME( "(%p %p %p): semi-stub\n", sid, domain_sid, size );
|
||||
+
|
||||
+ if (!sid || !IsValidSid( sid ))
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_SID );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (!size)
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_PARAMETER );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if (*GetSidSubAuthorityCount( sid ) < 4)
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_SID );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ required_size = GetSidLengthRequired( 4 );
|
||||
+ if (*size < required_size || !domain_sid)
|
||||
+ {
|
||||
+ *size = required_size;
|
||||
+ SetLastError( domain_sid ? ERROR_INSUFFICIENT_BUFFER : ERROR_INVALID_PARAMETER );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ InitializeSid( domain_sid, &domain_ident, 4 );
|
||||
+ for (i = 0; i < 4; i++)
|
||||
+ *GetSidSubAuthority( domain_sid, i ) = *GetSidSubAuthority( sid, i );
|
||||
+
|
||||
+ *size = required_size;
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
/* ##############################
|
||||
###### ACL FUNCTIONS ######
|
||||
##############################
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index b43f212..3cc149c 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -129,6 +129,7 @@ static NTSTATUS (WINAPI *pNtSetSecurityObject)(HANDLE,SECURITY_INFORMATION,PSECU
|
||||
static NTSTATUS (WINAPI *pNtCreateFile)(PHANDLE,ACCESS_MASK,POBJECT_ATTRIBUTES,PIO_STATUS_BLOCK,PLARGE_INTEGER,ULONG,ULONG,ULONG,ULONG,PVOID,ULONG);
|
||||
static BOOL (WINAPI *pRtlDosPathNameToNtPathName_U)(LPCWSTR,PUNICODE_STRING,PWSTR*,CURDIR*);
|
||||
static NTSTATUS (WINAPI *pRtlAnsiStringToUnicodeString)(PUNICODE_STRING,PCANSI_STRING,BOOLEAN);
|
||||
+static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
|
||||
|
||||
static HMODULE hmod;
|
||||
static int myARGC;
|
||||
@@ -190,6 +191,7 @@ static void init(void)
|
||||
pConvertStringSidToSidA = (void *)GetProcAddress(hmod, "ConvertStringSidToSidA");
|
||||
pGetAclInformation = (void *)GetProcAddress(hmod, "GetAclInformation");
|
||||
pGetAce = (void *)GetProcAddress(hmod, "GetAce");
|
||||
+ pGetWindowsAccountDomainSid = (void *)GetProcAddress(hmod, "GetWindowsAccountDomainSid");
|
||||
|
||||
myARGC = winetest_get_mainargs( &myARGV );
|
||||
}
|
||||
@@ -5835,6 +5837,81 @@ static void test_AddAce(void)
|
||||
ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() = %d\n", GetLastError());
|
||||
}
|
||||
|
||||
+static void test_GetWindowsAccountDomainSid (void)
|
||||
+{
|
||||
+ char b[sizeof(TOKEN_USER) + sizeof(SID) + sizeof(DWORD)*SID_MAX_SUB_AUTHORITIES];
|
||||
+ char buffer1[SECURITY_MAX_SID_SIZE], buffer2[SECURITY_MAX_SID_SIZE];
|
||||
+ SID_IDENTIFIER_AUTHORITY domain_ident = {{0,0,0,0,0,5}};
|
||||
+ PSID domain_sid = (PSID *)&buffer1;
|
||||
+ PSID domain_sid2 = (PSID *)&buffer2;
|
||||
+ DWORD sid_size, l = sizeof(b);
|
||||
+ PSID user_sid;
|
||||
+ HANDLE token;
|
||||
+ BOOL ret = TRUE;
|
||||
+ int i;
|
||||
+
|
||||
+ if (!pGetWindowsAccountDomainSid)
|
||||
+ {
|
||||
+ win_skip("GetWindowsAccountDomainSid not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!OpenThreadToken(GetCurrentThread(), TOKEN_READ, TRUE, &token))
|
||||
+ {
|
||||
+ if (GetLastError() != ERROR_NO_TOKEN) ret = FALSE;
|
||||
+ else if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &token)) ret = FALSE;
|
||||
+ }
|
||||
+ if (!ret)
|
||||
+ {
|
||||
+ win_skip("Failed to get current user token\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ GetTokenInformation(token, TokenUser, b, l, &l);
|
||||
+ user_sid = ((TOKEN_USER *)b)->User.Sid;
|
||||
+ CloseHandle(token);
|
||||
+
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pGetWindowsAccountDomainSid(0, 0, 0);
|
||||
+ ok(!ret, "GetWindowsAccountDomainSid succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_SID, "expected ERROR_INVALID_SID, got %d\n", GetLastError());
|
||||
+
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pGetWindowsAccountDomainSid(user_sid, 0, 0);
|
||||
+ ok(!ret, "GetWindowsAccountDomainSid succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||
+
|
||||
+ sid_size = SECURITY_MAX_SID_SIZE;
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pGetWindowsAccountDomainSid(user_sid, 0, &sid_size);
|
||||
+ ok(!ret, "GetWindowsAccountDomainSid succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||
+ ok(sid_size == GetSidLengthRequired(4), "expected size %d, got %d\n", GetSidLengthRequired(4), sid_size);
|
||||
+
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pGetWindowsAccountDomainSid(user_sid, domain_sid, 0);
|
||||
+ ok(!ret, "GetWindowsAccountDomainSid succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||
+
|
||||
+ sid_size = 1;
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ ret = pGetWindowsAccountDomainSid(user_sid, domain_sid, &sid_size);
|
||||
+ ok(!ret, "GetWindowsAccountDomainSid succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
|
||||
+ ok(sid_size == GetSidLengthRequired(4), "expected size %d, got %d\n", GetSidLengthRequired(4), sid_size);
|
||||
+
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ sid_size = SECURITY_MAX_SID_SIZE;
|
||||
+ ret = pGetWindowsAccountDomainSid(user_sid, domain_sid, &sid_size);
|
||||
+ ok(ret, "GetWindowsAccountDomainSid failed with error %d\n", GetLastError());
|
||||
+ todo_wine ok(GetLastError() == 0xdeadbeef, "last error should not change\n");
|
||||
+ ok(sid_size == GetSidLengthRequired(4), "expected size %d, got %d\n", GetSidLengthRequired(4), sid_size);
|
||||
+ InitializeSid(domain_sid2, &domain_ident, 4);
|
||||
+ for (i = 0; i < 4; i++)
|
||||
+ *GetSidSubAuthority(domain_sid2, i) = *GetSidSubAuthority(user_sid, i);
|
||||
+ ok(EqualSid(domain_sid, domain_sid2), "unexpected domain sid\n");
|
||||
+}
|
||||
+
|
||||
START_TEST(security)
|
||||
{
|
||||
init();
|
||||
@@ -5877,4 +5954,5 @@ START_TEST(security)
|
||||
test_default_dacl_owner_sid();
|
||||
test_AdjustTokenPrivileges();
|
||||
test_AddAce();
|
||||
+ test_GetWindowsAccountDomainSid();
|
||||
}
|
||||
diff --git a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
index 4277706..edae6d1 100644
|
||||
--- a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
@@ -57,7 +57,7 @@
|
||||
@ stdcall GetSidSubAuthority(ptr long) advapi32.GetSidSubAuthority
|
||||
@ stdcall GetSidSubAuthorityCount(ptr) advapi32.GetSidSubAuthorityCount
|
||||
@ stdcall GetTokenInformation(long long ptr long ptr) advapi32.GetTokenInformation
|
||||
-@ stub GetWindowsAccountDomainSid
|
||||
+@ stdcall GetWindowsAccountDomainSid(ptr ptr ptr) advapi32.GetWindowsAccountDomainSid
|
||||
@ stdcall ImpersonateAnonymousToken(long) advapi32.ImpersonateAnonymousToken
|
||||
@ stdcall ImpersonateLoggedOnUser(long) advapi32.ImpersonateLoggedOnUser
|
||||
@ stdcall ImpersonateSelf(long) advapi32.ImpersonateSelf
|
||||
diff --git a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
index 3adef23..e19fe53 100644
|
||||
--- a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
+++ b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
@@ -63,7 +63,7 @@
|
||||
@ stdcall GetSidSubAuthority(ptr long) advapi32.GetSidSubAuthority
|
||||
@ stdcall GetSidSubAuthorityCount(ptr) advapi32.GetSidSubAuthorityCount
|
||||
@ stdcall GetTokenInformation(long long ptr long ptr) advapi32.GetTokenInformation
|
||||
-@ stub GetWindowsAccountDomainSid
|
||||
+@ stdcall GetWindowsAccountDomainSid(ptr ptr ptr) advapi32.GetWindowsAccountDomainSid
|
||||
@ stdcall ImpersonateAnonymousToken(long) advapi32.ImpersonateAnonymousToken
|
||||
@ stdcall ImpersonateLoggedOnUser(long) advapi32.ImpersonateLoggedOnUser
|
||||
@ stdcall ImpersonateSelf(long) advapi32.ImpersonateSelf
|
||||
--
|
||||
2.4.2
|
||||
|
1
patches/advapi32-GetWindowsAccountDomainSid/definition
Normal file
1
patches/advapi32-GetWindowsAccountDomainSid/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38624] Implement advapi32.GetWindowsAccountDomainSid
|
@@ -1,75 +0,0 @@
|
||||
From a996ccc06eebf03b706e28c3af277901b5074e37 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 30 Apr 2015 01:37:44 +0200
|
||||
Subject: advapi32: Add stub for ImpersonateAnonymousToken.
|
||||
|
||||
---
|
||||
dlls/advapi32/advapi32.spec | 2 +-
|
||||
dlls/advapi32/security.c | 10 ++++++++++
|
||||
.../api-ms-win-security-base-l1-1-0.spec | 2 +-
|
||||
.../api-ms-win-security-base-l1-2-0.spec | 2 +-
|
||||
4 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
|
||||
index e7b7cf7..9fdd266 100644
|
||||
--- a/dlls/advapi32/advapi32.spec
|
||||
+++ b/dlls/advapi32/advapi32.spec
|
||||
@@ -375,7 +375,7 @@
|
||||
@ stub I_ScSetServiceBitsA
|
||||
# @ stub I_ScSetServiceBitsW
|
||||
# @ stub IdentifyCodeAuthzLevelW
|
||||
-# @ stub ImpersonateAnonymousToken
|
||||
+@ stdcall ImpersonateAnonymousToken(long)
|
||||
@ stdcall ImpersonateLoggedOnUser(long)
|
||||
@ stdcall ImpersonateNamedPipeClient(long)
|
||||
@ stdcall ImpersonateSelf(long)
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index d27b2e7..de3c82e 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -2501,6 +2501,16 @@ BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken)
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
+ * ImpersonateAnonymousToken [ADVAPI32.@]
|
||||
+ */
|
||||
+BOOL WINAPI ImpersonateAnonymousToken(HANDLE hThread)
|
||||
+{
|
||||
+ FIXME("(%p)\n", hThread);
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
* AccessCheck [ADVAPI32.@]
|
||||
*/
|
||||
BOOL WINAPI
|
||||
diff --git a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
index 548ae83..4277706 100644
|
||||
--- a/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-security-base-l1-1-0/api-ms-win-security-base-l1-1-0.spec
|
||||
@@ -58,7 +58,7 @@
|
||||
@ stdcall GetSidSubAuthorityCount(ptr) advapi32.GetSidSubAuthorityCount
|
||||
@ stdcall GetTokenInformation(long long ptr long ptr) advapi32.GetTokenInformation
|
||||
@ stub GetWindowsAccountDomainSid
|
||||
-@ stub ImpersonateAnonymousToken
|
||||
+@ stdcall ImpersonateAnonymousToken(long) advapi32.ImpersonateAnonymousToken
|
||||
@ stdcall ImpersonateLoggedOnUser(long) advapi32.ImpersonateLoggedOnUser
|
||||
@ stdcall ImpersonateSelf(long) advapi32.ImpersonateSelf
|
||||
@ stdcall InitializeAcl(ptr long long) advapi32.InitializeAcl
|
||||
diff --git a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
index d268183..3adef23 100644
|
||||
--- a/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
+++ b/dlls/api-ms-win-security-base-l1-2-0/api-ms-win-security-base-l1-2-0.spec
|
||||
@@ -64,7 +64,7 @@
|
||||
@ stdcall GetSidSubAuthorityCount(ptr) advapi32.GetSidSubAuthorityCount
|
||||
@ stdcall GetTokenInformation(long long ptr long ptr) advapi32.GetTokenInformation
|
||||
@ stub GetWindowsAccountDomainSid
|
||||
-@ stub ImpersonateAnonymousToken
|
||||
+@ stdcall ImpersonateAnonymousToken(long) advapi32.ImpersonateAnonymousToken
|
||||
@ stdcall ImpersonateLoggedOnUser(long) advapi32.ImpersonateLoggedOnUser
|
||||
@ stdcall ImpersonateSelf(long) advapi32.ImpersonateSelf
|
||||
@ stdcall InitializeAcl(ptr long long) advapi32.InitializeAcl
|
||||
--
|
||||
2.4.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: Add stub for advapi32.ImpersonateAnonymousToken
|
@@ -1,28 +0,0 @@
|
||||
From 0f3d7e07b53bd1a7c8735bb2c0fa3da0b75dcb96 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 8 May 2015 21:53:30 +0200
|
||||
Subject: advapi32: Fix error handling in OpenSCManagerW.
|
||||
|
||||
---
|
||||
dlls/advapi32/service.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
|
||||
index 0eb0a47..111009d 100644
|
||||
--- a/dlls/advapi32/service.c
|
||||
+++ b/dlls/advapi32/service.c
|
||||
@@ -868,8 +868,9 @@ SC_HANDLE WINAPI OpenSCManagerW( LPCWSTR lpMachineName, LPCWSTR lpDatabaseName,
|
||||
DWORD r;
|
||||
|
||||
r = SERV_OpenSCManagerW(lpMachineName, lpDatabaseName, dwDesiredAccess, &handle);
|
||||
- if (r!=ERROR_SUCCESS)
|
||||
- SetLastError(r);
|
||||
+
|
||||
+ /* last error could still be ERROR_MORE_DATA, so set error unconditionally */
|
||||
+ SetLastError(r);
|
||||
return handle;
|
||||
}
|
||||
|
||||
--
|
||||
2.4.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Category: stable
|
@@ -1,100 +0,0 @@
|
||||
From d36d6e9c52001d6b2fd7ff5be98cfc1aca650694 Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Wed, 16 Apr 2014 14:45:53 +0800
|
||||
Subject: atl: Added stub AtlIPersistPropertyBag_Save.
|
||||
|
||||
---
|
||||
dlls/atl/atl.c | 7 +++++++
|
||||
dlls/atl/atl.spec | 2 +-
|
||||
dlls/atl100/atl100.spec | 2 +-
|
||||
dlls/atl110/atl110.spec | 2 +-
|
||||
dlls/atl80/atl80.spec | 2 +-
|
||||
dlls/atl90/atl90.spec | 2 +-
|
||||
6 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/atl/atl.c b/dlls/atl/atl.c
|
||||
index 795ca9b..84c81f9 100644
|
||||
--- a/dlls/atl/atl.c
|
||||
+++ b/dlls/atl/atl.c
|
||||
@@ -285,6 +285,13 @@ HRESULT WINAPI AtlIPersistPropertyBag_Load(LPPROPERTYBAG pPropBag, LPERRORLOG pE
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
+HRESULT WINAPI AtlIPersistPropertyBag_Save(LPPROPERTYBAG pPropBag, int unknown1, int unknown2,
|
||||
+ ATL_PROPMAP_ENTRY *pMap, void *pThis, IUnknown *pUnk)
|
||||
+{
|
||||
+ FIXME("(%p, %x, %x, %p, %p, %p)\n", pPropBag, unknown1, unknown2, pMap, pThis, pUnk);
|
||||
+
|
||||
+ return S_OK;
|
||||
+}
|
||||
/***********************************************************************
|
||||
* AtlModuleAddTermFunc [atl100.@]
|
||||
*/
|
||||
diff --git a/dlls/atl/atl.spec b/dlls/atl/atl.spec
|
||||
index aa0f44b..466f07a 100644
|
||||
--- a/dlls/atl/atl.spec
|
||||
+++ b/dlls/atl/atl.spec
|
||||
@@ -44,7 +44,7 @@
|
||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||
-53 stub AtlIPersistPropertyBag_Save
|
||||
+53 stdcall AtlIPersistPropertyBag_Save(ptr long long ptr ptr)
|
||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||
55 stub AtlModuleUnRegisterTypeLib
|
||||
56 stdcall AtlModuleLoadTypeLib(ptr wstr ptr ptr)
|
||||
diff --git a/dlls/atl100/atl100.spec b/dlls/atl100/atl100.spec
|
||||
index 25fad3d..80b4b16 100644
|
||||
--- a/dlls/atl100/atl100.spec
|
||||
+++ b/dlls/atl100/atl100.spec
|
||||
@@ -36,7 +36,7 @@
|
||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||
-53 stub AtlIPersistPropertyBag_Save
|
||||
+53 stdcall AtlIPersistPropertyBag_Save(ptr long long ptr ptr ptr)
|
||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||
56 stdcall AtlLoadTypeLib(long wstr ptr ptr)
|
||||
58 stdcall AtlModuleAddTermFunc(ptr ptr long)
|
||||
diff --git a/dlls/atl110/atl110.spec b/dlls/atl110/atl110.spec
|
||||
index 25fad3d..80b4b16 100644
|
||||
--- a/dlls/atl110/atl110.spec
|
||||
+++ b/dlls/atl110/atl110.spec
|
||||
@@ -36,7 +36,7 @@
|
||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||
-53 stub AtlIPersistPropertyBag_Save
|
||||
+53 stdcall AtlIPersistPropertyBag_Save(ptr long long ptr ptr ptr)
|
||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||
56 stdcall AtlLoadTypeLib(long wstr ptr ptr)
|
||||
58 stdcall AtlModuleAddTermFunc(ptr ptr long)
|
||||
diff --git a/dlls/atl80/atl80.spec b/dlls/atl80/atl80.spec
|
||||
index f313944..e82fba0 100644
|
||||
--- a/dlls/atl80/atl80.spec
|
||||
+++ b/dlls/atl80/atl80.spec
|
||||
@@ -38,7 +38,7 @@
|
||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||
-53 stub AtlIPersistPropertyBag_Save
|
||||
+53 stdcall AtlIPersistPropertyBag_Save(ptr long long ptr ptr ptr)
|
||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||
55 stub AtlUnRegisterTypeLib
|
||||
56 stdcall AtlLoadTypeLib(long wstr ptr ptr)
|
||||
diff --git a/dlls/atl90/atl90.spec b/dlls/atl90/atl90.spec
|
||||
index 25fad3d..80b4b16 100644
|
||||
--- a/dlls/atl90/atl90.spec
|
||||
+++ b/dlls/atl90/atl90.spec
|
||||
@@ -36,7 +36,7 @@
|
||||
50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr)
|
||||
51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
|
||||
52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
|
||||
-53 stub AtlIPersistPropertyBag_Save
|
||||
+53 stdcall AtlIPersistPropertyBag_Save(ptr long long ptr ptr ptr)
|
||||
54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
|
||||
56 stdcall AtlLoadTypeLib(long wstr ptr ptr)
|
||||
58 stdcall AtlModuleAddTermFunc(ptr ptr long)
|
||||
--
|
||||
2.3.7
|
||||
|
@@ -1,2 +0,0 @@
|
||||
Fixes: [33888] Add stub for atl80.AtlIPersistPropertyBag_Save
|
||||
Category: stable
|
@@ -1,123 +0,0 @@
|
||||
From 49050987e49d61420d2d46dc167551ff439a537a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 13 May 2015 01:31:35 +0200
|
||||
Subject: browseui: Add IEnumString stub interface for ACLShellSource.
|
||||
|
||||
---
|
||||
dlls/browseui/aclsource.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 72 insertions(+)
|
||||
|
||||
diff --git a/dlls/browseui/aclsource.c b/dlls/browseui/aclsource.c
|
||||
index 07033cc..bb98b33 100644
|
||||
--- a/dlls/browseui/aclsource.c
|
||||
+++ b/dlls/browseui/aclsource.c
|
||||
@@ -44,6 +44,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(browseui);
|
||||
|
||||
typedef struct tagACLMulti {
|
||||
IACList2 IACList2_iface;
|
||||
+ IEnumString IEnumString_iface;
|
||||
LONG refCount;
|
||||
DWORD dwOptions;
|
||||
} ACLShellSource;
|
||||
@@ -53,6 +54,11 @@ static inline ACLShellSource *impl_from_IACList2(IACList2 *iface)
|
||||
return CONTAINING_RECORD(iface, ACLShellSource, IACList2_iface);
|
||||
}
|
||||
|
||||
+static inline ACLShellSource *impl_from_IEnumString(IEnumString *iface)
|
||||
+{
|
||||
+ return CONTAINING_RECORD(iface, ACLShellSource, IEnumString_iface);
|
||||
+}
|
||||
+
|
||||
static void ACLShellSource_Destructor(ACLShellSource *This)
|
||||
{
|
||||
TRACE("destroying %p\n", This);
|
||||
@@ -69,6 +75,10 @@ static HRESULT WINAPI ACLShellSource_QueryInterface(IACList2 *iface, REFIID iid,
|
||||
{
|
||||
*ppvOut = &This->IACList2_iface;
|
||||
}
|
||||
+ else if(IsEqualIID(iid, &IID_IEnumString))
|
||||
+ {
|
||||
+ *ppvOut = &This->IEnumString_iface;
|
||||
+ }
|
||||
|
||||
if (*ppvOut)
|
||||
{
|
||||
@@ -133,6 +143,67 @@ static const IACList2Vtbl ACLMulti_ACList2Vtbl =
|
||||
ACLShellSource_GetOptions
|
||||
};
|
||||
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_QueryInterface(IEnumString *iface, REFIID iid, LPVOID *ppvOut)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_QueryInterface(&This->IACList2_iface, iid, ppvOut);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI ACLShellSource_IEnumString_AddRef(IEnumString *iface)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_AddRef(&This->IACList2_iface);
|
||||
+}
|
||||
+
|
||||
+static ULONG WINAPI ACLShellSource_IEnumString_Release(IEnumString *iface)
|
||||
+{
|
||||
+ ACLShellSource *This = impl_from_IEnumString(iface);
|
||||
+ return ACLShellSource_Release(&This->IACList2_iface);
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Next(IEnumString *iface, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched)
|
||||
+{
|
||||
+ FIXME("(%p, %d, %p, %p): stub\n", iface, celt, rgelt, pceltFetched);
|
||||
+
|
||||
+ if (celt)
|
||||
+ *rgelt = NULL;
|
||||
+ if (pceltFetched)
|
||||
+ *pceltFetched = 0;
|
||||
+
|
||||
+ return S_FALSE;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Reset(IEnumString *iface)
|
||||
+{
|
||||
+ FIXME("(%p): stub\n", iface);
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Skip(IEnumString *iface, ULONG celt)
|
||||
+{
|
||||
+ FIXME("(%p, %u): stub\n", iface, celt);
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
+
|
||||
+static HRESULT WINAPI ACLShellSource_IEnumString_Clone(IEnumString *iface, IEnumString **ppOut)
|
||||
+{
|
||||
+ FIXME("(%p, %p): stub\n", iface, ppOut);
|
||||
+ *ppOut = NULL;
|
||||
+ return E_OUTOFMEMORY;
|
||||
+}
|
||||
+
|
||||
+static const IEnumStringVtbl ACLShellSource_EnumStringVtbl =
|
||||
+{
|
||||
+ ACLShellSource_IEnumString_QueryInterface,
|
||||
+ ACLShellSource_IEnumString_AddRef,
|
||||
+ ACLShellSource_IEnumString_Release,
|
||||
+
|
||||
+ ACLShellSource_IEnumString_Next,
|
||||
+ ACLShellSource_IEnumString_Skip,
|
||||
+ ACLShellSource_IEnumString_Reset,
|
||||
+ ACLShellSource_IEnumString_Clone
|
||||
+};
|
||||
+
|
||||
HRESULT ACLShellSource_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||
{
|
||||
ACLShellSource *This;
|
||||
@@ -144,6 +215,7 @@ HRESULT ACLShellSource_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
This->IACList2_iface.lpVtbl = &ACLMulti_ACList2Vtbl;
|
||||
+ This->IEnumString_iface.lpVtbl = &ACLShellSource_EnumStringVtbl;
|
||||
This->refCount = 1;
|
||||
|
||||
TRACE("returning %p\n", This);
|
||||
--
|
||||
2.4.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [18019] Add IEnumString stub interface for ACLShellSource
|
@@ -0,0 +1,112 @@
|
||||
From b016d38d184be47fd5ba396925f3f1f1c4514bd2 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 12 Jun 2015 15:52:40 -0600
|
||||
Subject: configure: Add libunwind configure flag.
|
||||
|
||||
Based on a patch by Erich E. Hoover and Ken Thomases.
|
||||
---
|
||||
configure.ac | 28 ++++++++++++++++++++++++++++
|
||||
dlls/ntdll/Makefile.in | 2 +-
|
||||
dlls/ntdll/signal_x86_64.c | 8 ++++----
|
||||
3 files changed, 33 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index df28b27..78e5558 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -75,4 +75,6 @@ AC_ARG_WITH(pthread, AS_HELP_STRING([--without-pthread],[do not use the pthrea
|
||||
AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)]))
|
||||
AC_ARG_WITH(tiff, AS_HELP_STRING([--without-tiff],[do not use TIFF]))
|
||||
+AC_ARG_WITH(unwind, AS_HELP_STRING([--without-unwind],[do not use libunwind]),
|
||||
+ [if test "x$withval" = "xno"; then ac_cv_header_libunwind_h=no; fi])
|
||||
AC_ARG_WITH(v4l, AS_HELP_STRING([--without-v4l],[do not use v4l1 (v4l support)]))
|
||||
AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xcomposite extension]),
|
||||
@@ -1084,6 +1086,32 @@ WINE_ERROR_WITH(pthread,[test "x$ac_cv_func_pthread_create" != xyes -a "x$PTHREA
|
||||
[pthread ${notice_platform}development files not found.
|
||||
Wine cannot support threads without libpthread.])
|
||||
|
||||
+dnl **** Check for libunwind ****
|
||||
+
|
||||
+if test "x$enable_win64" = "xyes"
|
||||
+then
|
||||
+ if test "$ac_cv_header_libunwind_h" = "yes"
|
||||
+ then
|
||||
+ ac_save_LIBS="$LIBS"
|
||||
+ AC_MSG_CHECKING([for libunwind])
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define UNW_LOCAL_ONLY
|
||||
+ #include <libunwind.h>]], [[unw_context_t u; unw_cursor_t c; unw_getcontext(&u); unw_init_local(&c, &u);]])],
|
||||
+ [AC_MSG_RESULT([yes, without linking])
|
||||
+ AC_DEFINE(HAVE_LIBUNWIND, 1, [Define to 1 if you have libunwind])],
|
||||
+ [LIBS="$LIBS -lunwind"
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define UNW_LOCAL_ONLY
|
||||
+ #include <libunwind.h>]], [[unw_context_t u; unw_cursor_t c; unw_getcontext(&u); unw_init_local(&c, &u);]])],
|
||||
+ [AC_MSG_RESULT([yes, with linking])
|
||||
+ AC_SUBST(UNWIND_LIBS,"-lunwind")
|
||||
+ AC_DEFINE(HAVE_LIBUNWIND, 1, [Define to 1 if you have libunwind])],
|
||||
+ [AC_MSG_RESULT([no])
|
||||
+ ac_cv_header_libunwind_h=no])])
|
||||
+ LIBS="$ac_save_LIBS"
|
||||
+ fi
|
||||
+ WINE_NOTICE_WITH(unwind,[test "x$ac_cv_header_libunwind_h" != xyes],
|
||||
+ [libunwind ${notice_platform}development files not found.])
|
||||
+fi
|
||||
+
|
||||
dnl **** Check for X11 ****
|
||||
|
||||
AC_PATH_XTRA
|
||||
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
|
||||
index ed4bb94..08f094a 100644
|
||||
--- a/dlls/ntdll/Makefile.in
|
||||
+++ b/dlls/ntdll/Makefile.in
|
||||
@@ -2,7 +2,7 @@ EXTRADEFS = -D_NTSYSTEM_
|
||||
MODULE = ntdll.dll
|
||||
IMPORTLIB = ntdll
|
||||
IMPORTS = winecrt0
|
||||
-EXTRALIBS = $(IOKIT_LIBS) $(RT_LIBS) $(PTHREAD_LIBS)
|
||||
+EXTRALIBS = $(IOKIT_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS)
|
||||
EXTRADLLFLAGS = -nodefaultlibs -Wl,--image-base,0x7bc00000
|
||||
|
||||
C_SRCS = \
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index 9b98894..a4aa269 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -51,7 +51,7 @@
|
||||
#ifdef HAVE_SYS_UCONTEXT_H
|
||||
# include <sys/ucontext.h>
|
||||
#endif
|
||||
-#ifdef HAVE_LIBUNWIND_H
|
||||
+#ifdef HAVE_LIBUNWIND
|
||||
# define UNW_LOCAL_ONLY
|
||||
# include <libunwind.h>
|
||||
#endif
|
||||
@@ -1431,7 +1431,7 @@ static NTSTATUS dwarf_virtual_unwind( ULONG64 ip, ULONG64 *frame,CONTEXT *contex
|
||||
}
|
||||
|
||||
|
||||
-#if HAVE_LIBUNWIND_H
|
||||
+#if HAVE_LIBUNWIND
|
||||
/***********************************************************************
|
||||
* libunwind_set_cursor_from_context
|
||||
*/
|
||||
@@ -2341,7 +2341,7 @@ static NTSTATUS call_stack_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_contex
|
||||
if (status != STATUS_SUCCESS) return status;
|
||||
got_info = TRUE;
|
||||
}
|
||||
-#if HAVE_LIBUNWIND_H
|
||||
+#if HAVE_LIBUNWIND
|
||||
else
|
||||
{
|
||||
status = libunwind_virtual_unwind( context.Rip, &got_info, &dispatch.EstablisherFrame, &new_context,
|
||||
@@ -3369,7 +3369,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
|
||||
if (status != STATUS_SUCCESS) raise_status( status, rec );
|
||||
got_info = TRUE;
|
||||
}
|
||||
-#if HAVE_LIBUNWIND_H
|
||||
+#if HAVE_LIBUNWIND
|
||||
else
|
||||
{
|
||||
status = libunwind_virtual_unwind( context->Rip, &got_info, &dispatch.EstablisherFrame, &new_context,
|
||||
--
|
||||
2.4.2
|
||||
|
1
patches/configure-libunwind/definition
Normal file
1
patches/configure-libunwind/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [38713] Properly check existence of libunwind before linking against it
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user