mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 00:03:38 +00:00
397 lines
21 KiB
Plaintext
397 lines
21 KiB
Plaintext
The Wine development release 8.9 is now available.
|
|
|
|
What's new in this release:
|
|
- Mono engine updated to version 8.0.0.
|
|
- Completion of PE conversion in the PostScript driver.
|
|
- Doppler shift support in DirectSound.
|
|
- GdiPlus performance improvements.
|
|
- Various bug fixes.
|
|
|
|
The source is available at:
|
|
|
|
https://dl.winehq.org/wine/source/8.x/wine-8.9.tar.xz
|
|
|
|
Binary packages for various distributions will be available from:
|
|
|
|
https://www.winehq.org/download
|
|
|
|
You will find documentation on https://www.winehq.org/documentation
|
|
|
|
You can also get the current source directly from the git
|
|
repository. Check https://www.winehq.org/git for details.
|
|
|
|
Wine is available thanks to the work of many people. See the file
|
|
AUTHORS in the distribution for the complete list.
|
|
|
|
----------------------------------------------------------------
|
|
|
|
Bugs fixed in 8.9 (total 16):
|
|
|
|
- #3452 BC3000 - Horribly Slow
|
|
- #36230 Silverlight 5.x requires the "Audio Capture Filter" for recording from the microphone
|
|
- #50955 .netCore app can't bind to port shortly after another .netCore program binding to the same port was terminated
|
|
- #53860 Wine Notepad : Using Japanese Input Method(IM), sometimes cursor goes back when string converted
|
|
- #54916 touhou 12.3 with dpad mod crashes on start
|
|
- #54917 Need For Speed Underground has keyboard input issues
|
|
- #54934 Battle.net unimplemented function msauddecmft.dll.DllGetClassObject called in 32-bit code
|
|
- #54936 Wine 8.7 and 8.8 does not print
|
|
- #54939 Dotted files are shown - but "don't show dotted" files is active
|
|
- #54955 Battle.net crashes on unimplemented function msmpeg2vdec.dll.DllGetClassObject
|
|
- #54956 Framemaker 8 crashes on printing
|
|
- #54960 winhttp:winhttp - test_websocket() fails on Windows and Wine
|
|
- #54965 Rich Edit erroneously moves the cursor to the end of text when system IME composition ends
|
|
- #54974 armv7 ELF builds crashing since "ntdll: Support the machine extended parameter in NtMapViewOfSectionEx()."
|
|
- #54976 Mono/.Net assemblies fail to start: Application could not be started, or no application associated with the specified file.
|
|
- #54982 Visio 2003 print dialog shows broken paper sizes when printing
|
|
|
|
----------------------------------------------------------------
|
|
|
|
Changes since 8.8:
|
|
|
|
Alex Henrie (3):
|
|
mshtml: Fix memory leak on error path in add_func_info (Coverity).
|
|
mshtml: Only allow one thread to use Gecko.
|
|
setupapi: Use CRT functions for memory allocation where possible.
|
|
|
|
Alexandre Julliard (19):
|
|
ntdll: Fix typo in the check for hidden files.
|
|
ntdll: Catch MEM_EXTENDED_PARAMETER duplicates for all types.
|
|
ntdll: Use STATUS_NOT_SUPPORTED for internal machine mismatch errors.
|
|
ntdll: Support the machine extended parameter in NtMapViewOfSectionEx().
|
|
ntdll: Add a helper function to map the main exe module.
|
|
ntdll: Don't even try to load .so libraries for a different machine.
|
|
ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes.
|
|
kernelbase: Add a helper function to validate process/thread attributes.
|
|
kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute.
|
|
start: Move memory allocation into parse_title().
|
|
start: Add a separate helper to parse command line options.
|
|
start: Use CRT allocation functions.
|
|
start: Implement the /machine option.
|
|
ntdll: Add a separate helper function for freeing a placeholder.
|
|
server: Add a separate request to create a memory view for an image mapping.
|
|
server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process.
|
|
configure: Don't create the wine64 symlink in multi-arch builds.
|
|
ntdll: Also update the entry point address when loading an ARM64X binary.
|
|
ntdll: Allocate the ARM64EC code map when the first ARM64X binary is loaded.
|
|
|
|
Alexandros Frantzis (6):
|
|
winewayland.drv: Allocate process_wayland statically.
|
|
winewayland.drv: Read and dispatch Wayland events.
|
|
winewayland.drv: Handle dynamic Wayland output events.
|
|
winewayland.drv: Make access to Wayland output information thread-safe.
|
|
winewayland.drv: Update display devices from the desktop window thread.
|
|
winewayland.drv: Update desktop window size on display changes.
|
|
|
|
André Zwing (1):
|
|
winedump: Recognize RISC-V PEs.
|
|
|
|
Anton Baskanov (20):
|
|
winegstreamer: Add a second videoconvert before the videoflip.
|
|
winegstreamer: Don't force top-down orientation when changing output format in video_decoder.
|
|
ir50_32: Let video_decoder flip the video instead of doing it manually.
|
|
dsound: Store the frequency of 3D buffers separately.
|
|
dsound/tests: Add tests for Doppler shift.
|
|
dsound: Enable Doppler shift.
|
|
dsound: Change the speed of sound to 360.
|
|
dsound: Avoid division by zero when calculating Doppler shift.
|
|
dsound/tests: Test Doppler shift with moving listener.
|
|
dsound: Use relative velocity to compute Doppler shift.
|
|
dsound/tests: Test that the Doppler shift is limited to +-0.5 speed of sound.
|
|
dsound: Limit the Doppler shift to +-0.5 speed of sound.
|
|
dsound/tests: Test that the shifted frequency is limited to DSBFREQUENCY_MAX.
|
|
dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX].
|
|
dsound/tests: Test Doppler shift in head-relative mode.
|
|
dsound: Fix Doppler shift in head-relative mode.
|
|
dsound/tests: Test Doppler shift with 3D processing disabled.
|
|
dsound: Use the value from SetFrequency when 3D processing is disabled.
|
|
dsound/tests: Test distance and Doppler factor.
|
|
dsound: Take distance and Doppler factor into account.
|
|
|
|
Aurimas Fišeras (1):
|
|
po: Update Lithuanian translation.
|
|
|
|
Bartosz Kosiorek (7):
|
|
gdiplus: Improve performance of GdipInvertMatrix.
|
|
gdiplus: Improve performance of gdip_transform_points.
|
|
gdiplus: Fix GdipGetGenericFontFamily functions according to native gdiplus.dll.
|
|
gdiplus: Limit calculating transformation points to resampling.
|
|
gdiplus: Use iterator instead calculate pointer position every time.
|
|
gdiplus: Use float increment instead of calculation to impove perf.
|
|
gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints.
|
|
|
|
Bernhard Kölbl (1):
|
|
mf: Don't try to clone non existent topo connections.
|
|
|
|
Brendan Shanks (8):
|
|
winemac: Fix window scaling in high-res/retina mode when using a non-retina monitor.
|
|
winemac: Remove the unused WineContentView _retinaMode variable.
|
|
winemac: Centralize initialization of WineContentView.
|
|
winemac: Centralize setting retina-mode-dependent properties on WineContentView's layer.
|
|
winemac: Work around poor-quality downscaling in high-res/retina mode on macOS 10.13 and earlier.
|
|
winemac: Add missing event to dbgstr_event().
|
|
winemac: Explicitly link against Foundation.framework.
|
|
win32u: Propagate WM_MOUSEHWHEEL to the parent window in DefWindowProc().
|
|
|
|
Connor McAdams (7):
|
|
include: Define the remaining missing provider interfaces.
|
|
uiautomationcore: Don't leak parent node in conditional_navigate_uia_node.
|
|
uiautomationcore: Fix maximum ID comparison for uia_{prop,pattern,control}_info_from_id().
|
|
uiautomationcore/tests: Add tests for non-nested node events.
|
|
uiautomationcore: Implement UiaAddEvent.
|
|
uiautomationcore: Implement UiaRemoveEvent.
|
|
uiautomationcore: Call IRawElementProviderAdviseEvents methods when events are added or removed.
|
|
|
|
Davide Beatrici (16):
|
|
winepulse: Move AudioCaptureClient into mmdevapi.
|
|
winealsa: Use mmdevapi's AudioCaptureClient.
|
|
winecoreaudio: Use mmdevapi's AudioCaptureClient.
|
|
wineoss: Use mmdevapi's AudioCaptureClient.
|
|
winepulse: Move AudioRenderClient into mmdevapi.
|
|
winealsa: Use mmdevapi's AudioRenderClient.
|
|
winecoreaudio: Use mmdevapi's AudioRenderClient.
|
|
wineoss: Use mmdevapi's AudioRenderClient.
|
|
winealsa: Implement get_device_period in unixlib.
|
|
winecoreaudio: Implement get_device_period in unixlib.
|
|
wineoss: Implement get_device_period in unixlib.
|
|
winepulse: Implement is_format_supported in unixlib.
|
|
explorer: Fix uninitialized variable warning.
|
|
winealsa: Move stream mode and period/duration initialization logic into unixlib.
|
|
winecoreaudio: Move stream mode and period/duration initialization logic into unixlib.
|
|
wineoss: Move stream mode and period/duration initialization logic into unixlib.
|
|
|
|
Eric Pouech (1):
|
|
kernel32/tests: Harden some wow64 module tests.
|
|
|
|
Esme Povirk (3):
|
|
mscoree: Update Wine Mono to 8.0.0.
|
|
mscoree: Use updated preload hook function.
|
|
mscoree: Search the Mono GAC before the appdomain paths.
|
|
|
|
Floris Renaud (1):
|
|
po: Update Dutch translation.
|
|
|
|
François Gouget (18):
|
|
iphlpapi/tests: Use win_skip() for missing APIs.
|
|
ws2_32/tests: Use win_skip() for missing APIs.
|
|
wtsapi32/tests: Use win_skip() for missing APIs.
|
|
wintab32/tests: Use win_skip() for missing dlls.
|
|
gdi32/tests: Use win_skip() for missing APIs.
|
|
sti/tests: Use win_skip() for missing APIs.
|
|
ntdll/tests: Use win_skip() for missing APIs.
|
|
imm32/tests: Fix the spelling of a comment.
|
|
mf/tests: Fix the spelling of a win_skip() message.
|
|
msado15: Fix the spelling of a comment.
|
|
ndtll: Fix the spelling of a comment.
|
|
taskschd/tests: Fix the spelling of a test string.
|
|
uiautomationcore/tests: Fix the spelling of a win_skip() message.
|
|
dnsapi/tests: Ignore OPT records in the CNAME tests.
|
|
wineps: Fix the spelling of a constant.
|
|
gdi32/tests: Use skip() for APIs which are stubs in some drivers.
|
|
wininet/tests: Consistently use strlen() in the InternetGetConnectedStateExA() tests.
|
|
wininet/tests: Consistently use strlen() instead of lstrlenA().
|
|
|
|
Gabriel Ivăncescu (9):
|
|
mshtml: Explicitly hold ref to the plugin host in NPP_New.
|
|
mshtml: Release ref from the element when detaching the plugin host.
|
|
mshtml: Stop the plugin when detaching the plugin host.
|
|
mshtml: Expose the other remaining props for element.classList.
|
|
mshtml: Implement classList's contains() method.
|
|
mshtml: Implement classList's toggle() method.
|
|
mshtml: Implement classList's length prop.
|
|
mshtml: Implement classList's item() method.
|
|
mshtml: Implement indexed props for classList.
|
|
|
|
Giovanni Mascellani (1):
|
|
winegstreamer: Free the GStreamer buffer when freeing a WG parser stream.
|
|
|
|
Hans Leidekker (2):
|
|
webservices: Handle WS_XML_BUFFER_TYPE in get_field_read_option().
|
|
winhttp/tests: Fix a test failure.
|
|
|
|
Jacek Caban (16):
|
|
win32u: Use syscall interface for NtGdiOpenDCW.
|
|
win32u: Use syscall interface for more painting functions.
|
|
win32u: Use syscall interface for more painting functions.
|
|
win32u: Use syscall interface for more printer functions.
|
|
win32u: Use syscall interface for more path functions.
|
|
win32u: Pass blend function as DWORD to NtGdiAlphaBlend.
|
|
win32u: Use syscall interface for bitblt functions.
|
|
win32u: Use syscall interface for more bitmap functions.
|
|
win32u: Use syscall interface for D3DKMT functions.
|
|
win32u: Use syscall interface for DIB functions.
|
|
win32u: Use syscall interface for more DC functions.
|
|
win32u: Use syscall interface for more GDI object functions.
|
|
win32u: Use syscall interface for more font functions.
|
|
win32u: Use syscall interface for more font functions.
|
|
win32u: Use syscall interface for more clipping functions.
|
|
win32u: Use syscall interface for all ntgdi functions.
|
|
|
|
Jactry Zeng (8):
|
|
comdlg32: Calculate button height of toolbar with DPI for item dialog.
|
|
comdlg32: Set a size for toolbar buttons of the file access dialog.
|
|
shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags().
|
|
shell32: Implement IFolderView2_{Get, Set}CurrentFolderFlags().
|
|
shell32: Reimplement IFolderView2_SetCurrentViewMode() with modern behaviours.
|
|
shell32/tests: Move tests of IExplorerBrowser_SetFolderSettings() to a separated function and more tests.
|
|
shell32: Reimplement IExplorerBrowser_SetFolderSettings() with support of setting flags.
|
|
shell32: Update view mode flags while creating IShellView for IExplorerBrowser.
|
|
|
|
Jinoh Kang (4):
|
|
combase: Fix reading from beyond the end of a HGLOBAL stream.
|
|
combase: Compare AddRef() return value against 1 instead of 0 in find_proxy_manager.
|
|
combase: Prevent use-after-free due to a race with proxy_manager_destroy.
|
|
imm32: Don't erroneously start composition when handling IMC_SETOPENSTATUS.
|
|
|
|
Mohamad Al-Jaf (2):
|
|
msauddecmft: Add DllGetClassObject() stub.
|
|
msmpeg2vdec: Add DllGetClassObject() stub.
|
|
|
|
Nikolay Sivov (11):
|
|
d2d1: Implement IsSupported() for HWND target.
|
|
wineps: Fix names in paper sizes list.
|
|
mfmediaengine: Implement GetNumberOfStreams().
|
|
d2d1: Implement IsSupported() for DC target.
|
|
d2d1/tests: Use test context for more tests.
|
|
d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets.
|
|
d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget.
|
|
d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage.
|
|
d2d1: Improve GetDC()/ReleaseDC() handling on render targets.
|
|
d2d1: Create GDI-compatible swapchain only for corresponding target usage.
|
|
d2d1: Improve resource properties check when creating a bitmap.
|
|
|
|
Paul Gofman (16):
|
|
ntdll: Fix tail padding in mark_block_tail().
|
|
ntdll: Fix last block detection in heap_walk_blocks().
|
|
kernel32/tests: Add tests for subheap sizes.
|
|
ntdll: Better match Windows subheap sizes.
|
|
ntdll: Handle context overlap in call_user_exception_dispatcher() on x64.
|
|
wined3d: Only set changed.lights if wined3d_light_state_enable_light() changed state.
|
|
wined3d: Track per light state changes in stateblock.
|
|
wined3d: Use RB tree for storing lights.
|
|
nsiproxy.sys: Detect PPP interface type from flags on Linux.
|
|
ntdll: Handle NULL process handle in MapViewOfFile3().
|
|
ntdll: Pass allocation type to map_view().
|
|
ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
|
|
ntdll: Support MEM_REPLACE_PLACEHOLDER in map_view().
|
|
ntdll: Support MEM_REPLACE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
|
|
ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory().
|
|
ntdll/tests: Add more tests for placeholders.
|
|
|
|
Piotr Caban (27):
|
|
wineps: Convert WCHAR to Adobe Glyph name on PE side.
|
|
wineps: Store builtin fonts list in DEVMODE.
|
|
include: Add ddk/winddi.h header.
|
|
wineps: Add support for loading builtin fonts from NTF files.
|
|
wineps: Enumerate NTF fonts in enum_fonts.
|
|
wineps: Pass font data in NTF format to unixlib.
|
|
wineps: Don't pass PRINTERINFO structure to unixlib.
|
|
wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
|
|
wineps: Implement Wow64 entry points in the Unix library.
|
|
wineps: Use default devmode if winspool returns fake data.
|
|
winspool: Register wineps print processor before adding printer.
|
|
localspl: Fix wow64_start_doc Wow64 entry point.
|
|
wineps: Move BANDINFOSTRUCT definition to unixlib.c.
|
|
wineps: Define PSDRV_DEVMODE in unixlib.h.
|
|
wineps: Remove unix_ prefix from find_pagesize and find_slot functions.
|
|
wineps: Mark default DEVMODE const.
|
|
wineps: Simplify PSDRV_UVMetrics implementation.
|
|
wineps: Remove unused fields from print_ctx.
|
|
wineps: Don't store logPixels in print_ctx.
|
|
wineps: Don't store ImageableArea in print_ctx.
|
|
gdi32: Mark objects as not used before clearing handles table in emf_reset.
|
|
localspl: Implement AbortPrinter while spooling.
|
|
winspool: Add AbortPrinter implementation.
|
|
gdi32: Abort printing if DeleteDC is called before EndDoc.
|
|
wineps: Remove no longer used PSDRV_SelectDownloadFont helper.
|
|
wineps: Mark font as unset in PSDRV_SelectFont.
|
|
wineps: Fix download font escapement.
|
|
|
|
Rémi Bernon (48):
|
|
imm32: Update the IME composition window position after drawing.
|
|
imm32: Use DrawTextW to wrap IME composition string.
|
|
comctl32/edit: Notify IME on caret position, format_rect and font changes.
|
|
comctl32/edit: Delegate composition string rendering to the IME UI.
|
|
user32/edit: Notify IME on position, format_rect and font changes.
|
|
user32/edit: Delegate composition string rendering to the IME UI.
|
|
hid: Avoid printing uninitialized guid (Valgrind).
|
|
dinput/tests: Avoid leaking a IDirectInput reference (Valgrind).
|
|
dinput/tests: Avoid leaking data in add_file_to_catalog (Valgrind).
|
|
windows.gaming.input: Avoid leaking IDirectInputEffect reference (Valgrind).
|
|
winemac: Return the caret position in query_ime_char_rect.
|
|
winemac: Remove now unnecessary selected HIMC tracking code.
|
|
winemac: Use the default IME implementation for ImeSelect.
|
|
dinput/tests: Add a zero-terminator for hardware ids (Valgrind).
|
|
mf/tests: Release PROPVARIANT memory in check_attributes (Valgrind).
|
|
mf/tests: Avoid leaking media types in test_video_processor (Valgrind).
|
|
rtworkq: Release thread pool work object when work_item is destroyed (Valgrind).
|
|
winegstreamer: Fix the CS cleanup in wg_sample_queue_destroy (Valgrind).
|
|
winegstreamer: Free the params structure after setting the pool meta (Valgrind).
|
|
winegstreamer: Remove unnecessary wg_parser their_sink pad.
|
|
winegstreamer: Remove unnecessary wg_parser_stream their_src pad.
|
|
quartz: Avoid reading past the end of a buffer (Valgrind).
|
|
winex11: Use ime_comp_buf != NULL instead of ximInComposeMode.
|
|
winex11: Keep track of the cursor position on the XIM side.
|
|
winex11: Send an internal WM_IME_NOTIFY wparam to set open status.
|
|
winex11: Set or clear XIC focus using a xim_set_focus helper.
|
|
winex11: Post internal WM_IME_NOTIFY wparam on composition updates.
|
|
winex11: Include the XIM preedit and result text into the IME updates.
|
|
winex11: Generate IME messages using WM_IME_NOTIFY instead of callbacks.
|
|
winex11: Drop the x11drv_ime_update_association user callback.
|
|
winex11: Remove now unnecessary selected HIMC tracking code.
|
|
winex11: Use the default IME implementation for ImeSelect.
|
|
imm32: Get rid of the graphics driver loading mechanism.
|
|
imm32: Remove now unused members from ime_private.
|
|
dinput/tests: Add some tests with keyboard action mapping.
|
|
dinput: Delete the action mapping registry key on SetActionMap.
|
|
dinput: Reset action map mapping before loading the registry mapping.
|
|
dinput: Clear DIA_APPNOMAP BuildActionMap flag with specific device semantic.
|
|
dinput: Avoid remapping already mapped objects in BuildActionMap.
|
|
dinput: Delay input thread start until the first device acquire.
|
|
dinput/tests: Test that FromGameController also works with IRawGameController.
|
|
windows.gaming.input: Query IGameController interface in TryGetFactoryControllerFromGameController.
|
|
mf/tests: Simplify video processor expected input types checks.
|
|
mf/tests: Rename some variables in video processor transform tests.
|
|
mf/tests: Move broken video processor aperture to a separate test.
|
|
mf/tests: Add more video processor tests with RGB555 format.
|
|
mf/tests: Add some IV50 encoder / decoder tests.
|
|
imm32: Silence some unnecessary FIXMEs.
|
|
|
|
Sebastian Mayr (2):
|
|
d3d8/tests: Test IDirect3DDevice8::ValidateDevice() with various min, mag and mip filters.
|
|
wined3d: Improve d3d8 compatibility of texture filters.
|
|
|
|
Tim Clem (1):
|
|
wow64win: Only marshal MSGs in wow64_NtUserCallWindowsHook if needed.
|
|
|
|
Zebediah Figura (18):
|
|
qcap/audiorecord: Implement DecideBufferSize().
|
|
qcap/tests: Add tests for audio capture pin connection.
|
|
qcap/tests: Test audio capture allocator properties.
|
|
qcap/audiorecord: Open a winmm device when connecting.
|
|
qcap/audiorecord: Implement streaming.
|
|
qcap/tests: Test audio capture streaming.
|
|
user32/tests: Do not dump the message sequence when a todo succeeds on Windows.
|
|
user32/tests: Do not stop checking the message list when skipping an optional or unsupported message.
|
|
qcap/audiorecord: Implement IAMStreamConfig::SetFormat() and IAMStreamConfig::GetFormat().
|
|
qcap/audiorecord: Stub IKsPropertySet.
|
|
qcap/audiorecord: Implement IKsPropertySet::Get(&ROPSETID_Pin, AMPROPERTY_PIN_CATEGORY).
|
|
qcap/audiorecord: Stub IAMBufferNegotiation.
|
|
qcap/audiorecord: Implement IAMBufferNegotiation::SuggestAllocatorProperties().
|
|
qcap/tests: Remove duplicated tests for allocator identity.
|
|
mmdevapi/tests: Remove some unnecessary workarounds.
|
|
mmdevapi/tests: Run property store tests for all devices.
|
|
mmdevapi/tests: Add some tests for PKEY_AudioEngine_DeviceFormat.
|
|
xactengine: Use the xaudio2 channel.
|
|
|
|
Zhiyi Zhang (1):
|
|
d2d1/tests: Add some IsSupported() tests for HWND target.
|
|
|
|
Ziqing Hui (7):
|
|
mfreadwrite/tests: Add tests for MP4 sink writer.
|
|
mf/tests: Test GetInputStatus for WMV decoder DMO.
|
|
mf/tests: Test Discontinuity for WMV decoder DMO.
|
|
mf/tests: Test Flush for WMV decoder DMO.
|
|
winegstreamer: Implement GetInputStatus for WMV decoder DMO.
|
|
winegstreamer: Implement Discontinuity for WMV decoder DMO.
|
|
mf/tests: Add tests for MPEG4 media sink.
|