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
23 Commits
v8.9
...
v1.8.2-uno
Author | SHA1 | Date | |
---|---|---|---|
|
35b9051d1c | ||
|
7e776b7a90 | ||
|
24dcca66e3 | ||
|
9118e47cd3 | ||
|
8ae4e4601d | ||
|
21efb9c6f2 | ||
|
4c11d0c812 | ||
|
d7546964c7 | ||
|
766590c481 | ||
|
5ed04faa06 | ||
|
dbaf56b01c | ||
|
7145f11c99 | ||
|
819a64744e | ||
|
5bcbac4982 | ||
|
ed7fe13391 | ||
|
740b727a94 | ||
|
33c9d17dee | ||
|
5d4124c92b | ||
|
02d83cab14 | ||
|
7fc4595aaa | ||
|
364cd111e2 | ||
|
e9f11bd51b | ||
|
15f62469af |
@@ -7,7 +7,7 @@ are part of **Wine Staging** and are licensed under the terms of the
|
||||
[LGPLv2.1](#gnu-lgpl-version-21), to stay compatible with Wine:
|
||||
|
||||
```
|
||||
Copyright (C) 2014-2015 the Wine Staging project authors.
|
||||
Copyright (C) 2014-2016 the Wine Staging project authors.
|
||||
|
||||
Wine Staging is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
|
374
README.md
374
README.md
@@ -8,307 +8,93 @@ to give developers the possibility to discuss and improve their patches before
|
||||
they are integrated into the main branch. More information about Wine Staging
|
||||
can also be found on our website [wine-staging.com](http://wine-staging.com).
|
||||
|
||||
Although we are reviewing and testing all patches carefully before adding them,
|
||||
you may encounter additional bugs, which are not present in the development
|
||||
branch. Do not hesitate to report such issues at winehq.org, so they can be
|
||||
fixed before the feature gets integrated.
|
||||
Installation
|
||||
------------
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety of Linux
|
||||
distributions and for Mac OS X. Just follow the
|
||||
[installation instructions](https://github.com/wine-compholio/wine-staging/wiki/Installation)
|
||||
for your operating system.
|
||||
|
||||
How to install and use Wine Staging
|
||||
-----------------------------------
|
||||
On most distributions the `wine-staging` package is installed to
|
||||
`/opt/wine-staging`, such that multiple Wine versions can be installed in
|
||||
parallel. If this is the case for your distribution, you will have to type
|
||||
`/opt/wine-staging/bin/wine` instead of just `wine`. The same also applies for
|
||||
other wine-specific programs like `winecfg`. To learn more about how to use
|
||||
Wine Staging, please take a look at the
|
||||
[usage instructions](https://github.com/wine-compholio/wine-staging/wiki/Usage).
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions available on the
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
|
||||
Reporting bugs
|
||||
--------------
|
||||
|
||||
When using Wine Staging there are a few differences compared to regular
|
||||
Wine. The main difference is that it is not sufficient to type `wine` to
|
||||
run it, but instead you will have to type `/opt/wine-staging/bin/wine`.
|
||||
Besides that there are also some other differences, for example additional
|
||||
configuration options to tweak performance, which are not available in regular
|
||||
Wine. All those differences are also documented on the
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Usage).
|
||||
Since WineConf 2015 Wine Staging is an official part of WineHQ, which means you
|
||||
can report problems directly at https://bugs.winehq.org/. Most of the time bugs
|
||||
found in Wine Staging also turn out to be present in the development branch, so
|
||||
its recommended to open your bug in the "Wine" product, unless you are sure its
|
||||
really "Wine Staging" specific. For problems with our binary packages, please
|
||||
also open a bug report there.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
Wine Staging is maintained as a set of patches which has to be applied on top of
|
||||
the development branch. In order to build Wine Staging, the first step is to
|
||||
setup a build environment for Wine, including all required dependencies. A lot
|
||||
of information about that is collected in the
|
||||
[WineHQ Wiki](http://wiki.winehq.org/BuildingWine).
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.8 [268]:**
|
||||
In order to apply all Wine Staging patches it is recommended to use the
|
||||
`patchinstall.sh` utility which takes care of applying all patches in the
|
||||
correct order. For reference, the possible commandline arguments are:
|
||||
|
||||
*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
|
||||
are included upstream. The list also includes features and fixes from previous
|
||||
releases, take a look at the
|
||||
[changelog](https://github.com/wine-compholio/wine-staging/blob/master/staging/changelog)
|
||||
for more details.*
|
||||
```
|
||||
Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]
|
||||
|
||||
* Add IDragSourceHelper stub interface ([Wine Bug #24699](https://bugs.winehq.org/show_bug.cgi?id=24699))
|
||||
* Add IHTMLLocation::hash property's getter implementation ([Wine Bug #32967](https://bugs.winehq.org/show_bug.cgi?id=32967))
|
||||
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
|
||||
* Add a stub driver for tdi.sys ([Wine Bug #35693](https://bugs.winehq.org/show_bug.cgi?id=35693))
|
||||
* Add implementation for comctl32.PROPSHEET_InsertPage. ([Wine Bug #25625](https://bugs.winehq.org/show_bug.cgi?id=25625))
|
||||
* Add implementation for mfplat.MFTEnum ([Wine Bug #39309](https://bugs.winehq.org/show_bug.cgi?id=39309))
|
||||
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
|
||||
* Add implementation for msidb commandline tool
|
||||
* Add implementation for shlwapi.AssocGetPerceivedType
|
||||
* Add nvapi stubs required for GPU PhysX support
|
||||
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
|
||||
* Add semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466))
|
||||
* Add shell32 placeholder icons to match offsets with Windows ([Wine Bug #30185](https://bugs.winehq.org/show_bug.cgi?id=30185))
|
||||
* Add stub dlls required for MSVC 2015 runtime library (Windows 10)
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for SetCoalescableTimer ([Wine Bug #39509](https://bugs.winehq.org/show_bug.cgi?id=39509))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
* Add stub for ntoskrnl.ExReleaseResourceForThread
|
||||
* Add stub for ntoskrnl.KeWaitForMultipleObjects ([Wine Bug #32186](https://bugs.winehq.org/show_bug.cgi?id=32186))
|
||||
* Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
|
||||
* Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine
|
||||
* Add stub for setupapi.SetupDiSelectBestCompatDrv ([Wine Bug #32088](https://bugs.winehq.org/show_bug.cgi?id=32088))
|
||||
* 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 winspool.SetPrinterW level 8 ([Wine Bug #24645](https://bugs.winehq.org/show_bug.cgi?id=24645))
|
||||
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
|
||||
* Add stub kernel32.FreeUserPhysicalPages ([Wine Bug #39543](https://bugs.winehq.org/show_bug.cgi?id=39543))
|
||||
* Add stubbed ISWbemSecurity interfaces in wbemdisp
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add stubs for additional wininet options in InternetSetOption
|
||||
* Add stubs for advapi32.RegCreateKeyTransacted[A/W]
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GTK3 theming
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* 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 non-nullterminated string as working directory in kernel32.create_startup_info
|
||||
* Allow selection of audio device for PulseAudio backend
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
|
||||
* 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 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 debug registers separately in NtSetContextThread ([Wine Bug #39454](https://bugs.winehq.org/show_bug.cgi?id=39454))
|
||||
* Allow to set pixel format for desktop window
|
||||
* Allow to specify default display frequency in registry
|
||||
* Also send WM_CAPTURECHANGE when capture has not changed ([Wine Bug #13683](https://bugs.winehq.org/show_bug.cgi?id=13683))
|
||||
* Always use 64-bit registry view on WOW64 setups
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
|
||||
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
* 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 write watches in WS2_async_accept.
|
||||
* Basic handling of write watches triggered while we're on the signal stack.
|
||||
* Basic support for CUDA
|
||||
* 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))
|
||||
* Catch invalid memory accesses in imagehlp.CheckSumMappedFile
|
||||
* Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021))
|
||||
* Check handle type for HSPFILEQ handles ([Wine Bug #12332](https://bugs.winehq.org/show_bug.cgi?id=12332))
|
||||
* Codepage conversion should fail when destination length is < 0
|
||||
* CompareString should abort on first non-matching character ([Wine Bug #37556](https://bugs.winehq.org/show_bug.cgi?id=37556))
|
||||
* Create Microsoft\Windows\Themes directory during Wineprefix creation ([Wine Bug #34910](https://bugs.winehq.org/show_bug.cgi?id=34910))
|
||||
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
|
||||
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not allow interruption of system APC in server_select ([Wine Bug #14697](https://bugs.winehq.org/show_bug.cgi?id=14697))
|
||||
* Do not allow to deallocate thread stack for current thread
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* Do not hold reference on parent process in wineserver ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Do not signal threads until they are really gone
|
||||
* Do not use unixfs for devices without mountpoint
|
||||
* Do not wait for hook thread startup in IDirectInput8::Initialize ([Wine Bug #21403](https://bugs.winehq.org/show_bug.cgi?id=21403))
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
|
||||
* Ensure default route IP addresses are returned first in gethostbyname ([Wine Bug #22819](https://bugs.winehq.org/show_bug.cgi?id=22819))
|
||||
* 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
|
||||
* Fake success in IViewObject::Draw stub ([Wine Bug #30611](https://bugs.winehq.org/show_bug.cgi?id=30611))
|
||||
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
|
||||
* Fallback to default comspec when %COMSPEC% is not set
|
||||
* Fallback to system ping command when CAP_NET_RAW is not available ([Wine Bug #8332](https://bugs.winehq.org/show_bug.cgi?id=8332))
|
||||
* Fix broken textures in XIII Century: Death or Glory ([Wine Bug #25419](https://bugs.winehq.org/show_bug.cgi?id=25419))
|
||||
* Fix calculation of listbox size when horizontal scrollbar is present ([Wine Bug #38142](https://bugs.winehq.org/show_bug.cgi?id=38142))
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* Fix detection of case-insensitive systems in MSYS2
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix error handling in DeferWindowPos when passing an invalid HWND ([Wine Bug #23187](https://bugs.winehq.org/show_bug.cgi?id=23187))
|
||||
* Fix font loading in Capella ([Wine Bug #12377](https://bugs.winehq.org/show_bug.cgi?id=12377))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
* Fix graphical corruption in FarCry 3 with NVIDIA drivers ([Wine Bug #35062](https://bugs.winehq.org/show_bug.cgi?id=35062))
|
||||
* 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 window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
|
||||
* Fix implementation of NtQueryInformationProcess for ProcessDebugFlags
|
||||
* Fix implementation of msvcrt.close when stdout == stderr
|
||||
* Fix issue causing applications to report magic loopback address instead of real IP ([Wine Bug #37271](https://bugs.winehq.org/show_bug.cgi?id=37271))
|
||||
* 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 multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087))
|
||||
* Fix possible leak of explorer.exe processes and implement proper desktop refcounting
|
||||
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
|
||||
* Fix race-condition when threads are killed during shutdown
|
||||
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
|
||||
* Fix scaling behaviour of images and mipmap levels in IDirect3DTexture2_Load (needed for example by Prezzie Hunt)
|
||||
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
|
||||
* Fix the initialization of combined DACLs when the new DACL is empty ([Wine Bug #38423](https://bugs.winehq.org/show_bug.cgi?id=38423))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix wrong colors in Wolfenstein (2009) ([Wine Bug #34692](https://bugs.winehq.org/show_bug.cgi?id=34692))
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
* Ignore socket type for protocol IPPROTO_IPV6 in getaddrinfo
|
||||
* Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090))
|
||||
* Implement D3DXGetShaderOutputSemantics
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement FileNamesInformation class support for NtQueryDirectoryFile
|
||||
* Implement FolderImpl_Items and stubbed FolderItems interface
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement SystemHandleInformation info class
|
||||
* Implement a Courier New replacement font ([Wine Bug #20456](https://bugs.winehq.org/show_bug.cgi?id=20456))
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement a Times New Roman replacement font ([Wine Bug #32342](https://bugs.winehq.org/show_bug.cgi?id=32342))
|
||||
* Implement additional stub functions in authz.dll
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement dinput device property DIPROP_USERNAME ([Wine Bug #39667](https://bugs.winehq.org/show_bug.cgi?id=39667))
|
||||
* Implement enumeration of sound devices and basic properties to dxdiagn ([Wine Bug #32613](https://bugs.winehq.org/show_bug.cgi?id=32613))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement general tab for file property dialog
|
||||
* Implement hal.KeQueryPerformanceCounter ([Wine Bug #39500](https://bugs.winehq.org/show_bug.cgi?id=39500))
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement marshalling for TKIND_COCLASS ([Wine Bug #19016](https://bugs.winehq.org/show_bug.cgi?id=19016))
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
* Implement ntoskrnl.KeInitializeMutex
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
* Implement shell32 NewMenu class with new folder item ([Wine Bug #24812](https://bugs.winehq.org/show_bug.cgi?id=24812))
|
||||
* Implement special handling for calling GetChildContainer with an empty string ([Wine Bug #38014](https://bugs.winehq.org/show_bug.cgi?id=38014))
|
||||
* Implement stub for ProcessQuotaLimits info class
|
||||
* Implement stub for hid.HidP_TranslateUsagesToI8042ScanCodes ([Wine Bug #39447](https://bugs.winehq.org/show_bug.cgi?id=39447))
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubless proxies on x86_64 ([Wine Bug #26768](https://bugs.winehq.org/show_bug.cgi?id=26768))
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Implement support for "Purist Mode" (override for all dlls)
|
||||
* Improve INetFwAuthorizedApplication::get_ProcessImageFileName stub
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
* Improve detection of symbol charset for old truetype fonts ([Wine Bug #33117](https://bugs.winehq.org/show_bug.cgi?id=33117))
|
||||
* Improve startup performance by delaying font initialization
|
||||
* 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
|
||||
* Improve stubs for dxgi MakeWindowAssociation and GetWindowAssociation
|
||||
* Improvement for heap allocation performance
|
||||
* Initial implementation of wusa.exe (MSU package installer) ([Wine Bug #26757](https://bugs.winehq.org/show_bug.cgi?id=26757))
|
||||
* 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))
|
||||
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
|
||||
* Make ddraw1 and ddraw_surface1 vtable as writable ([Wine Bug #39534](https://bugs.winehq.org/show_bug.cgi?id=39534))
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* Map EXDEV error code to STATUS_NOT_SAME_DEVICE
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
* Only set SFGAO_HASSUBFOLDER when there are really subfolders ([Wine Bug #24851](https://bugs.winehq.org/show_bug.cgi?id=24851))
|
||||
* 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
|
||||
* Properly close sockets when WSACleanup is called ([Wine Bug #18670](https://bugs.winehq.org/show_bug.cgi?id=18670))
|
||||
* Properly handle multiple registry notifications per key
|
||||
* Properly implement GetLargestConsoleWindowSize ([Wine Bug #10919](https://bugs.winehq.org/show_bug.cgi?id=10919))
|
||||
* Properly implement imagehlp.ImageLoad and ImageUnload ([Wine Bug #23455](https://bugs.winehq.org/show_bug.cgi?id=23455))
|
||||
* Properly initialize caps->dwZBufferBitDepths in ddraw7_GetCaps ([Wine Bug #27002](https://bugs.winehq.org/show_bug.cgi?id=27002))
|
||||
* Properly render themed buttons when they are pressed ([Wine Bug #37584](https://bugs.winehq.org/show_bug.cgi?id=37584))
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called ([Wine Bug #21855](https://bugs.winehq.org/show_bug.cgi?id=21855))
|
||||
* Report correct ObjectName for NamedPipe wineserver objects
|
||||
* Return STATUS_INVALID_DEVICE_REQUEST when trying to call NtReadFile on directory
|
||||
* Return WN_NOT_CONNECTED from WNetGetUniversalName REMOTE_NAME_INFO_LEVEL stub ([Wine Bug #39452](https://bugs.winehq.org/show_bug.cgi?id=39452))
|
||||
* Return a valid mesh in D3DXCreateTeapot ([Wine Bug #36884](https://bugs.winehq.org/show_bug.cgi?id=36884))
|
||||
* Return 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 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
|
||||
* SHFileOperation with FO_MOVE should create new directory on Vista+ ([Wine Bug #25207](https://bugs.winehq.org/show_bug.cgi?id=25207))
|
||||
* SO_CONNECT_TIME returns the appropriate time
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set EOF on file which has a memory mapping should fail
|
||||
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
|
||||
* 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 FIXME message in surface_cpu_blt
|
||||
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
|
||||
* 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)
|
||||
* Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice ([Wine Bug #35824](https://bugs.winehq.org/show_bug.cgi?id=35824))
|
||||
* 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 AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
* Support for CSMT (command stream) to increase graphic performance ([Wine Bug #11674](https://bugs.winehq.org/show_bug.cgi?id=11674))
|
||||
* Support for CUDA GPU video decoding
|
||||
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
|
||||
* 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 GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* 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 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 MPEG2 DXVA2 GPU video decoding through vaapi
|
||||
* Support for NVIDIA video encoder library (nvencodeapi)
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
|
||||
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
|
||||
* Support for inherited file ACLs
|
||||
* Support for linux priority levels for faster performance
|
||||
* Support for loader dll redirections
|
||||
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
|
||||
* Support for pasting HTML from Unix applications ([Wine Bug #7372](https://bugs.winehq.org/show_bug.cgi?id=7372))
|
||||
* Support for process ACLs ([Wine Bug #22006](https://bugs.winehq.org/show_bug.cgi?id=22006))
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
|
||||
* Support for shell32 file operation progress dialog
|
||||
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
|
||||
* Support for ws2_32.dll.WSAPoll ([Wine Bug #38601](https://bugs.winehq.org/show_bug.cgi?id=38601))
|
||||
* 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 video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906))
|
||||
* Use wrapper functions for syscalls to appease Chromium sandbox (32-bit) ([Wine Bug #39403](https://bugs.winehq.org/show_bug.cgi?id=39403))
|
||||
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
|
||||
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
|
||||
* Workaround for shlwapi URLs with relative paths
|
||||
* XEMBED support for embedding Wine windows inside Linux applications
|
||||
* eRacer Demo doesn't correctly display text ([Wine Bug #29598](https://bugs.winehq.org/show_bug.cgi?id=29598))
|
||||
* ntdll is missing WinSqm[Start|End]Session implementation ([Wine Bug #31971](https://bugs.winehq.org/show_bug.cgi?id=31971))
|
||||
Autogenerated script to apply all Wine Staging patches on your Wine
|
||||
source tree.
|
||||
|
||||
Configuration:
|
||||
DESTDIR=path Specify the path to the wine source tree
|
||||
--all Select all patches
|
||||
--force-autoconf Run autoreconf and tools/make_requests after each patch
|
||||
--help Display this help and exit
|
||||
--no-autoconf Do not run autoreconf and tools/make_requests
|
||||
--no-patchlist Do not apply patchlist (needed for 'wine --patches')
|
||||
--upstream-commit Print the upstream Wine commit SHA1 and exit
|
||||
--version Show version information and exit
|
||||
-W patchset Exclude a specific patchset
|
||||
|
||||
Backends:
|
||||
--backend=patch Use regular 'patch' utility to apply patches (default)
|
||||
--backend=epatch Use 'epatch' to apply patches (Gentoo only)
|
||||
--backend=git-am Use 'git am' to apply patches
|
||||
--backend=git-apply Use 'git apply' to apply patches
|
||||
--backend=stg Import the patches using stacked git
|
||||
```
|
||||
|
||||
If you want to apply *all* patches with the `patch` utility, the commandline
|
||||
should look similar to this:
|
||||
```
|
||||
./patches/patchinstall.sh DESTDIR="/path/to/wine" --all
|
||||
```
|
||||
|
||||
Before you proceed with the compilation, please make sure that you installed all
|
||||
additional build dependencies required for the Wine Staging features you are
|
||||
interested in (check output of `./configure`). More information about building
|
||||
Wine Staging, optional build dependencies, and hints for packagers are collected
|
||||
in our [Wiki](https://github.com/wine-compholio/wine-staging/wiki/Packaging).
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
Wine Staging mainly concentrates on experimental features and patches which are
|
||||
difficult to get into the development branch. If you have a very simple bug fix
|
||||
including tests, there is usually no need to send it to Wine Staging. You can
|
||||
directly contribute it to the
|
||||
[development branch](http://wiki.winehq.org/SubmittingPatches). However, if you
|
||||
already tried that without success, or are working on such a complex area that
|
||||
you do not really think its ready for inclusion, you might want to submit it to
|
||||
our Staging tree. Please open a patch submission request on
|
||||
[bugs.wine-staging.com](https://bugs.wine-staging.com/) including the patch.
|
||||
More information is also available in our
|
||||
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Contributing).
|
||||
|
@@ -1,12 +1,12 @@
|
||||
From 7cb209e122fc503190dcad411483147ebc6d6cb4 Mon Sep 17 00:00:00 2001
|
||||
From 940f22fae1e118faab3aa2926d050ad3c84a3e79 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 11 Nov 2014 03:11:33 +0100
|
||||
Subject: ntdll: Implement emulation of SIDT instruction when using Exagear.
|
||||
|
||||
---
|
||||
configure.ac | 8 ++
|
||||
dlls/ntdll/signal_i386.c | 224 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 232 insertions(+)
|
||||
dlls/ntdll/signal_i386.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 231 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 92d78a2..c88a139 100644
|
||||
@@ -20,7 +20,7 @@ index 92d78a2..c88a139 100644
|
||||
|
||||
AC_ARG_WITH(alsa, AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]),
|
||||
[if test "x$withval" = "xno"; then ac_cv_header_sys_asoundlib_h=no; ac_cv_header_alsa_asoundlib_h=no; fi])
|
||||
@@ -367,6 +368,13 @@ fi
|
||||
@@ -363,6 +364,13 @@ fi
|
||||
WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],
|
||||
[gettext tools not found (or too old), translations won't be built.])
|
||||
|
||||
@@ -35,7 +35,7 @@ index 92d78a2..c88a139 100644
|
||||
|
||||
dnl Check for -li386 for NetBSD and OpenBSD
|
||||
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
|
||||
index 13df4bb..edf5ea8 100644
|
||||
index 5708aae..f27ce56 100644
|
||||
--- a/dlls/ntdll/signal_i386.c
|
||||
+++ b/dlls/ntdll/signal_i386.c
|
||||
@@ -96,6 +96,14 @@ typedef struct
|
||||
@@ -53,11 +53,10 @@ index 13df4bb..edf5ea8 100644
|
||||
/***********************************************************************
|
||||
* signal context platform-specific definitions
|
||||
*/
|
||||
@@ -1573,6 +1581,214 @@ static inline DWORD is_privileged_instr( CONTEXT *context )
|
||||
}
|
||||
@@ -1898,6 +1906,213 @@ static inline DWORD get_fpu_code( const CONTEXT *context )
|
||||
}
|
||||
|
||||
+
|
||||
|
||||
+#ifdef EXAGEAR_COMPAT
|
||||
+
|
||||
+/***********************************************************************
|
||||
@@ -265,10 +264,10 @@ index 13df4bb..edf5ea8 100644
|
||||
+#endif /* EXAGEAR_COMPAT */
|
||||
+
|
||||
+
|
||||
/***********************************************************************
|
||||
* check_invalid_gs
|
||||
*
|
||||
@@ -1902,6 +2118,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
|
||||
/**********************************************************************
|
||||
* raise_segv_exception
|
||||
*/
|
||||
@@ -1907,6 +2122,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
|
||||
|
||||
switch(rec->ExceptionCode)
|
||||
{
|
||||
@@ -284,5 +283,5 @@ index 13df4bb..edf5ea8 100644
|
||||
if (rec->NumberParameters == 2)
|
||||
{
|
||||
--
|
||||
2.1.3
|
||||
2.7.1
|
||||
|
||||
|
@@ -29,7 +29,7 @@ index 758ba43..7ccd3a1 100644
|
||||
wined3d_wndproc_mutex_unlock();
|
||||
}
|
||||
|
||||
+void wined3d_strictdrawing_set(int value)
|
||||
+void CDECL wined3d_strictdrawing_set(int value)
|
||||
+{
|
||||
+ wined3d_settings.strict_draw_ordering = value;
|
||||
+}
|
||||
|
@@ -918,7 +918,7 @@ index 6dbf8c0..9a9fe47 100644
|
||||
+
|
||||
+-----------------------------------------------------------------------
|
||||
+
|
||||
Copyright (c) 1993-2015 the Wine project authors (see the file AUTHORS
|
||||
Copyright (c) 1993-2016 the Wine project authors (see the file AUTHORS
|
||||
for a complete list)
|
||||
|
||||
Wine is free software; you can redistribute it and/or modify it under
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Wrapper to apply binary patches without git.
|
||||
#
|
||||
# Copyright (C) 2014-2015 Sebastian Lackner
|
||||
# Copyright (C) 2014-2016 Sebastian Lackner
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@@ -237,7 +237,7 @@ awk_eof_header='
|
||||
BEGIN{
|
||||
ofs=1;
|
||||
}
|
||||
!/^(--- |\+\+\+ |old |new |copy |rename |similarity |index |GIT |literal |delta )/{
|
||||
!/^(--- |\+\+\+ |old |deleted |new |copy |rename |similarity |index |GIT |literal |delta )/{
|
||||
ofs=0; exit 0;
|
||||
}
|
||||
END{
|
||||
|
@@ -1,64 +0,0 @@
|
||||
From 8e2f184541d44755fa67a43e4d8cf8debeeafc82 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 13 Nov 2015 20:36:54 +0800
|
||||
Subject: kernel32: CompareStringW should abort on the first nonmatching
|
||||
character to avoid invalid memory access.
|
||||
|
||||
For bug 37556.
|
||||
|
||||
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
---
|
||||
libs/wine/sortkey.c | 15 ++++++---------
|
||||
1 file changed, 6 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/libs/wine/sortkey.c b/libs/wine/sortkey.c
|
||||
index 17b5537..c459cea 100644
|
||||
--- a/libs/wine/sortkey.c
|
||||
+++ b/libs/wine/sortkey.c
|
||||
@@ -223,6 +223,8 @@ static inline int compare_unicode_weights(int flags, const WCHAR *str1, int len1
|
||||
len1--;
|
||||
len2--;
|
||||
}
|
||||
+ if (len1 && !*str1) len1--;
|
||||
+ if (len2 && !*str2) len2--;
|
||||
return len1 - len2;
|
||||
}
|
||||
|
||||
@@ -272,6 +274,8 @@ static inline int compare_diacritic_weights(int flags, const WCHAR *str1, int le
|
||||
len1--;
|
||||
len2--;
|
||||
}
|
||||
+ if (len1 && !*str1) len1--;
|
||||
+ if (len2 && !*str2) len2--;
|
||||
return len1 - len2;
|
||||
}
|
||||
|
||||
@@ -321,23 +325,16 @@ static inline int compare_case_weights(int flags, const WCHAR *str1, int len1,
|
||||
len1--;
|
||||
len2--;
|
||||
}
|
||||
+ if (len1 && !*str1) len1--;
|
||||
+ if (len2 && !*str2) len2--;
|
||||
return len1 - len2;
|
||||
}
|
||||
|
||||
-static inline int real_length(const WCHAR *str, int len)
|
||||
-{
|
||||
- while (len && !str[len - 1]) len--;
|
||||
- return len;
|
||||
-}
|
||||
-
|
||||
int wine_compare_string(int flags, const WCHAR *str1, int len1,
|
||||
const WCHAR *str2, int len2)
|
||||
{
|
||||
int ret;
|
||||
|
||||
- len1 = real_length(str1, len1);
|
||||
- len2 = real_length(str2, len2);
|
||||
-
|
||||
ret = compare_unicode_weights(flags, str1, len1, str2, len2);
|
||||
if (!ret)
|
||||
{
|
||||
--
|
||||
2.6.2
|
||||
|
@@ -1,31 +0,0 @@
|
||||
From 9261fada866235424392ac94d78e2d3a3a02ecc7 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 14 Nov 2015 20:43:39 +0100
|
||||
Subject: kernel32/tests: Add some more tests for NORM_IGNORESYMBOLS.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/locale.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
|
||||
index 7b0212e..a70dc13 100644
|
||||
--- a/dlls/kernel32/tests/locale.c
|
||||
+++ b/dlls/kernel32/tests/locale.c
|
||||
@@ -1634,7 +1634,13 @@ static const struct comparestringa_entry comparestringa_data[] = {
|
||||
{ LOCALE_SYSTEM_DEFAULT, SORT_STRINGSORT, "'o", -1, "/m", -1, CSTR_LESS_THAN },
|
||||
{ LOCALE_SYSTEM_DEFAULT, SORT_STRINGSORT, "/m", -1, "'o", -1, CSTR_GREATER_THAN },
|
||||
{ LOCALE_SYSTEM_DEFAULT, 0, "aLuZkUtZ", 8, "aLuZkUtZ", 9, CSTR_EQUAL },
|
||||
- { LOCALE_SYSTEM_DEFAULT, 0, "aLuZkUtZ", 7, "aLuZkUtZ\0A", 10, CSTR_LESS_THAN }
|
||||
+ { LOCALE_SYSTEM_DEFAULT, 0, "aLuZkUtZ", 7, "aLuZkUtZ\0A", 10, CSTR_LESS_THAN },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, 0, "a-", 3, "a\0", 3, CSTR_GREATER_THAN },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, 0, "a'", 3, "a\0", 3, CSTR_GREATER_THAN },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, SORT_STRINGSORT, "a-", 3, "a\0", 3, CSTR_GREATER_THAN },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, SORT_STRINGSORT, "a'", 3, "a\0", 3, CSTR_GREATER_THAN },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, NORM_IGNORESYMBOLS, "a.", 3, "a\0", 3, CSTR_EQUAL },
|
||||
+ { LOCALE_SYSTEM_DEFAULT, NORM_IGNORESYMBOLS, "a ", 3, "a\0", 3, CSTR_EQUAL },
|
||||
};
|
||||
|
||||
static void test_CompareStringA(void)
|
||||
--
|
||||
2.6.2
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: [37556] CompareString should abort on first non-matching character
|
@@ -1,38 +0,0 @@
|
||||
From f7ea420c1ca707503214eba3c9bfce6719e66fdc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 20 Jun 2014 21:16:39 +0200
|
||||
Subject: kernel32: Make GetLogicalProcessorInformationEx a stub which returns
|
||||
TRUE.
|
||||
|
||||
---
|
||||
dlls/kernel32/process.c | 14 ++++++++++++--
|
||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index b371e73..24da577 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -3831,8 +3831,18 @@ BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
|
||||
BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX buffer, PDWORD pBufLen)
|
||||
{
|
||||
FIXME("(%u,%p,%p): stub\n", relationship, buffer, pBufLen);
|
||||
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
- return FALSE;
|
||||
+
|
||||
+ if (!pBufLen)
|
||||
+ {
|
||||
+ SetLastError(ERROR_INVALID_PARAMETER);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ /* MSDN says '[...] at least one SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
|
||||
+ * structure is written to the output buffer.' - don't be surprised if this
|
||||
+ * stub doesn't work always. */
|
||||
+ *pBufLen = 0;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
--
|
||||
2.3.0
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE
|
@@ -1,4 +1,4 @@
|
||||
From 8ad4ff3e0ed7e3065a1f408873a69d51cb6b3b51 Mon Sep 17 00:00:00 2001
|
||||
From 3963fc7dff07587084a7d91553727bba88871677 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 15 Aug 2014 22:23:08 +0200
|
||||
Subject: ntdll: Unify similar code in NtReadFile and FILE_AsyncReadService.
|
||||
@@ -15,14 +15,14 @@ Changes in FILE_AsyncReadService:
|
||||
whereas NtReadFile uses different behaviour based on the fd type.
|
||||
Now both implementations match, and behave the same way.
|
||||
---
|
||||
dlls/ntdll/file.c | 108 +++++++++++++++++++++++-------------------------------
|
||||
1 file changed, 46 insertions(+), 62 deletions(-)
|
||||
dlls/ntdll/file.c | 113 ++++++++++++++++++++++--------------------------------
|
||||
1 file changed, 46 insertions(+), 67 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 79daec5..fd88777 100644
|
||||
index 6531569..e42cf46 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -471,6 +471,45 @@ NTSTATUS FILE_GetNtStatus(void)
|
||||
@@ -486,6 +486,45 @@ NTSTATUS FILE_GetNtStatus(void)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ index 79daec5..fd88777 100644
|
||||
+ case FD_TYPE_DEVICE:
|
||||
+ return length ? STATUS_END_OF_FILE : STATUS_SUCCESS;
|
||||
+ case FD_TYPE_SERIAL:
|
||||
+ return STATUS_PENDING;
|
||||
+ return length ? STATUS_PENDING : STATUS_SUCCESS;
|
||||
+ default:
|
||||
+ return STATUS_PIPE_BROKEN;
|
||||
+ }
|
||||
@@ -68,7 +68,7 @@ index 79daec5..fd88777 100644
|
||||
/***********************************************************************
|
||||
* FILE_AsyncReadService (INTERNAL)
|
||||
*/
|
||||
@@ -478,44 +517,19 @@ static NTSTATUS FILE_AsyncReadService( void *user, IO_STATUS_BLOCK *iosb,
|
||||
@@ -493,44 +532,19 @@ static NTSTATUS FILE_AsyncReadService( void *user, IO_STATUS_BLOCK *iosb,
|
||||
NTSTATUS status, void **apc, void **arg )
|
||||
{
|
||||
struct async_fileio_read *fileio = user;
|
||||
@@ -118,7 +118,7 @@ index 79daec5..fd88777 100644
|
||||
break;
|
||||
|
||||
case STATUS_TIMEOUT:
|
||||
@@ -762,7 +776,6 @@ static NTSTATUS get_io_avail_mode( HANDLE handle, enum server_fd_type type, BOOL
|
||||
@@ -777,7 +791,6 @@ static NTSTATUS get_io_avail_mode( HANDLE handle, enum server_fd_type type, BOOL
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ index 79daec5..fd88777 100644
|
||||
/******************************************************************************
|
||||
* NtReadFile [NTDLL.@]
|
||||
* ZwReadFile [NTDLL.@]
|
||||
@@ -858,38 +871,9 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent,
|
||||
@@ -873,43 +886,9 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent,
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@@ -148,6 +148,11 @@ index 79daec5..fd88777 100644
|
||||
- status = length ? STATUS_END_OF_FILE : STATUS_SUCCESS;
|
||||
- goto done;
|
||||
- case FD_TYPE_SERIAL:
|
||||
- if (!length)
|
||||
- {
|
||||
- status = STATUS_SUCCESS;
|
||||
- goto done;
|
||||
- }
|
||||
- break;
|
||||
- default:
|
||||
- status = STATUS_PIPE_BROKEN;
|
||||
@@ -168,5 +173,5 @@ index 79daec5..fd88777 100644
|
||||
if (async_read)
|
||||
{
|
||||
--
|
||||
2.4.0
|
||||
2.7.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From cdb1ae761d777e7a1cf4c73edd946c94d1e73700 Mon Sep 17 00:00:00 2001
|
||||
From 39c68a41a2f5f9bf8fd95c278786f70050ff765b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 11 Aug 2014 05:01:11 +0200
|
||||
Subject: ntdll: Add handling for partially received messages in NtReadFile.
|
||||
@@ -248,7 +248,7 @@ index 5f5553b..3811ccd 100644
|
||||
ok(overlapped.InternalHigh == 0, "expected 0, got %lu\n", overlapped.InternalHigh);
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index fd6c605..18ee740 100644
|
||||
index 75ad1aa..da0948c 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -490,7 +490,7 @@ NTSTATUS FILE_GetNtStatus(void)
|
||||
@@ -294,7 +294,7 @@ index fd6c605..18ee740 100644
|
||||
@@ -577,11 +586,18 @@ static NTSTATUS read_unix_fd(int fd, char *buf, ULONG *total, ULONG length,
|
||||
return length ? STATUS_END_OF_FILE : STATUS_SUCCESS;
|
||||
case FD_TYPE_SERIAL:
|
||||
return STATUS_PENDING;
|
||||
return length ? STATUS_PENDING : STATUS_SUCCESS;
|
||||
+ case FD_TYPE_PIPE:
|
||||
+ {
|
||||
+ NTSTATUS status = unix_fd_avail( fd, &result );
|
||||
@@ -321,5 +321,5 @@ index fd6c605..18ee740 100644
|
||||
io_status->u.Status = status;
|
||||
io_status->Information = total;
|
||||
--
|
||||
2.6.2
|
||||
2.7.1
|
||||
|
||||
|
@@ -0,0 +1,29 @@
|
||||
From c62a9b8f39fcdd2209959e831e3801162b41420c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 27 Jan 2016 06:56:09 +0100
|
||||
Subject: kernel32: Do not inherit QT_* environment variables to Windows
|
||||
environment.
|
||||
|
||||
If necessary, QT environment variables can still be set by adding a WINE
|
||||
prefix, for example: WINEQT_QPA_PLATFORM=...
|
||||
---
|
||||
dlls/kernel32/process.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 6e7b23e..bb6c2dd 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -135,7 +135,8 @@ static inline BOOL is_special_env_var( const char *var )
|
||||
!strncmp( var, "PWD=", sizeof("PWD=")-1 ) ||
|
||||
!strncmp( var, "HOME=", sizeof("HOME=")-1 ) ||
|
||||
!strncmp( var, "TEMP=", sizeof("TEMP=")-1 ) ||
|
||||
- !strncmp( var, "TMP=", sizeof("TMP=")-1 ));
|
||||
+ !strncmp( var, "TMP=", sizeof("TMP=")-1 ) ||
|
||||
+ !strncmp( var, "QT_", sizeof("QT_")-1 ));
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.6.4
|
||||
|
1
patches/kernel32-QT_Environment_Variables/definition
Normal file
1
patches/kernel32-QT_Environment_Variables/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Do not inherit QT_* environment variables to Windows environment
|
@@ -1,20 +1,20 @@
|
||||
From ac9076b71ddda6d430fe80fcfe62a47c2dcc9dc9 Mon Sep 17 00:00:00 2001
|
||||
From 97c810889b2ffe7408c2f185a2e7e399ce13d014 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Wed, 20 Aug 2014 15:28:00 -0600
|
||||
Subject: ntdll: Implement storing DOS attributes in NtCreateFile.
|
||||
|
||||
---
|
||||
dlls/ntdll/file.c | 79 ++++++++++++++++++++++++++++----------------
|
||||
dlls/ntdll/tests/directory.c | 22 +++++-------
|
||||
dlls/ntdll/tests/directory.c | 24 +++++---------
|
||||
include/wine/port.h | 2 ++
|
||||
libs/port/xattr.c | 20 +++++++++++
|
||||
4 files changed, 80 insertions(+), 43 deletions(-)
|
||||
4 files changed, 81 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 521ab64..b4187d4 100644
|
||||
index 17ad605..2381e3c 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -205,6 +205,21 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
|
||||
@@ -223,6 +223,21 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ index 521ab64..b4187d4 100644
|
||||
/**************************************************************************
|
||||
* FILE_CreateFile (internal)
|
||||
* Open a file.
|
||||
@@ -216,6 +231,8 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
@@ -234,6 +249,8 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
ULONG attributes, ULONG sharing, ULONG disposition,
|
||||
ULONG options, PVOID ea_buffer, ULONG ea_length )
|
||||
{
|
||||
@@ -45,7 +45,7 @@ index 521ab64..b4187d4 100644
|
||||
ANSI_STRING unix_name;
|
||||
BOOL created = FALSE;
|
||||
|
||||
@@ -259,39 +276,37 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
@@ -287,39 +304,37 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
io->u.Status = STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ index 521ab64..b4187d4 100644
|
||||
|
||||
if (io->u.Status == STATUS_SUCCESS)
|
||||
{
|
||||
@@ -313,6 +328,11 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
@@ -341,6 +356,11 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
io->Information = FILE_OVERWRITTEN;
|
||||
break;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ index 521ab64..b4187d4 100644
|
||||
}
|
||||
else if (io->u.Status == STATUS_TOO_MANY_OPENED_FILES)
|
||||
{
|
||||
@@ -320,6 +340,7 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
@@ -348,6 +368,7 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT
|
||||
if (!once++) ERR_(winediag)( "Too many open files, ulimit -n probably needs to be increased\n" );
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ index 521ab64..b4187d4 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/tests/directory.c b/dlls/ntdll/tests/directory.c
|
||||
index f190ff4..68b5406 100644
|
||||
index 7b1002a..aa8e97f 100644
|
||||
--- a/dlls/ntdll/tests/directory.c
|
||||
+++ b/dlls/ntdll/tests/directory.c
|
||||
@@ -51,7 +51,6 @@ static NTSTATUS (WINAPI *pRtlWow64EnableFsRedirectionEx)( ULONG disable, ULONG *
|
||||
@@ -144,10 +144,11 @@ index f190ff4..68b5406 100644
|
||||
BOOL attr_done; /* set if attributes were tested for this file already */
|
||||
const DWORD attr; /* desired attribute */
|
||||
const char *name; /* filename to use */
|
||||
@@ -60,13 +59,13 @@ static struct testfile_s {
|
||||
@@ -60,14 +59,14 @@ static struct testfile_s {
|
||||
int nfound; /* How many were found (expect 1) */
|
||||
WCHAR nameW[20]; /* unicode version of name (filled in later) */
|
||||
} testfiles[] = {
|
||||
- { 0, 0, FILE_ATTRIBUTE_NORMAL, "longfilename.tmp", NULL, "normal" },
|
||||
- { 0, 0, FILE_ATTRIBUTE_NORMAL, "n.tmp", NULL, "normal" },
|
||||
- { 1, 0, FILE_ATTRIBUTE_HIDDEN, "h.tmp", NULL, "hidden" },
|
||||
- { 1, 0, FILE_ATTRIBUTE_SYSTEM, "s.tmp", NULL, "system" },
|
||||
@@ -155,6 +156,7 @@ index f190ff4..68b5406 100644
|
||||
- { 0, 0, FILE_ATTRIBUTE_DIRECTORY, ".", NULL, ". directory" },
|
||||
- { 0, 0, FILE_ATTRIBUTE_DIRECTORY, "..", NULL, ".. directory" },
|
||||
- { 0, 0, 0, NULL }
|
||||
+ { 0, FILE_ATTRIBUTE_NORMAL, "longfilename.tmp", NULL, "normal" },
|
||||
+ { 0, FILE_ATTRIBUTE_NORMAL, "n.tmp", NULL, "normal" },
|
||||
+ { 0, FILE_ATTRIBUTE_HIDDEN, "h.tmp", NULL, "hidden" },
|
||||
+ { 0, FILE_ATTRIBUTE_SYSTEM, "s.tmp", NULL, "system" },
|
||||
@@ -165,7 +167,7 @@ index f190ff4..68b5406 100644
|
||||
};
|
||||
static const int max_test_dir_size = 20; /* size of above plus some for .. etc */
|
||||
|
||||
@@ -147,12 +146,7 @@ static void tally_test_file(FILE_BOTH_DIRECTORY_INFORMATION *dir_info)
|
||||
@@ -148,12 +147,7 @@ static void tally_test_file(FILE_BOTH_DIRECTORY_INFORMATION *dir_info)
|
||||
if (namelen != len || memcmp(nameW, testfiles[i].nameW, len*sizeof(WCHAR)))
|
||||
continue;
|
||||
if (!testfiles[i].attr_done) {
|
||||
@@ -180,7 +182,7 @@ index f190ff4..68b5406 100644
|
||||
}
|
||||
testfiles[i].nfound++;
|
||||
diff --git a/include/wine/port.h b/include/wine/port.h
|
||||
index cc572f3..9e2b8165 100644
|
||||
index 445a25e..04ae7a6 100644
|
||||
--- a/include/wine/port.h
|
||||
+++ b/include/wine/port.h
|
||||
@@ -373,6 +373,8 @@ extern int xattr_fget( int filedes, const char *name, void *value, size_t size )
|
||||
@@ -221,5 +223,5 @@ index 6918c99..683e7a6 100644
|
||||
+#endif
|
||||
+}
|
||||
--
|
||||
1.9.1
|
||||
2.7.1
|
||||
|
||||
|
@@ -0,0 +1,46 @@
|
||||
From 5a419298c1871c0d71a2892d6ac4b517288b3563 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 14 Jan 2016 23:09:19 +0100
|
||||
Subject: ntdll: Always store SAMBA_XATTR_DOS_ATTRIB when path could be
|
||||
interpreted as hidden.
|
||||
|
||||
---
|
||||
dlls/ntdll/file.c | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 50b0042..b38698f 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -213,12 +213,15 @@ int get_file_info( const char *path, struct stat *st, ULONG *attr )
|
||||
if (S_ISDIR( st->st_mode )) *attr |= FILE_ATTRIBUTE_REPARSE_POINT;
|
||||
}
|
||||
*attr |= get_file_attributes( st );
|
||||
- /* convert Unix-style hidden files to a DOS hidden file attribute */
|
||||
- if (DIR_is_hidden_file( path ))
|
||||
- *attr |= FILE_ATTRIBUTE_HIDDEN;
|
||||
/* retrieve any stored DOS attributes */
|
||||
len = xattr_get( path, SAMBA_XATTR_DOS_ATTRIB, hexattr, sizeof(hexattr)-1 );
|
||||
- if (len == -1) return ret;
|
||||
+ if (len == -1)
|
||||
+ {
|
||||
+ /* convert Unix-style hidden files to a DOS hidden file attribute */
|
||||
+ if (DIR_is_hidden_file( path ))
|
||||
+ *attr |= FILE_ATTRIBUTE_HIDDEN;
|
||||
+ return ret;
|
||||
+ }
|
||||
*attr |= get_file_xattr( hexattr, len );
|
||||
return ret;
|
||||
}
|
||||
@@ -231,7 +234,7 @@ NTSTATUS set_file_info( const char *path, ULONG attr )
|
||||
/* Note: unix mode already set when called this way */
|
||||
attr &= ~FILE_ATTRIBUTE_NORMAL; /* do not store everything, but keep everything Samba can use */
|
||||
len = sprintf( hexattr, "0x%x", attr );
|
||||
- if (attr != 0)
|
||||
+ if (attr != 0 || DIR_is_hidden_file( path ))
|
||||
xattr_set( path, SAMBA_XATTR_DOS_ATTRIB, hexattr, len );
|
||||
else
|
||||
xattr_remove( path, SAMBA_XATTR_DOS_ATTRIB );
|
||||
--
|
||||
2.6.4
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1d4383d08858f302927f08138bbe81093efbfd14 Mon Sep 17 00:00:00 2001
|
||||
From 0cdb31619be9eda07a99f339e1072423b613bb5d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Sep 2014 22:42:46 +0200
|
||||
Subject: ntdll: Throw exception if invalid handle is passed to NtClose and
|
||||
@@ -10,7 +10,7 @@ Subject: ntdll: Throw exception if invalid handle is passed to NtClose and
|
||||
2 files changed, 92 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/om.c b/dlls/ntdll/om.c
|
||||
index 47a2614..bcc6d69 100644
|
||||
index 3fadba7..6527501 100644
|
||||
--- a/dlls/ntdll/om.c
|
||||
+++ b/dlls/ntdll/om.c
|
||||
@@ -38,6 +38,7 @@
|
||||
@@ -21,7 +21,7 @@ index 47a2614..bcc6d69 100644
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
|
||||
|
||||
@@ -343,6 +344,13 @@ NTSTATUS WINAPI NtDuplicateObject( HANDLE source_process, HANDLE source,
|
||||
@@ -377,6 +378,13 @@ NTSTATUS WINAPI NtDuplicateObject( HANDLE source_process, HANDLE source,
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 47a2614..bcc6d69 100644
|
||||
/* Everquest 2 / Pirates of the Burning Sea hooks NtClose, so we need a wrapper */
|
||||
NTSTATUS close_handle( HANDLE handle )
|
||||
{
|
||||
@@ -356,6 +364,25 @@ NTSTATUS close_handle( HANDLE handle )
|
||||
@@ -390,6 +398,25 @@ NTSTATUS close_handle( HANDLE handle )
|
||||
}
|
||||
SERVER_END_REQ;
|
||||
if (fd != -1) close( fd );
|
||||
@@ -62,10 +62,10 @@ index 47a2614..bcc6d69 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index 5cbab71..7a97ae5 100644
|
||||
index c62dcb3..440655c 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -53,6 +53,7 @@ static NTSTATUS (WINAPI *pNtTerminateProcess)(HANDLE handle, LONG exit_code);
|
||||
@@ -52,6 +52,7 @@ static NTSTATUS (WINAPI *pNtTerminateProcess)(HANDLE handle, LONG exit_code);
|
||||
static NTSTATUS (WINAPI *pNtQueryInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG, PULONG);
|
||||
static NTSTATUS (WINAPI *pNtSetInformationProcess)(HANDLE, PROCESSINFOCLASS, PVOID, ULONG);
|
||||
static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL);
|
||||
@@ -73,11 +73,11 @@ index 5cbab71..7a97ae5 100644
|
||||
|
||||
#if defined(__x86_64__)
|
||||
static BOOLEAN (CDECL *pRtlAddFunctionTable)(RUNTIME_FUNCTION*, DWORD, DWORD64);
|
||||
@@ -938,6 +939,16 @@ static void test_debugger(void)
|
||||
/* here we handle exception */
|
||||
}
|
||||
@@ -963,6 +964,16 @@ static void test_debugger(void)
|
||||
|
||||
if (stage == 10) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
}
|
||||
+ else if (stage == 7 || stage == 8)
|
||||
+ else if (stage == 11 || stage == 12)
|
||||
+ {
|
||||
+ ok(de.u.Exception.ExceptionRecord.ExceptionCode == EXCEPTION_INVALID_HANDLE,
|
||||
+ "unexpected exception code %08x, expected %08x\n", de.u.Exception.ExceptionRecord.ExceptionCode,
|
||||
@@ -85,12 +85,12 @@ index 5cbab71..7a97ae5 100644
|
||||
+ ok(de.u.Exception.ExceptionRecord.NumberParameters == 0,
|
||||
+ "unexpected number of parameters %d, expected 0\n", de.u.Exception.ExceptionRecord.NumberParameters);
|
||||
+
|
||||
+ if (stage == 8) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
+ if (stage == 12) continuestatus = DBG_EXCEPTION_NOT_HANDLED;
|
||||
+ }
|
||||
else
|
||||
ok(FALSE, "unexpected stage %x\n", stage);
|
||||
|
||||
@@ -1791,6 +1802,53 @@ static void test_ripevent(DWORD numexc)
|
||||
@@ -2078,6 +2089,53 @@ static void test_breakpoint(DWORD numexc)
|
||||
pRtlRemoveVectoredExceptionHandler(vectored_handler);
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ index 5cbab71..7a97ae5 100644
|
||||
static void test_vectored_continue_handler(void)
|
||||
{
|
||||
PVOID handler1, handler2;
|
||||
@@ -1843,6 +1901,7 @@ START_TEST(exception)
|
||||
@@ -2130,6 +2188,7 @@ START_TEST(exception)
|
||||
pNtGetContextThread = (void *)GetProcAddress( hntdll, "NtGetContextThread" );
|
||||
pNtSetContextThread = (void *)GetProcAddress( hntdll, "NtSetContextThread" );
|
||||
pNtReadVirtualMemory = (void *)GetProcAddress( hntdll, "NtReadVirtualMemory" );
|
||||
@@ -152,33 +152,33 @@ index 5cbab71..7a97ae5 100644
|
||||
pRtlUnwind = (void *)GetProcAddress( hntdll, "RtlUnwind" );
|
||||
pRtlRaiseException = (void *)GetProcAddress( hntdll, "RtlRaiseException" );
|
||||
pNtTerminateProcess = (void *)GetProcAddress( hntdll, "NtTerminateProcess" );
|
||||
@@ -1910,6 +1969,10 @@ START_TEST(exception)
|
||||
test_ripevent(0);
|
||||
test_stage = 6;
|
||||
test_ripevent(1);
|
||||
+ test_stage = 7;
|
||||
@@ -2205,6 +2264,10 @@ START_TEST(exception)
|
||||
test_breakpoint(0);
|
||||
test_stage = 10;
|
||||
test_breakpoint(1);
|
||||
+ test_stage = 11;
|
||||
+ test_closehandle(0);
|
||||
+ test_stage = 8;
|
||||
+ test_stage = 12;
|
||||
+ test_closehandle(1);
|
||||
}
|
||||
else
|
||||
skip( "RtlRaiseException not found\n" );
|
||||
@@ -1923,6 +1986,7 @@ START_TEST(exception)
|
||||
test_rtlraiseexception();
|
||||
test_outputdebugstring(1, FALSE);
|
||||
@@ -2220,6 +2283,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
+ test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
test_debugger();
|
||||
test_simd_exceptions();
|
||||
@@ -1942,6 +2006,7 @@ START_TEST(exception)
|
||||
|
||||
test_outputdebugstring(1, FALSE);
|
||||
@@ -2241,6 +2305,7 @@ START_TEST(exception)
|
||||
test_ripevent(1);
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
+ test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
test_virtual_unwind();
|
||||
|
||||
--
|
||||
2.1.3
|
||||
2.7.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 51935986a1e973ab26dc3035905a47e1f19c6062 Mon Sep 17 00:00:00 2001
|
||||
From 21a4d707055fc3e7781fbefec814095cd109fcd2 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Sep 2014 23:39:51 +0200
|
||||
Subject: ntdll: OutputDebugString should throw the exception a second time, if
|
||||
@@ -38,10 +38,10 @@ index d4d66b2..981661b 100644
|
||||
if (!mutex_inited)
|
||||
{
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index 7a97ae5..b0f0fac 100644
|
||||
index 440655c..70ccf82 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -1727,7 +1727,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce
|
||||
@@ -1780,7 +1780,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ index 7a97ae5..b0f0fac 100644
|
||||
{
|
||||
PVOID vectored_handler;
|
||||
|
||||
@@ -1742,13 +1742,8 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo)
|
||||
@@ -1795,13 +1795,8 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo)
|
||||
|
||||
outputdebugstring_exceptions = 0;
|
||||
OutputDebugStringA("Hello World");
|
||||
@@ -66,7 +66,7 @@ index 7a97ae5..b0f0fac 100644
|
||||
|
||||
pRtlRemoveVectoredExceptionHandler(vectored_handler);
|
||||
}
|
||||
@@ -1962,9 +1957,9 @@ START_TEST(exception)
|
||||
@@ -2249,9 +2244,9 @@ START_TEST(exception)
|
||||
run_rtlraiseexception_test(EXCEPTION_BREAKPOINT);
|
||||
run_rtlraiseexception_test(EXCEPTION_INVALID_HANDLE);
|
||||
test_stage = 3;
|
||||
@@ -78,24 +78,24 @@ index 7a97ae5..b0f0fac 100644
|
||||
test_stage = 5;
|
||||
test_ripevent(0);
|
||||
test_stage = 6;
|
||||
@@ -1984,7 +1979,7 @@ START_TEST(exception)
|
||||
@@ -2279,7 +2274,7 @@ START_TEST(exception)
|
||||
test_unwind();
|
||||
test_exceptions();
|
||||
test_rtlraiseexception();
|
||||
- test_outputdebugstring(1, FALSE);
|
||||
+ test_outputdebugstring(1);
|
||||
test_ripevent(1);
|
||||
test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
@@ -2004,7 +1999,7 @@ START_TEST(exception)
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
@@ -2301,7 +2296,7 @@ START_TEST(exception)
|
||||
pRtlLookupFunctionEntry = (void *)GetProcAddress( hntdll,
|
||||
"RtlLookupFunctionEntry" );
|
||||
|
||||
- test_outputdebugstring(1, FALSE);
|
||||
+ test_outputdebugstring(1);
|
||||
test_ripevent(1);
|
||||
test_closehandle(0);
|
||||
test_vectored_continue_handler();
|
||||
test_debug_service(1);
|
||||
test_breakpoint(1);
|
||||
--
|
||||
2.1.3
|
||||
2.7.1
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From a01523c116eb0fa430e618683bea55f1e3b6b0d5 Mon Sep 17 00:00:00 2001
|
||||
From 70913f6c98d75d46e542ccb0cde9bdaf9e819b85 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 18 Jul 2015 04:52:55 +0200
|
||||
Subject: ntdll: Check architecture before loading module.
|
||||
@@ -8,7 +8,7 @@ Subject: ntdll: Check architecture before loading module.
|
||||
1 file changed, 131 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 74feb97..ee1e5e2 100644
|
||||
index cb9a4e2..06c0475 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -2078,6 +2078,108 @@ done:
|
||||
@@ -153,7 +153,7 @@ index 74feb97..ee1e5e2 100644
|
||||
@@ -2150,7 +2256,23 @@ static NTSTATUS find_dll_file( const WCHAR *load_path, const WCHAR *libname,
|
||||
attr.SecurityDescriptor = NULL;
|
||||
attr.SecurityQualityOfService = NULL;
|
||||
if (NtOpenFile( handle, GENERIC_READ, &attr, &io, FILE_SHARE_READ|FILE_SHARE_DELETE, FILE_SYNCHRONOUS_IO_NONALERT|FILE_NON_DIRECTORY_FILE )) *handle = 0;
|
||||
if (NtOpenFile( handle, GENERIC_READ|SYNCHRONIZE, &attr, &io, FILE_SHARE_READ|FILE_SHARE_DELETE, FILE_SYNCHRONOUS_IO_NONALERT|FILE_NON_DIRECTORY_FILE )) *handle = 0;
|
||||
- goto found;
|
||||
+ #ifdef CURRENT_ARCH
|
||||
+ if (*handle && check_arch)
|
||||
@@ -202,5 +202,5 @@ index 74feb97..ee1e5e2 100644
|
||||
if (status != STATUS_BUFFER_TOO_SMALL) break;
|
||||
/* grow the buffer and retry */
|
||||
--
|
||||
2.6.2
|
||||
2.7.1
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user