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
113 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5ec4d6171e | ||
|
8728442a9a | ||
|
76e7b82e31 | ||
|
5a24762b33 | ||
|
9454f5fc78 | ||
|
c23d8e2738 | ||
|
025e40edcc | ||
|
c258f95d4b | ||
|
45b80e1d0d | ||
|
8ccce27f89 | ||
|
d96eed9e17 | ||
|
510297d315 | ||
|
2a2d46a77e | ||
|
74f4d7b45e | ||
|
2393fd2c7e | ||
|
02879c0800 | ||
|
a9538a1965 | ||
|
1ce0efdd60 | ||
|
8f5172f8de | ||
|
0c6e311cea | ||
|
56447bdb5b | ||
|
a66e263db0 | ||
|
d9d1380650 | ||
|
7603fe0bc9 | ||
|
1b23958eb3 | ||
|
e4d5d84401 | ||
|
a5fac42aff | ||
|
278c0ed870 | ||
|
495e7f4985 | ||
|
75174bcf22 | ||
|
2315442bb2 | ||
|
77d2d3e4e0 | ||
|
06226bdc44 | ||
|
941323d469 | ||
|
0de1b91a1b | ||
|
5b94baf194 | ||
|
2fdae8614e | ||
|
e5c67078fd | ||
|
f4be181120 | ||
|
679a5cef17 | ||
|
c1c337b07c | ||
|
5f7b6bf45f | ||
|
a37730ab0e | ||
|
36e9309497 | ||
|
8f245e2d60 | ||
|
76d8009160 | ||
|
f1b8ef5d94 | ||
|
d205f22f1e | ||
|
d26abf2d93 | ||
|
9f011de1b5 | ||
|
a8303d406b | ||
|
800c42803f | ||
|
49d6414382 | ||
|
1d9163af16 | ||
|
cd4db49a74 | ||
|
b5c7642a3e | ||
|
65c559753a | ||
|
d709879134 | ||
|
0748a983e3 | ||
|
d1f4a25cbd | ||
|
6df5635400 | ||
|
fb6baf5e83 | ||
|
174139f1ea | ||
|
e3bece1c76 | ||
|
d7500bccd1 | ||
|
04f83c2765 | ||
|
56532e6bed | ||
|
afb95f8dde | ||
|
fae66ca721 | ||
|
67c7aead03 | ||
|
15581d6cce | ||
|
fc0847724e | ||
|
cde323b772 | ||
|
dfd86e0f91 | ||
|
16aad8a55f | ||
|
62117ba8d6 | ||
|
2da169a01b | ||
|
3b975fa4f2 | ||
|
8d92e1177f | ||
|
7dc75a302b | ||
|
7c8e6d90d3 | ||
|
872be6fa25 | ||
|
74b6722150 | ||
|
135024f481 | ||
|
53b570f698 | ||
|
dc16523d00 | ||
|
1dc4d9dc2f | ||
|
731305d018 | ||
|
c981072e0d | ||
|
e86a326f7b | ||
|
1aaf583c9f | ||
|
f644b88d3e | ||
|
3352a782c9 | ||
|
ec9b8ec16d | ||
|
094635f160 | ||
|
5f9893a79d | ||
|
6b5229ca83 | ||
|
6d10024c1e | ||
|
c361cbefb2 | ||
|
76b602e336 | ||
|
9f4a601887 | ||
|
b0071ce53e | ||
|
36ec2e0cf4 | ||
|
dde3ae24dd | ||
|
f6af570538 | ||
|
69ae1f591a | ||
|
31bd06cb42 | ||
|
0bef3b01c4 | ||
|
50b37c2d7e | ||
|
333de90b1a | ||
|
3daf410291 | ||
|
5a89756c6a | ||
|
7af67608ec |
64
README.md
64
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.45 [244]:**
|
||||
**Bug fixes and features in Wine Staging 1.7.48 [238]:**
|
||||
|
||||
*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
|
||||
@@ -50,8 +50,6 @@ 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 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
|
||||
@@ -60,14 +58,10 @@ for more details.*
|
||||
* 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 D3DXTessellateNPatches
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* 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))
|
||||
* Add stub for kernel32.SetFileCompletionNotificationModes (for Steam in Win7 mode) ([Wine Bug #38493](https://bugs.winehq.org/show_bug.cgi?id=38493))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
* Add stub for ntoskrnl.ExReleaseResourceForThread
|
||||
@@ -79,17 +73,20 @@ for more details.*
|
||||
* 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 D3DCompile2 and D3DCompileFromFile
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739))
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Add support for ThreadQuerySetWin32StartAddress info class ([Wine Bug #8277](https://bugs.winehq.org/show_bug.cgi?id=8277))
|
||||
* 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 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 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
|
||||
@@ -99,6 +96,7 @@ for more details.*
|
||||
* 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.
|
||||
* Avoid race-conditions of async WSARecv() operations with write watches.
|
||||
* Avoid race-conditions with long running threadpool tasks
|
||||
* Avoid race-conditions with write watches in WS2_async_accept.
|
||||
* Avseq crashes when multisampling is enabled ([Wine Bug #31998](https://bugs.winehq.org/show_bug.cgi?id=31998))
|
||||
* Basic handling of write watches triggered while we're on the signal stack.
|
||||
@@ -106,30 +104,28 @@ for more details.*
|
||||
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
|
||||
* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE
|
||||
* Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149))
|
||||
* Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021))
|
||||
* Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key ([Wine Bug #38508](https://bugs.winehq.org/show_bug.cgi?id=38508))
|
||||
* 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 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))
|
||||
* 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
|
||||
* 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))
|
||||
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
|
||||
* 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 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))
|
||||
* 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 in clip_cursor_notify caused by uninitialized TLS ([Wine Bug #36915](https://bugs.winehq.org/show_bug.cgi?id=36915))
|
||||
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* Fix 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))
|
||||
@@ -146,7 +142,7 @@ for more details.*
|
||||
* 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 loading of libraries with incomplete IMAGE_LOAD_CONFIG_DIRECTORY struct
|
||||
* 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
|
||||
@@ -154,6 +150,7 @@ for more details.*
|
||||
* 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 security cookie handling for UPX compressed executables ([Wine Bug #38949](https://bugs.winehq.org/show_bug.cgi?id=38949))
|
||||
* 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))
|
||||
@@ -161,27 +158,27 @@ 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))
|
||||
* Forward exitcode from child process when in wineconsole
|
||||
* Free RPC parameters allocated by application before anything else ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
|
||||
* Ignore garbage after decoding gif lines ([Wine Bug #32227](https://bugs.winehq.org/show_bug.cgi?id=32227))
|
||||
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
|
||||
* 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 ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement 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 dbghelp.UnDecorateSymbolNameW ([Wine Bug #38828](https://bugs.winehq.org/show_bug.cgi?id=38828))
|
||||
* 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 general tab for file property dialog
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
@@ -191,9 +188,7 @@ for more details.*
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
|
||||
* Implement threadpool wait objects
|
||||
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
|
||||
* Implement various vcomp functions ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* 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
|
||||
@@ -201,16 +196,15 @@ for more details.*
|
||||
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
|
||||
* Improve stubs for AEV_{Get,Set}Mute
|
||||
* Improvement for heap allocation performance
|
||||
* Initialize *lpcDevices in RasEnumDevicesA ([Wine Bug #30378](https://bugs.winehq.org/show_bug.cgi?id=30378))
|
||||
* 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))
|
||||
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
|
||||
* 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))
|
||||
* Only send WM_DROPFILES when OLE dnd fails ([Wine Bug #29081](https://bugs.winehq.org/show_bug.cgi?id=29081))
|
||||
* Other Pipelight-specific enhancements
|
||||
@@ -218,24 +212,26 @@ for more details.*
|
||||
* 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 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)
|
||||
* 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 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
|
||||
* 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
|
||||
* 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 NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
|
||||
* Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817))
|
||||
* Show unmounted devices in winecfg and allow changing the unix path
|
||||
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
|
||||
* Silence repeated wbemprox "timeout not supported" fixme ([Wine Bug #37618](https://bugs.winehq.org/show_bug.cgi?id=37618))
|
||||
* Skip unknown item when decoding a CMS certificate ([Wine Bug #34388](https://bugs.winehq.org/show_bug.cgi?id=34388))
|
||||
* Software support for Environmental Audio Extensions (EAX)
|
||||
* Store registry timestamps with nanoseconds precision ([Wine Bug #38927](https://bugs.winehq.org/show_bug.cgi?id=38927))
|
||||
* 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))
|
||||
@@ -245,9 +241,7 @@ for more details.*
|
||||
* Support for DDS file format in D3DXSaveTextureToFileInMemory ([Wine Bug #26898](https://bugs.winehq.org/show_bug.cgi?id=26898))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* 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 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))
|
||||
@@ -261,12 +255,11 @@ for more details.*
|
||||
* 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))
|
||||
* 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 ([Wine Bug #34406](https://bugs.winehq.org/show_bug.cgi?id=34406))
|
||||
* Support for inherited file ACLs
|
||||
* Support for linux priority levels for faster performance
|
||||
* Support for loader dll redirections
|
||||
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
|
||||
@@ -280,11 +273,12 @@ for more details.*
|
||||
* Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609))
|
||||
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
|
||||
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
|
||||
* Use GLX_MESA_query_renderer extension to get more exact GPU infos
|
||||
* 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
|
||||
* Use video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906))
|
||||
* 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
|
||||
|
107
debian/changelog
vendored
107
debian/changelog
vendored
@@ -1,3 +1,110 @@
|
||||
wine-staging (1.7.48) unstable; urgency=low
|
||||
* Update patches for d3dx9_36.D3DXGetShader{Input,Output}Semantics and add
|
||||
additional tests.
|
||||
* Update patchset to query GPU infos with GLX_MESA_query_renderer extension
|
||||
(fixes a regression with broken MESA versions).
|
||||
* Update vcomp patchset and add implementation for various atomic functions.
|
||||
* Updated CSMT patchset to fix crash in Path of Exile after character
|
||||
selection (fixes Wine Staging Bug #451).
|
||||
* Added patch to forward exitcode from child process when in wineconsole.
|
||||
* Added patch to check architecture before trying to load libraries.
|
||||
* Added patch to share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL
|
||||
forwards.
|
||||
* Added patch with stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W.
|
||||
* Added patch to silence repeated LocaleNameToLCID/LCIDToLocaleName
|
||||
unsupported flags FIXMEs.
|
||||
* Added patches to improve security cookie handling.
|
||||
* Added patches to implement ThreadQuerySetWin32StartAddress info class.
|
||||
* Added patch to fake success in kernel32.SetFileCompletionNotificationModes.
|
||||
* Added patch to export additional OpenAL32 functions.
|
||||
* Added patch to return dummy ID3DXSkinInfo interface when skinning info not
|
||||
present.
|
||||
* Added patch to store registry timestamps with nanoseconds precision.
|
||||
* Added patch to implement AMStream GetMultiMediaStream functions.
|
||||
* Added patch with stub for D3DXTessellateNPatches.
|
||||
* Added patch with stubs for D3DCompile2 and D3DCompileFromFile.
|
||||
* Added patch to implement dbghelp.UnDecorateSymbolNameW.
|
||||
* Added patch to add wined3d detection of GeForce GT 425M.
|
||||
* Added patch to use video memory for rendering targets if possible.
|
||||
* Added patch to avoid race-conditions with long running threadpool tasks.
|
||||
* Removed patch to allow to enable/disable InsertMode in wineconsole settings
|
||||
(accepted upstream).
|
||||
* Removed patch to improve IoGetDeviceObjectPointer stub to appease SecuROM
|
||||
5.x (accepted upstream).
|
||||
* Removed patch to forward GIF encoder requests to Windowscodecs (accepted
|
||||
upstream).
|
||||
* Removed patch to ignore garbage after decoding gif lines (accepted
|
||||
upstream).
|
||||
* Removed patch to increase buffer size in widl/typegen.c (accepted upstream).
|
||||
* Removed patch to revert security cookie changes in loader (fixed upstream).
|
||||
* Removed patch to add support 8bpp grayscale TIFF images with 8bpp alpha
|
||||
channel (accepted upstream).
|
||||
* Partrially removed patches for vcomp implementation (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Wed, 29 Jul 2015 21:11:07 +0200
|
||||
|
||||
wine-staging (1.7.47) unstable; urgency=low
|
||||
* Added patch to silence repeated winhttp "no support on this platform"
|
||||
message.
|
||||
* Added patch to silence repeated wbemprox "timeout not supported" fixme.
|
||||
* Added patch to increase buffer size in widl/typegen.c to avoid buffer
|
||||
overflow.
|
||||
* Revert security cookie patch causing regression in multiple applications.
|
||||
* Added patch to use GLX_MESA_query_renderer extension to get more exact GPU
|
||||
infos.
|
||||
* Added initial set of patches for multithreaded vcomp implementation.
|
||||
* Added patch to avoid dereferencing NULL pointer for fonts without VDMX.
|
||||
* Removed patch to implement kernel32.GetNumaProcessorNode (accepted
|
||||
upstream).
|
||||
* Removed patch to initialize *end with NULL on failure in msvcrt.strtod
|
||||
(accepted upstream).
|
||||
* Removed patchset for new Threadpool implementation (accepted upstream).
|
||||
* Partially removed patches for RtlDecompressBuffer implementation (accepted
|
||||
upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 12 Jul 2015 04:12:43 +0200
|
||||
|
||||
wine-staging (1.7.46) unstable; urgency=low
|
||||
* Add reference to upstream bug report for various patchsets.
|
||||
* Added patch to improve IoGetDeviceObjectPointer stub to appease SecuROM 5.x.
|
||||
* Added patch to globally invalidate key state on changes in other threads.
|
||||
* Added patch to fix possible use-after-free in wineserver device IPR code.
|
||||
* Added patch to fix wineserver crash when pipe server object is destroyed
|
||||
before client (fixes Wine Staging Bug #393).
|
||||
* Added patches to improve crosscompiling Wine for other platforms.
|
||||
* Added patch to improve output of '--check-libs' on OSX.
|
||||
* Added patch to implement general tab for file property dialog.
|
||||
* Added patch to initialize *lpcDevices in RasEnumDevicesA.
|
||||
* Improved nvcuda-CUDA_Support patchset to search for dylib on OSX.
|
||||
* Improved wined3d-DXTn patchset to search for dylib on OSX.
|
||||
* Updated kernel32-GetVolumePathName to fix several test failures.
|
||||
* Updated ntoskrnl-Emulator patchset to implement emulation of MOVZX
|
||||
instruction on x86_64.
|
||||
* Updated patchset ntdll-WRITECOPY to be compatible with OSX (fixes Wine
|
||||
Staging Bug #399).
|
||||
* Disable patch to avoid crash when NULL pointer is passed to atof / strtod
|
||||
functions (fixed upstream).
|
||||
* Removed patch for implementation of GdipCreateRegionRgnData (accepted
|
||||
upstream).
|
||||
* Removed patch to fix output buffer size for IOCTL_DVD_READ_STRUCTURE
|
||||
requests (accepted upstream).
|
||||
* Removed patch to add stub for kernel32.SetFileCompletionNotificationModes
|
||||
(accepted upstream).
|
||||
* Removed patch to use random names when caching very long urls in wininet
|
||||
(accepted upstream).
|
||||
* Removed patch to fix link notification conditions for riched20 (accepted
|
||||
upstream).
|
||||
* Removed patch to emulate access to USER_SHARE_DATA on x86_64 (accepted
|
||||
upstream).
|
||||
* Removed patch to fix possible use-after-free in wineserver device IPR code
|
||||
(accepted upstream).
|
||||
* Removed patches to implement GetVolumePathName (accepted upstream).
|
||||
* Removed patch for advapi32.GetWindowsAccountDomainSid (accepted upstream).
|
||||
* Removed patch for stub implementation of fltlib.FilterLoad (accepted
|
||||
upstream).
|
||||
* Removed patch for AT_ROUND_TO_PAGE support in NtMapViewOfSection (accepted
|
||||
upstream).
|
||||
* Removed patch to fix linking against libunwind on Linux (fixed upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 28 Jun 2015 18:20:36 +0200
|
||||
|
||||
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
|
||||
|
9
debian/control
vendored
9
debian/control
vendored
@@ -14,7 +14,7 @@ Build-Depends: autotools-dev,
|
||||
flex,
|
||||
fontforge,
|
||||
gawk,
|
||||
gcc-4.5 | gcc-4.7 | ubuntu-desktop (<< 1.207),
|
||||
gcc-4.5 | gcc-4.7 | gcc-4.9 | ubuntu-desktop (<< 1.207),
|
||||
gettext,
|
||||
libacl1-dev,
|
||||
libasound2-dev,
|
||||
@@ -37,6 +37,7 @@ Build-Depends: autotools-dev,
|
||||
libmpg123-dev,
|
||||
libncurses5-dev | libncurses-dev,
|
||||
libopenal-dev (>= 1:1.12) | ubuntu-desktop (<< 1.207),
|
||||
libosmesa6-dev,
|
||||
libpcap-dev,
|
||||
libpng12-dev,
|
||||
libpulse-dev,
|
||||
@@ -82,10 +83,7 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
@@ -139,10 +137,7 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
|
10
debian/rules
vendored
10
debian/rules
vendored
@@ -1,11 +1,8 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Use gcc-4.5 if it's available
|
||||
ifeq ($(shell which gcc-4.5),)
|
||||
CC = gcc
|
||||
else
|
||||
CC = gcc-4.5
|
||||
endif
|
||||
# Prefer gcc-4.5, then 4.7, then 4.9 - otherwise fallback to gcc.
|
||||
export CC = $(shell for _cc in gcc-4.5 gcc-4.7 gcc-4.9 gcc false; do \
|
||||
if which "$$_cc" >/dev/null 2>&1; then echo "$$_cc"; break; fi; done)
|
||||
|
||||
%:
|
||||
dh $@ --parallel
|
||||
@@ -24,7 +21,6 @@ ifeq ($(DEB_BUILD_ARCH), amd64)
|
||||
--infodir=\$${prefix}/share/info \
|
||||
--enable-win64 \
|
||||
--without-gstreamer \
|
||||
--without-unwind \
|
||||
--with-xattr \
|
||||
$(CONFFLAGS)
|
||||
else
|
||||
|
2
debian/tools/patchutils.py
vendored
2
debian/tools/patchutils.py
vendored
@@ -305,6 +305,8 @@ def read_patch(filename):
|
||||
if r is not None: return "%s: %s" % (r.group(1), r.group(4)), int(r.group(3))
|
||||
r = re.match("^(.*) +%s$" % version, subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), int(r.group(3))
|
||||
r = re.match("^(.*)\\(resend\\)$", subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), 1
|
||||
return subject, 1
|
||||
|
||||
header = {}
|
||||
|
@@ -1,25 +0,0 @@
|
||||
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
|
||||
|
@@ -0,0 +1,64 @@
|
||||
From b4a2543264f9eb91fc259a81dea872eee3c14aba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Jun 2015 19:28:51 +0200
|
||||
Subject: loader: Print library paths for --check-libs on Mac OS X.
|
||||
|
||||
---
|
||||
loader/main.c | 27 ++++++++++++++++++++++++++-
|
||||
1 file changed, 26 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/loader/main.c b/loader/main.c
|
||||
index 44804e1..4d9126e 100644
|
||||
--- a/loader/main.c
|
||||
+++ b/loader/main.c
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "main.h"
|
||||
|
||||
#ifdef __APPLE__
|
||||
+#include <mach-o/dyld.h>
|
||||
|
||||
#ifndef __clang__
|
||||
__asm__(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x40000000");
|
||||
@@ -73,6 +74,26 @@ static inline void reserve_area( void *addr, size_t size )
|
||||
wine_mmap_add_reserved_area( addr, size );
|
||||
}
|
||||
|
||||
+static const char *get_macho_library_path( const char *libname )
|
||||
+{
|
||||
+ unsigned int path_len, libname_len = strlen( libname );
|
||||
+ uint32_t i, count = _dyld_image_count();
|
||||
+
|
||||
+ for (i = 0; i < count; i++)
|
||||
+ {
|
||||
+ const char *path = _dyld_get_image_name( i );
|
||||
+ if (!path) continue;
|
||||
+
|
||||
+ path_len = strlen( path );
|
||||
+ if (path_len < libname_len + 1) continue;
|
||||
+ if (path[path_len - libname_len - 1] != '/') continue;
|
||||
+ if (strcmp( path + path_len - libname_len, libname )) continue;
|
||||
+
|
||||
+ return path;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
#else /* __APPLE__ */
|
||||
|
||||
/* the preloader will set this variable */
|
||||
@@ -181,7 +202,11 @@ static void check_command_line( int argc, char *argv[] )
|
||||
else
|
||||
#endif
|
||||
{
|
||||
- printf( "%s: found\n", *wine_libs );
|
||||
+ const char *path = NULL;
|
||||
+ #ifdef __APPLE__
|
||||
+ path = get_macho_library_path( *wine_libs );
|
||||
+ #endif
|
||||
+ printf( "%s: %s\n", *wine_libs, path ? path : "found");
|
||||
}
|
||||
wine_dlclose( lib_handle, NULL, 0 );
|
||||
}
|
||||
--
|
||||
2.4.3
|
||||
|
@@ -1,219 +0,0 @@
|
||||
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 +0,0 @@
|
||||
Fixes: [38624] Implement advapi32.GetWindowsAccountDomainSid
|
@@ -0,0 +1,88 @@
|
||||
From 4d0e6bbc00bd49b8dcfce494bd7380c49f58f92b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 28 Jul 2015 18:21:20 +0200
|
||||
Subject: amstream: Implement IAMMediaStream::GetMultiMediaStream.
|
||||
|
||||
---
|
||||
dlls/amstream/mediastream.c | 40 ++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 32 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
|
||||
index 947be1e..e4e15d7 100644
|
||||
--- a/dlls/amstream/mediastream.c
|
||||
+++ b/dlls/amstream/mediastream.c
|
||||
@@ -110,9 +110,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetMultiMediaStre
|
||||
{
|
||||
DirectDrawMediaStreamImpl *This = impl_from_DirectDrawMediaStream_IAMMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multi_media_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multi_media_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
|
||||
@@ -271,9 +277,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetMultiM
|
||||
{
|
||||
DirectDrawMediaStreamImpl *This = impl_from_IDirectDrawMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
|
||||
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!ppMultiMediaStream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *ppMultiMediaStream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream *iface,
|
||||
@@ -511,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA
|
||||
{
|
||||
AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
+ TRACE("(%p/%p)->(%p)\n", This, iface, multi_media_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multi_media_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multi_media_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
|
||||
@@ -672,9 +690,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetMultiMediaStream
|
||||
{
|
||||
AudioMediaStreamImpl *This = impl_from_IAudioMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", iface, This, multimedia_stream);
|
||||
+ TRACE("(%p/%p)->(%p)\n", iface, This, multimedia_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multimedia_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multimedia_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetInformation(IAudioMediaStream *iface,
|
||||
--
|
||||
2.4.5
|
||||
|
1
patches/amstream-GetMultiMediaStream/definition
Normal file
1
patches/amstream-GetMultiMediaStream/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [37090] Implement AMStream GetMultiMediaStream functions
|
@@ -1,30 +1,20 @@
|
||||
From 3e8d16b07793f5794702e31dc08a55a71f46fa1f Mon Sep 17 00:00:00 2001
|
||||
From 74254e3904454c5d088bf400d3d58107aa2b138b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 7 Aug 2014 01:41:25 +0200
|
||||
Subject: comctl32: Implement LoadIconMetric function.
|
||||
|
||||
Changes by Alistair Leslie-Hughes:
|
||||
* Moved LoadIconMetric to commctrl.c
|
||||
* Changed INT, PCWSTR type
|
||||
* Added function to include/commctrl.h
|
||||
---
|
||||
dlls/comctl32/Makefile.in | 1 +
|
||||
dlls/comctl32/comctl32.spec | 1 +
|
||||
dlls/comctl32/icon.c | 68 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
include/commctrl.h | 6 ++++
|
||||
4 files changed, 76 insertions(+)
|
||||
create mode 100644 dlls/comctl32/icon.c
|
||||
dlls/comctl32/commctrl.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
include/commctrl.h | 7 +++++++
|
||||
3 files changed, 48 insertions(+)
|
||||
|
||||
diff --git a/dlls/comctl32/Makefile.in b/dlls/comctl32/Makefile.in
|
||||
index e63f0ac..af49017 100644
|
||||
--- a/dlls/comctl32/Makefile.in
|
||||
+++ b/dlls/comctl32/Makefile.in
|
||||
@@ -16,6 +16,7 @@ C_SRCS = \
|
||||
flatsb.c \
|
||||
header.c \
|
||||
hotkey.c \
|
||||
+ icon.c \
|
||||
imagelist.c \
|
||||
ipaddress.c \
|
||||
listview.c \
|
||||
diff --git a/dlls/comctl32/comctl32.spec b/dlls/comctl32/comctl32.spec
|
||||
index 0bd8b13..2b96891 100644
|
||||
index 1e92e5f..e61dfbf 100644
|
||||
--- a/dlls/comctl32/comctl32.spec
|
||||
+++ b/dlls/comctl32/comctl32.spec
|
||||
@@ -88,6 +88,7 @@
|
||||
@@ -35,56 +25,36 @@ index 0bd8b13..2b96891 100644
|
||||
381 stdcall -ordinal LoadIconWithScaleDown(ptr wstr long long ptr)
|
||||
382 stdcall -noname SmoothScrollWindow(ptr)
|
||||
383 stub -noname DoReaderMode
|
||||
diff --git a/dlls/comctl32/icon.c b/dlls/comctl32/icon.c
|
||||
new file mode 100644
|
||||
index 0000000..a664e2c
|
||||
--- /dev/null
|
||||
+++ b/dlls/comctl32/icon.c
|
||||
@@ -0,0 +1,68 @@
|
||||
+/*
|
||||
+ * Comctl32 Icon functions
|
||||
+ *
|
||||
diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c
|
||||
index e18c27d..462ecf8 100644
|
||||
--- a/dlls/comctl32/commctrl.c
|
||||
+++ b/dlls/comctl32/commctrl.c
|
||||
@@ -3,6 +3,7 @@
|
||||
*
|
||||
* Copyright 1997 Dimitrie O. Paun
|
||||
* Copyright 1998,2000 Eric Kohl
|
||||
+ * Copyright 2014 Michael MĂĽller
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -1646,3 +1647,42 @@ HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR name, int cx, int c
|
||||
FIXME("stub: %p %s %d %d %p\n", hinst, wine_dbgstr_w(name), cx, cy, icon);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * LoadIconMetric [COMCTL32.@]
|
||||
+ */
|
||||
+
|
||||
+#include <stdarg.h>
|
||||
+#include <string.h>
|
||||
+#include "windef.h"
|
||||
+#include "winbase.h"
|
||||
+#include "wingdi.h"
|
||||
+#include "winuser.h"
|
||||
+#include "winnls.h"
|
||||
+#include "commctrl.h"
|
||||
+#include "comctl32.h"
|
||||
+#include "wine/debug.h"
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
+
|
||||
+HRESULT WINAPI
|
||||
+LoadIconMetric (HINSTANCE hinst, PCWSTR name, INT size, HICON *icon)
|
||||
+HRESULT WINAPI LoadIconMetric(HINSTANCE hinst, const WCHAR *name, int size, HICON *icon)
|
||||
+{
|
||||
+ INT width, height;
|
||||
+ int width, height;
|
||||
+
|
||||
+ TRACE("(%p %s %d %p)\n", hinst, debugstr_w(name), size, icon);
|
||||
+
|
||||
+ if (!icon)
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ /* windows sets it to zero in a case of failure */
|
||||
+ /* Windows sets it to zero in a case of failure. */
|
||||
+ *icon = NULL;
|
||||
+
|
||||
+ if (!name)
|
||||
@@ -92,40 +62,42 @@ index 0000000..a664e2c
|
||||
+
|
||||
+ if (size == LIM_SMALL)
|
||||
+ {
|
||||
+ width = GetSystemMetrics( SM_CXSMICON );
|
||||
+ height = GetSystemMetrics( SM_CYSMICON );
|
||||
+ width = GetSystemMetrics(SM_CXSMICON);
|
||||
+ height = GetSystemMetrics(SM_CYSMICON);
|
||||
+ }
|
||||
+ else if (size == LIM_LARGE)
|
||||
+ {
|
||||
+ width = GetSystemMetrics( SM_CXICON );
|
||||
+ height = GetSystemMetrics( SM_CYICON );
|
||||
+ width = GetSystemMetrics(SM_CXICON);
|
||||
+ height = GetSystemMetrics(SM_CYICON);
|
||||
+ }
|
||||
+ else
|
||||
+ return E_INVALIDARG;
|
||||
+
|
||||
+ *icon = LoadImageW( hinst, name, IMAGE_ICON, width, height, LR_SHARED );
|
||||
+ /* FIXME: This doesn't seem to work properly yet with file names. */
|
||||
+ *icon = LoadImageW(hinst, name, IMAGE_ICON, width, height, 0);
|
||||
+ if (*icon)
|
||||
+ return S_OK;
|
||||
+
|
||||
+ return HRESULT_FROM_WIN32(GetLastError());
|
||||
+}
|
||||
diff --git a/include/commctrl.h b/include/commctrl.h
|
||||
index 0bcaeb6..525f356 100644
|
||||
index 0bcaeb6..662dca1 100644
|
||||
--- a/include/commctrl.h
|
||||
+++ b/include/commctrl.h
|
||||
@@ -1374,6 +1374,12 @@ typedef struct tagTBADDBITMAP {
|
||||
#define HIST_ADDTOFAVORITES 3
|
||||
#define HIST_VIEWTREE 4
|
||||
@@ -42,6 +42,13 @@ BOOL WINAPI InitCommonControlsEx (const INITCOMMONCONTROLSEX*);
|
||||
LANGID WINAPI GetMUILanguage (VOID);
|
||||
VOID WINAPI InitMUILanguage (LANGID uiLang);
|
||||
|
||||
+enum _LI_METRIC
|
||||
+{
|
||||
+ LIM_SMALL,
|
||||
+ LIM_LARGE,
|
||||
+ LIM_SMALL,
|
||||
+ LIM_LARGE
|
||||
+};
|
||||
+
|
||||
typedef struct tagTBSAVEPARAMSA {
|
||||
HKEY hkr;
|
||||
LPCSTR pszSubKey;
|
||||
+HRESULT WINAPI LoadIconMetric(HINSTANCE, const WCHAR *, int, HICON *);
|
||||
HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE, PCWSTR, int, int, HICON *);
|
||||
|
||||
#define COMCTL32_VERSION 5 /* dll version */
|
||||
--
|
||||
2.1.3
|
||||
2.4.5
|
||||
|
||||
|
@@ -1,14 +1,18 @@
|
||||
From 12e3dc5ffa57a18e67e8e30dd5c15e3dc0727e19 Mon Sep 17 00:00:00 2001
|
||||
From 54e59f6203fc4e8ce1a3855f51de9ba179bf7ef5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 7 Aug 2014 01:54:28 +0200
|
||||
Subject: comctl32/tests: Add tests for LoadIconMetric function.
|
||||
|
||||
Changes by Alistair Leslie-Hughes:
|
||||
* Changed PCWSTR, CHAR, INT
|
||||
* Changed LoadIconMetric to pLoadIconMetric
|
||||
(caused a compile error since it's in the header).
|
||||
---
|
||||
dlls/comctl32/tests/misc.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 84 insertions(+)
|
||||
dlls/comctl32/tests/misc.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 60 insertions(+)
|
||||
|
||||
diff --git a/dlls/comctl32/tests/misc.c b/dlls/comctl32/tests/misc.c
|
||||
index 69a7db4..55ea14a 100644
|
||||
index 280b46c..3d2231e 100644
|
||||
--- a/dlls/comctl32/tests/misc.c
|
||||
+++ b/dlls/comctl32/tests/misc.c
|
||||
@@ -20,6 +20,7 @@
|
||||
@@ -23,99 +27,75 @@ index 69a7db4..55ea14a 100644
|
||||
static INT (WINAPI * pStr_GetPtrW)(LPCWSTR, LPWSTR, INT);
|
||||
static BOOL (WINAPI * pStr_SetPtrW)(LPWSTR, LPCWSTR);
|
||||
|
||||
+static HRESULT (WINAPI * LoadIconMetric)(HINSTANCE, PCWSTR, INT, HICON*);
|
||||
+static HRESULT (WINAPI * pLoadIconMetric)(HINSTANCE, const WCHAR *, int, HICON *);
|
||||
+
|
||||
static HMODULE hComctl32 = 0;
|
||||
|
||||
#define COMCTL32_GET_PROC(ordinal, func) \
|
||||
@@ -205,6 +208,86 @@ static void test_TaskDialogIndirect(void)
|
||||
@@ -205,6 +208,62 @@ static void test_TaskDialogIndirect(void)
|
||||
ok(ptr == ptr2, "got wrong pointer for ordinal 345, %p expected %p\n", ptr2, ptr);
|
||||
}
|
||||
|
||||
+static void test_LoadIconMetric(void)
|
||||
+{
|
||||
+ static const WCHAR nonExistingFile[] = {'d','o','e','s','n','o','t','e','x','i','s','t','.','i','c','o','\0'};
|
||||
+ HINSTANCE hinst;
|
||||
+ void *ptr;
|
||||
+ HICON icon;
|
||||
+ static const WCHAR non_existing_fileW[] = {'n','o','n','e','x','i','s','t','i','n','g','.','i','c','o','\0'};
|
||||
+ HRESULT result;
|
||||
+ ICONINFO info;
|
||||
+ BOOL res;
|
||||
+ INT bytes;
|
||||
+ HICON icon;
|
||||
+ BITMAP bmp;
|
||||
+ void *ptr;
|
||||
+ int bytes;
|
||||
+ BOOL res;
|
||||
+
|
||||
+ hinst = LoadLibraryA("comctl32.dll");
|
||||
+
|
||||
+ LoadIconMetric = (void *)GetProcAddress(hinst, "LoadIconMetric");
|
||||
+ if (!LoadIconMetric)
|
||||
+ pLoadIconMetric = (void *)GetProcAddress(hComctl32, "LoadIconMetric");
|
||||
+ if (!pLoadIconMetric)
|
||||
+ {
|
||||
+ win_skip("LoadIconMetric not exported by name\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ptr = GetProcAddress(hinst, (const CHAR*)380);
|
||||
+ ok(ptr == LoadIconMetric, "got wrong pointer for ordinal 380, %p expected %p\n",
|
||||
+ ptr, LoadIconMetric);
|
||||
+ ptr = GetProcAddress(hComctl32, (const char *)380);
|
||||
+ ok(ptr == pLoadIconMetric, "got wrong pointer for ordinal 380, %p expected %p\n",
|
||||
+ ptr, pLoadIconMetric);
|
||||
+
|
||||
+ result = LoadIconMetric(NULL, (PCWSTR)IDI_APPLICATION, LIM_SMALL, &icon);
|
||||
+ ok(result == S_OK, "Expected S_OK, got %x\n", result);
|
||||
+ if (result == S_OK)
|
||||
+ {
|
||||
+ res = GetIconInfo(icon, &info);
|
||||
+ ok(res, "Failed to get icon info\n");
|
||||
+ if (res && info.hbmColor)
|
||||
+ {
|
||||
+ bytes = GetObjectA(info.hbmColor, sizeof(bmp), &bmp);
|
||||
+ ok(bytes > 0, "Failed to get bitmap info for icon\n");
|
||||
+ if (bytes > 0)
|
||||
+ {
|
||||
+ ok(bmp.bmWidth == GetSystemMetrics( SM_CXSMICON ), "Wrong icon width\n");
|
||||
+ ok(bmp.bmHeight == GetSystemMetrics( SM_CYSMICON ), "Wrong icon height\n");
|
||||
+ }
|
||||
+ }
|
||||
+ DestroyIcon(icon);
|
||||
+ }
|
||||
+
|
||||
+ result = LoadIconMetric(NULL, (PCWSTR)IDI_APPLICATION, LIM_LARGE, &icon);
|
||||
+ ok(result == S_OK, "Expected S_OK, got %x\n", result);
|
||||
+ if (result == S_OK)
|
||||
+ {
|
||||
+ res = GetIconInfo(icon, &info);
|
||||
+ ok(res, "Failed to get icon info\n");
|
||||
+ if (res && info.hbmColor)
|
||||
+ {
|
||||
+ bytes = GetObjectA(info.hbmColor, sizeof(bmp), &bmp);
|
||||
+ ok(bytes > 0, "Failed to get bitmap info for icon\n");
|
||||
+ if (bytes > 0)
|
||||
+ {
|
||||
+ ok(bmp.bmWidth == GetSystemMetrics( SM_CXICON ), "Wrong icon width\n");
|
||||
+ ok(bmp.bmHeight == GetSystemMetrics( SM_CYICON ), "Wrong icon height\n");
|
||||
+ }
|
||||
+ }
|
||||
+ DestroyIcon(icon);
|
||||
+ }
|
||||
+
|
||||
+ result = LoadIconMetric(NULL, (PCWSTR)IDI_APPLICATION, 0x100, &icon);
|
||||
+ result = pLoadIconMetric(NULL, MAKEINTRESOURCEW(IDI_APPLICATION), 0x100, &icon);
|
||||
+ ok(result == E_INVALIDARG, "Expected E_INVALIDARG, got %x\n", result);
|
||||
+ if (result == S_OK) DestroyIcon(icon);
|
||||
+
|
||||
+ icon = (HICON)0x1234;
|
||||
+ result = LoadIconMetric(NULL, NULL, LIM_LARGE, &icon);
|
||||
+ result = pLoadIconMetric(NULL, NULL, LIM_LARGE, &icon);
|
||||
+ ok(result == E_INVALIDARG, "Expected E_INVALIDARG, got %x\n", result);
|
||||
+ ok(icon == (HICON)0, "Expected 0x0, got %p\n", icon);
|
||||
+ if (result == S_OK) DestroyIcon(icon);
|
||||
+ ok(icon == NULL, "Expected NULL, got %p\n", icon);
|
||||
+
|
||||
+ result = LoadIconMetric(NULL, nonExistingFile, LIM_LARGE, &icon);
|
||||
+ result = pLoadIconMetric(NULL, non_existing_fileW, LIM_LARGE, &icon);
|
||||
+ ok(result == HRESULT_FROM_WIN32(ERROR_RESOURCE_TYPE_NOT_FOUND),
|
||||
+ "Expected 80070715, got %x\n", result);
|
||||
+ if (result == S_OK) DestroyIcon(icon);
|
||||
+ "Expected HRESULT_FROM_WIN32(ERROR_RESOURCE_TYPE_NOT_FOUND), got %x\n", result);
|
||||
+
|
||||
+ result = pLoadIconMetric(NULL, MAKEINTRESOURCEW(IDI_APPLICATION), LIM_SMALL, &icon);
|
||||
+ ok(result == S_OK, "Expected S_OK, got %x\n", result);
|
||||
+ res = GetIconInfo(icon, &info);
|
||||
+ ok(res, "Failed to get icon info, error %d\n", GetLastError());
|
||||
+ bytes = GetObjectA(info.hbmColor, sizeof(bmp), &bmp);
|
||||
+ ok(bytes > 0, "Failed to get bitmap info for icon\n");
|
||||
+ ok(bmp.bmWidth == GetSystemMetrics(SM_CXSMICON), "Wrong icon width\n");
|
||||
+ ok(bmp.bmHeight == GetSystemMetrics(SM_CYSMICON), "Wrong icon height\n");
|
||||
+ DestroyIcon(icon);
|
||||
+
|
||||
+ result = pLoadIconMetric(NULL, MAKEINTRESOURCEW(IDI_APPLICATION), LIM_LARGE, &icon);
|
||||
+ ok(result == S_OK, "Expected S_OK, got %x\n", result);
|
||||
+ res = GetIconInfo(icon, &info);
|
||||
+ ok(res, "Failed to get icon info, error %d\n", GetLastError());
|
||||
+ bytes = GetObjectA(info.hbmColor, sizeof(bmp), &bmp);
|
||||
+ ok(bytes > 0, "Failed to get bitmap info for icon\n");
|
||||
+ ok(bmp.bmWidth == GetSystemMetrics(SM_CXICON), "Wrong icon width\n");
|
||||
+ ok(bmp.bmHeight == GetSystemMetrics(SM_CYICON), "Wrong icon height\n");
|
||||
+ DestroyIcon(icon);
|
||||
+}
|
||||
+
|
||||
+
|
||||
START_TEST(misc)
|
||||
{
|
||||
ULONG_PTR ctx_cookie;
|
||||
@@ -220,6 +303,7 @@ START_TEST(misc)
|
||||
@@ -220,6 +279,7 @@ START_TEST(misc)
|
||||
return;
|
||||
|
||||
test_TaskDialogIndirect();
|
||||
@@ -124,5 +104,5 @@ index 69a7db4..55ea14a 100644
|
||||
unload_v6_module(ctx_cookie, hCtx);
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
2.4.5
|
||||
|
||||
|
@@ -1,112 +0,0 @@
|
||||
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 +0,0 @@
|
||||
Fixes: [38713] Properly check existence of libunwind before linking against it
|
@@ -1,46 +0,0 @@
|
||||
From 84ef0e10eed439613ce503470eb000f79628fe6c Mon Sep 17 00:00:00 2001
|
||||
From: Austin English <austinenglish@gmail.com>
|
||||
Date: Tue, 23 Dec 2014 18:30:51 -0600
|
||||
Subject: d3d11: add a stub for D3D11CreateDeviceAndSwapChain
|
||||
|
||||
---
|
||||
dlls/d3d11/d3d11.spec | 2 +-
|
||||
dlls/d3d11/d3d11_main.c | 12 ++++++++++++
|
||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3d11/d3d11.spec b/dlls/d3d11/d3d11.spec
|
||||
index 52d7bcb..2d6c877 100644
|
||||
--- a/dlls/d3d11/d3d11.spec
|
||||
+++ b/dlls/d3d11/d3d11.spec
|
||||
@@ -3,7 +3,7 @@
|
||||
@ stub D3D11CoreGetLayeredDeviceSize
|
||||
@ stub D3D11CoreRegisterLayers
|
||||
@ stdcall D3D11CreateDevice(ptr long ptr long ptr long long ptr ptr ptr)
|
||||
-@ stub D3D11CreateDeviceAndSwapChain
|
||||
+@ stdcall D3D11CreateDeviceAndSwapChain(ptr long ptr long ptr long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DKMTCloseAdapter
|
||||
@ stub D3DKMTCreateAllocation
|
||||
@ stub D3DKMTCreateContext
|
||||
diff --git a/dlls/d3d11/d3d11_main.c b/dlls/d3d11/d3d11_main.c
|
||||
index ec8236f..bf8f42f 100644
|
||||
--- a/dlls/d3d11/d3d11_main.c
|
||||
+++ b/dlls/d3d11/d3d11_main.c
|
||||
@@ -54,3 +54,15 @@ HRESULT WINAPI D3D11CreateDevice(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_t
|
||||
flags, feature_levels, levels, sdk_version, device, feature_level, context);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
+
|
||||
+HRESULT WINAPI D3D11CreateDeviceAndSwapChain(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver_type,
|
||||
+ HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels,
|
||||
+ UINT sdk_version, const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain,
|
||||
+ ID3D11Device **device, D3D_FEATURE_LEVEL *feature_level, ID3D11DeviceContext **immediate_context)
|
||||
+{
|
||||
+ FIXME("adapter %p, driver_type %s, swrast %p, flags %#x, feature_levels %p, levels %#x, sdk_version %d, "
|
||||
+ "swapchain_desc %p, swapchain %p, device %p, feature_level %p, immediate_context %p stub!\n",
|
||||
+ adapter, debug_d3d_driver_type(driver_type), swrast, flags, feature_levels, levels, sdk_version,
|
||||
+ swapchain_desc, swapchain, device, feature_level, immediate_context);
|
||||
+ return E_INVALIDARG;
|
||||
+}
|
||||
--
|
||||
2.3.5
|
||||
|
@@ -1,2 +0,0 @@
|
||||
Fixes: [33153] Add stub for d3d11.D3D11CreateDeviceAndSwapChain
|
||||
Category: stable
|
@@ -0,0 +1,57 @@
|
||||
From 13f3dd44fe48a06d9b8dafd4b499383cf17ff3e9 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 23 Jul 2015 19:09:32 +1000
|
||||
Subject: d3dcompiler_43: Add D3DCompileFromFile stub. (try 3)
|
||||
|
||||
---
|
||||
dlls/d3dcompiler_43/compiler.c | 9 +++++++++
|
||||
dlls/d3dcompiler_46/d3dcompiler_46.spec | 2 +-
|
||||
dlls/d3dcompiler_47/d3dcompiler_47.spec | 2 +-
|
||||
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c
|
||||
index 114b4c1..5dce856 100644
|
||||
--- a/dlls/d3dcompiler_43/compiler.c
|
||||
+++ b/dlls/d3dcompiler_43/compiler.c
|
||||
@@ -763,3 +763,12 @@ HRESULT WINAPI D3DDisassemble(const void *data, SIZE_T size, UINT flags, const c
|
||||
data, size, flags, comments, disassembly);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+
|
||||
+HRESULT WINAPI D3DCompileFromFile(const WCHAR *filename, const D3D_SHADER_MACRO *defines, ID3DInclude *includes,
|
||||
+ const char *entrypoint, const char *target, UINT flags1, UINT flags2, ID3DBlob **code, ID3DBlob **errors)
|
||||
+{
|
||||
+ FIXME("filename %s, defines %p, includes %p, entrypoint %s, target %s, flags1 %x, flags2 %x, code %p, errors %p\n",
|
||||
+ debugstr_w(filename), defines, includes, debugstr_a(entrypoint), debugstr_a(target), flags1, flags2, code, errors);
|
||||
+
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
diff --git a/dlls/d3dcompiler_46/d3dcompiler_46.spec b/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
index 5811b40..e36a8c0 100644
|
||||
--- a/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
+++ b/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
@@ -1,7 +1,7 @@
|
||||
@ stdcall D3DAssemble(ptr long str ptr ptr long ptr ptr)
|
||||
@ stdcall D3DCompile(ptr long str ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompile2
|
||||
-@ stub D3DCompileFromFile
|
||||
+@ stdcall D3DCompileFromFile(wstr ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompressShaders
|
||||
@ stdcall D3DCreateBlob(long ptr)
|
||||
@ stub D3DDecompressShaders
|
||||
diff --git a/dlls/d3dcompiler_47/d3dcompiler_47.spec b/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
index 40ad977..a0df93e 100644
|
||||
--- a/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
+++ b/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
@@ -1,7 +1,7 @@
|
||||
@ stdcall D3DAssemble(ptr long str ptr ptr long ptr ptr)
|
||||
@ stdcall D3DCompile(ptr long str ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompile2
|
||||
-@ stub D3DCompileFromFile
|
||||
+@ stdcall D3DCompileFromFile(wstr ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompressShaders
|
||||
@ stdcall D3DCreateBlob(long ptr)
|
||||
@ stub D3DCreateFunctionLinkingGraph
|
||||
--
|
||||
2.4.5
|
||||
|
@@ -0,0 +1,90 @@
|
||||
From 8e9d8ee497c06533082707f091339a20f2af5be1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 29 Jul 2015 17:58:02 +0200
|
||||
Subject: d3dcompiler_43: Implement semi-stub for D3DCompile2.
|
||||
|
||||
---
|
||||
dlls/d3dcompiler_43/compiler.c | 28 ++++++++++++++++++++++++----
|
||||
dlls/d3dcompiler_46/d3dcompiler_46.spec | 2 +-
|
||||
dlls/d3dcompiler_47/d3dcompiler_47.spec | 2 +-
|
||||
3 files changed, 26 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c
|
||||
index 5dce856..33ef916 100644
|
||||
--- a/dlls/d3dcompiler_43/compiler.c
|
||||
+++ b/dlls/d3dcompiler_43/compiler.c
|
||||
@@ -692,16 +692,23 @@ static HRESULT compile_shader(const char *preproc_shader, const char *target, co
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
-HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename,
|
||||
+HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filename,
|
||||
const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
|
||||
- const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages)
|
||||
+ const char *target, UINT sflags, UINT eflags, UINT secondary_flags,
|
||||
+ const void *secondary_data, SIZE_T secondary_data_size, ID3DBlob **shader,
|
||||
+ ID3DBlob **error_messages)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("data %p, data_size %lu, filename %s, defines %p, include %p, entrypoint %s,\n"
|
||||
- "target %s, sflags %#x, eflags %#x, shader %p, error_messages %p\n",
|
||||
+ "target %s, sflags %#x, eflags %#x, secondary_flags %#x, secondary_data %p,\n"
|
||||
+ "secondary_data_size %lu, shader %p, error_messages %p\n",
|
||||
data, data_size, debugstr_a(filename), defines, include, debugstr_a(entrypoint),
|
||||
- debugstr_a(target), sflags, eflags, shader, error_messages);
|
||||
+ debugstr_a(target), sflags, eflags, secondary_flags, secondary_data,
|
||||
+ secondary_data_size, shader, error_messages);
|
||||
+
|
||||
+ if (secondary_data)
|
||||
+ FIXME("secondary data not implemented yet\n");
|
||||
|
||||
if (shader) *shader = NULL;
|
||||
if (error_messages) *error_messages = NULL;
|
||||
@@ -717,6 +724,19 @@ HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filena
|
||||
return hr;
|
||||
}
|
||||
|
||||
+HRESULT WINAPI D3DCompile(const void *data, SIZE_T data_size, const char *filename,
|
||||
+ const D3D_SHADER_MACRO *defines, ID3DInclude *include, const char *entrypoint,
|
||||
+ const char *target, UINT sflags, UINT eflags, ID3DBlob **shader, ID3DBlob **error_messages)
|
||||
+{
|
||||
+ TRACE("data %p, data_size %lu, filename %s, defines %p, include %p, entrypoint %s,\n"
|
||||
+ "target %s, sflags %#x, eflags %#x, shader %p, error_messages %p\n",
|
||||
+ data, data_size, debugstr_a(filename), defines, include, debugstr_a(entrypoint),
|
||||
+ debugstr_a(target), sflags, eflags, shader, error_messages);
|
||||
+
|
||||
+ return D3DCompile2(data, data_size, filename, defines, include, entrypoint, target, sflags,
|
||||
+ eflags, 0, NULL, 0, shader, error_messages);
|
||||
+}
|
||||
+
|
||||
HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename,
|
||||
const D3D_SHADER_MACRO *defines, ID3DInclude *include,
|
||||
ID3DBlob **shader, ID3DBlob **error_messages)
|
||||
diff --git a/dlls/d3dcompiler_46/d3dcompiler_46.spec b/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
index e36a8c0..1b145c8a 100644
|
||||
--- a/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
+++ b/dlls/d3dcompiler_46/d3dcompiler_46.spec
|
||||
@@ -1,6 +1,6 @@
|
||||
@ stdcall D3DAssemble(ptr long str ptr ptr long ptr ptr)
|
||||
@ stdcall D3DCompile(ptr long str ptr ptr str str long long ptr ptr)
|
||||
-@ stub D3DCompile2
|
||||
+@ stdcall D3DCompile2(ptr long str ptr ptr str str long long long ptr long ptr ptr)
|
||||
@ stdcall D3DCompileFromFile(wstr ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompressShaders
|
||||
@ stdcall D3DCreateBlob(long ptr)
|
||||
diff --git a/dlls/d3dcompiler_47/d3dcompiler_47.spec b/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
index a0df93e..efa4767 100644
|
||||
--- a/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
+++ b/dlls/d3dcompiler_47/d3dcompiler_47.spec
|
||||
@@ -1,6 +1,6 @@
|
||||
@ stdcall D3DAssemble(ptr long str ptr ptr long ptr ptr)
|
||||
@ stdcall D3DCompile(ptr long str ptr ptr str str long long ptr ptr)
|
||||
-@ stub D3DCompile2
|
||||
+@ stdcall D3DCompile2(ptr long str ptr ptr str str long long long ptr long ptr ptr)
|
||||
@ stdcall D3DCompileFromFile(wstr ptr ptr str str long long ptr ptr)
|
||||
@ stub D3DCompressShaders
|
||||
@ stdcall D3DCreateBlob(long ptr)
|
||||
--
|
||||
2.4.5
|
||||
|
1
patches/d3dcompiler_43-D3DCompile/definition
Normal file
1
patches/d3dcompiler_43-D3DCompile/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Add stubs for D3DCompile2 and D3DCompileFromFile
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user