Software 42225 Published by

The Wine development release 2.13 is now available



What's new in this release (see below for details):
- Unicode data updated to Unicode 10.0.0.
- Nicer looking default mouse cursors.
- Persistent connections support in WinHTTP.
- Message Framing protocol support in WebServices.
- Improved metafile support in GdiPlus.
- Debug registers support in x86-64 exception handling.
- Anti-aliasing improvements in DirectWrite.
- Various bug fixes.

The source is available from the following locations:

http://dl.winehq.org/wine/source/2.x/wine-2.13.tar.xz
http://mirrors.ibiblio.org/wine/source/2.x/wine-2.13.tar.xz

Binary packages for various distributions will be available from:

http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://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 2.13 (total 33):

32418 Skylanders Spyro's Adventure can't find USB RFID reader, needs hid.dll.HidD_SetOutputReport implementation
36612 valgrind shows a definite leak in winhttp/tests/notification.c
36613 valgrind shows an unintialized write in winhttp/tests/notification.c
38296 Ion Assault (Steam) crashes before the main menu (IWMReader::QueryInterface doesn't support IWMReaderAdvanced2, 'ae14a945-b90c-4d0d-9127-80d665f7d73e')
39833 File not found error when loading fmod audio in Dungeon of the Endless
42275 Biet-O-Matic chm help without directory entry
42528 Grand Theft Auto 5 crashes while loading
42537 Tomb Raider 2013 has medium graphic glitches
42653 Wine x64 does not set debug registers in exception record
42918 Command and Conquer Red Alert 3: should display at least silhouette (pSkipConstants parameter for D3DXCreateEffectEx is ignored)
43099 The Technomancer requires MFCreateSourceReaderFromByteStream implementation
43112 Guitar Pro 7 needs msvcp140.dll._Stat
43160 The Witcher 3: puppeteer lines appearing on character
43194 Uprising/Uprising 2: 3D world not displayed (solid grey/black screen)
43196 Eve Online Crash on macos wined3d-csmt.dll.so buffer_destroy_buffer_object()
43231 Dai-Senryaku Perfect 3.0:Not draw background with GDI.
43265 Regression makes Steam game Rabi-Ribi run too fast
43268 Wargaming.net Game Center needs msvcp140.dll._To_byte
43275 Sacred Gold v2.28 (GOG.com): invisible characters
43283 Crazyracing KartRider: Crashes on startup on unimplemented function ntoskrnl.exe.IoCreateNotificationEvent
43295 BitLord crashes on unimplemented function IPHLPAPI.DLL.if_nametoindex
43302 widl incorrectly generates _Proxy functions in header
43303 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.acosh
43304 PHP crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.atanh
43305 numpy crashes on unimplemented function api-ms-win-crt-math-l1-1-0.dll.log1p
43307 Wargaming Game Center periodically crashes with msvcp140.dll._Current_get
43312 valgrind shows a definite leak in dlls/d2d1/tests/d2d1.c
43315 Steam fails to start [After update Thu, 06 Jul 2017]
43317 Icons has a pink color background
43334 winealsa.drv: Warning while building (GCC 7.1.1)
43341 valgrind shows some definite leaks in dlls/gdiplus/tests/graphicspath.c
43348 valgrind shows some definite leaks in dlls/msacm32/tests/msacm.c
43373 valgrind shows an invalid free in dlls/dwrite/tests/font.c

----------------------------------------------------------------

Changes since 2.12:

Akihiro Sagawa (3):
po: Update Japanese translation.
ntdll: Allow map_view() to allocate fixed memory between reserved area and non-reserved area.
gdi32: Return non-zero VREFRESH value for display devices.

Alex Henrie (10):
msvcr120: Correct asinh specfile definitions.
msvcr120: Correct erff specfile definition.
msvcr120: If erff is not available, fall back to erf.
msvcr120: Add acosh.
msvcr120: Add atanh.
msvcr120: Add erfc.
msvcr120: Add expm1.
msvcr120: Add log1p.
msvcr120: Set errno in log2.
msvcrt: Don't set errno in log functions if x is positive infinity.

Alexandre Julliard (37):
configure: Allow specifying different CFLAGS for the cross compiler.
kernel32/tests: Wait for threads to terminate.
user32: Implement LR_MONOCHROME for loading cursors.
winex11: Load a monochrome cursor instead of converting a color one when possible.
user32: Match cursor size in priority over color depth.
gdi32: Avoid having the source alpha channel interfere with color comparisons in GdiTransparentBlt.
server: Return the top surface window even when not using OpenGL.
user32: Add a helper function for copying bits from a window surface.
user32: Copy the bits of child windows when the parent has a surface.
wineandroid: Add a generation number to the native window to catch when old buffers are queued.
wineandroid: Hold on to the native window until we get a new one.
tools: Add support for generating cursor files from SVG.
user32: New high resolution cursors generated from SVG.
comctl32: New high resolution cursors generated from SVG.
ole32: New high resolution cursors generated from SVG.
riched20: New high resolution cursor generated from SVG.
wordpad: New high resolution cursor generated from SVG.
user32/tests: Add some tests for WindowFromDC and destroyed windows.
winex11: Store the process name at startup to avoid grabbing the loader lock again.
opengl32: Add some tests for last error with an invalid DC.
user32: Also disable the DC if the window is destroyed without a ReleaseDC.
ntdll: Remove unnecessary helper to set debug registers.
ntdll: Add helper functions for getting and setting thread context through the server.
ntdll: Move NtSetContextThread implementation to the platform-specific files.
ntdll: Move NtGetContextThread implementation to the platform-specific files.
ntdll: Don't copy cached debug registers from the parent thread.
wined3d: Make sure we are still using the correct window before setting pixel format.
ntdll: Add platform-specific versions of the thread data structure.
ntdll: Move the plaform-independent thread data to the GdiTebBatch TEB field.
ntdll: Move the plaform-specific thread data to the SystemReserved2 TEB field.
ntdll: Add support for debug registers in exceptions on x86-64.
user32: Don't exclude clipped children from the copied window bits since they may be up to date.
ntdll: Call NtRaiseException directly from RtlRaiseException on x86-64.
ntdll: Remove the raise_exception helper function on x86-64.
ntdll: Call NtRaiseException directly from RtlRaiseException on i386.
ntdll: Add small assembly wrappers for snooping instead of saving/restoring the entire context.
include: Undefine PARITY_NONE to avoid warnings.

Alistair Leslie-Hughes (8):
widl: Only generate Proxy Stubs when functions have the call_as attribute.
mfreadwrite.idl: Add enum MF_SOURCE_READER_FLAG and EXTERN_GUID defines.
wmvcore: Support IWMReaderStreamClock interface in IWMReader.
wmvcore: Support IWMReaderTypeNegotiation interface in IWMReader.
mfplat/tests: Add MFCreateAttributes tests.
wmvcore: Support IWMReaderTimecode interface in IWMReader.
wmvcore: Support IWMReaderPlaylistBurn interface in IWMReader.
include: Support all version of BackgroundCopyManager from bits.h.

Andrey Gusev (4):
api-ms-win-core-psapi-ansi-l1-1-0: Add dll.
api-ms-win-mm-time-l1-1-0: Add dll.
api-ms-win-security-provider-l1-1-0: Add dll.
winealsa.drv: Fix uninitialized variable warning.

André Hentschel (3):
vcomp: Add ARM64 support.
winemaker: Remove trailing semicolon from PreprocessorDefinitions.
wpcap: Fix build with newer pcap versions.

Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.

Austin English (1):
ntoskrnl.exe: Add IoCreateNotificationEvent stub.

Can Taşan (1):
po: Update Turkish translation.

Daniel Lehman (1):
kernel32/tests: Increase timeout for loader test.

François Gouget (2):
gdiplus: Remove a duplicate word in a comment.
windowscodecs/tests: A spelling fix in an ok() message.

Gerald Pfeifer (1):
user.exe16: Fix ADD_TO_T macro.

Hans Leidekker (21):
webservices: Store byte records as WS_XML_BASE64_TEXT.
webservices: Add support for union types in the writer.
webservices: Add support for union types in the reader.
webservices: Add support for appending byte records in the reader.
webservices: Add support for setting the channel encoding.
webservices: Store all text in native format in binary mode.
webservices/tests: Add tests.
webservices: Handle all supported native text types in the reader type conversion.
webservices: Add support for 16-bit length text records in the writer.
webservices: Add support for byte records in the writer.
webservices: Add support for BOOL records in the writer.
webservices: Add support for integer records in the writer.
webservices: Add support for double records in the writer.
webservices: Add support for GUID records in the writer.
webservices: Add support for UNIQUE_ID records in the writer.
webservices: Add support for DATETIME records in the writer.
webservices/tests: Add tests.
webservices: Add support for reading float values.
webservices: Set default channel envelope and addressing versions.
webservices: Write Action and To headers unless the addressing version is WS_ADDRESSING_VERSION_TRANSPORT.
webservices: Implement the Message Framing Protocol.

Henri Verbeet (10):
d3drm/tests: Simplify a conditional expression.
winex11: Only use glXSwapBuffersMscOML() for child windows.
wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float().
wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate.
wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear().
wined3d: Simplify the render target check in ffp_blitter_clear().
wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear().
wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.
wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU.
wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt().

Hugh McMaster (23):
regedit: Null-terminate REG_EXPAND_SZ and REG_MULTI_SZ hex data during concatenation if we reach EOF.
regedit: Update the status bar text when a treeview node is renamed.
regedit: Update the listview path when renaming a treeview node.
regedit: Output an error message and exit with error code zero instead of calling exit(1).
regedit: Update some resource strings associated with key parsing.
regedit: Update string resources associated with key deletion.
regedit: Remove the unused _CmdWndProc callback function from listview.c.
regedit: Move treeview notify messages to a separate function.
regedit: Remove the listview's sub-class and move its messages to childwnd.c.
regedit: Use UpdateStatusBar() instead of updating the text manually.
regedit: Re-implement some parts of the export operation.
regedit: Read registry value information before exporting.
regedit: Export value names from a separate function.
regedit: Export REG_DWORD data from a separate function.
regedit: Use a helper function to export hex data and REG_DWORD data.
regedit: Export REG_SZ data via the export_data() function.
regedit: Append a newline to the end of the export file.
regedit: Export value names from the export_data() function.
regedit: Remove an unused #define.
regedit: Remove unused header includes from regproc.c.
regedit: Re-size the data export buffer using the required size instead of doubling it.
reg: Avoid using RegQueryInfoKey() to enumerate subkeys and values in the query operation.
reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation.

Jacek Caban (22):
server: Don't allow APCs on objects associated with completion port.
winhttp/tests: Make notification tests more strict.
winhttp: Store security_flags in request_t instead of netconn_t.
winhttp: Allocate netconn_t separately from request_t.
winhttp: Use notification flags to explicitly mark notifications that should signal an event.
winhttp/tests: Make sure that all notifications were called before the end of a test.
winhttp: Get rid of no longer needed netconn_init.
winhttp: Pass socket address as sockaddr_storage to netconn_connect.
winhttp: Store socked address in netconn_t.
winhttp: Merge netconn_create and netconn_connect implementations.
winhttp: Introduce global connected hosts store and keep reference to host in netconn_t.
winhttp: Cache and reuse persistent HTTP connections.
winhttp: Periodically free outdated connections.
winhttp/tests: Added persistent connection tests.
mshtml: Added IHTMLDOMNode3 stub implementation.
mshtml: Forward duplicated IHTMLDOMNode3 functions to IHTMLDOMNode implementation.
mshtml: Expose IHTMLDOMNode3 interface to scripts.
mshtml: Support returning VT_NULL from return_nsstr_variant.
mshtml: Added IHTMLDOMNode3::get_textContent implementation.
mshtml: Added IHTMLDOMNode3::put_textContent implementation.
server: Remove no loner needed fd NULL check (Coverity).
rsaenh: Do not use stack variables out of frame (Coverity).

Jactry Zeng (2):
powershell: Add a stub program.
kernel32: Add stub for ResolveLocaleName.

Jens Reyer (2):
make_unicode: Update data tables to Unicode 10.0.0.
make_unicode: Use VerticalOrientation.txt from UCD.

Józef Kucia (19):
wined3d: Avoid creating event queries manually.
wined3d: Clean up buffer_sync_apple().
wined3d: Introduce wined3d fence objects.
d3d10core/tests: Prefer draw_color_quad() to custom pixel shader.
d3d11/tests: Prefer draw_color_quad() to custom pixel shader.
wined3d: Implement SM5 swapc instruction.
d3d11/tests: Add test for swapc instruction.
wined3d: Translate bfi, ubfe, ibfe instructions more carefully.
wined3d: Translate ld_{raw, structured} instructions more carefully.
d3d11/tests: Add additional tests for SM5 bit instructions.
d3d11: Handle D3D11_MAP_WRITE map type.
d3d11: Introduce d3d_blend_state_create() helper function.
d3d11: Fix race condition in d3d_blend_state_create().
d3d11: Introduce d3d_depthstencil_state_create() helper function.
d3d11: Fix race condition in d3d_depthstencil_state_create().
d3d11: Introduce d3d_rasterizer_state_create() helper function.
d3d11: Fix race condition in d3d_rasterizer_state_create().
d3d11: Introduce d3d_sampler_state_create() helper function.
d3d11: Fix race condition in d3d_sampler_state_create().

Kim Malmo (2):
po: Update Norwegian translation.
po: Update Norwegian translation.

Kimmo Myllyvirta (1):
ws2_32: Set return size when calling WSAIoctl with WS_SIO_GET_EXTENSION_FUNCTION_POINTER.

Lauri Kenttä (1):
po: Update Finnish translation.

Marcus Meissner (1):
gameux: Avoid freeing uninitialized interfaces (Coverity).

Mark Jansen (1):
shell32: Prevent a possible null pointer dereference in SHGetFileInfoW.

Matteo Bruni (1):
d3dx9: Get rid of a forward declaration.

Michael Stefaniuc (5):
d2d1: Make use of the available ARRAY_SIZE macro.
d3dx9/tests: Use string concatenation for a multiline string.
include: Fix the name of a method of IDirectMusicLoader.
dmloader: Initialize a stack variable to avoid erratic test behavior.
dmloader/tests: NUL terminate a wide string.

Mikhail Paulyshka (1):
msvcp140: Implement _To_byte.

Nikolay Sivov (29):
d3drm: Use existing helper to manage child frames array.
d3drm: Use existing helper to manage lights array.
d3drm: Use existing helper to manage visuals array.
d3drm: Use existing helper to manage mesh groups.
wininet: Fix potential use-after-free (Coverity).
po: Update Russian translation.
d2d1: Added a helper to trace D2D1_RECT_F arguments.
d2d1/tests: Fix stroke style object leak (Valgrind).
dwrite: Avoid repeated method calls during run rendering.
advapi32/tests: Statically link to ConvertSidToStringSidA().
advapi32/tests: Fix a sid string leak (Valgrind).
po: Update Russian translation.
regedit: Simplify double-click listview handler.
msacm32/tests: Fix a memory leak in tests (Valgrind).
dwrite: Improve rendering parameters validation.
dwrite: Use antialias mode set for bitmap render target.
dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun().
dwrite: Trace user-provided OpenType feature set.
d2d1: Pass current text antialias mode down to IDWriteGlyphRunAnalysis.
d2d1: Enforce text antialias mode vs text rendering mode consistency.
d2d1: Force appropriate antialiasing mode when drawing text elements using 2D primitives.
dwrite: Added ability to specify multiple families per fallback range.
dwrite/tests: Use empty text in line metrics test.
d3drm/tests: Fix a leak in tests (Valgrind).
xmllite/tests: Use input stream helper in more tests.
dwrite: Print missing table message as a trace.
dwrite: Fix cache entry use-after-free (Valgrind).
xmllite/reader: Implement MoveToAttributeByName().
xmllite/reader: Added a helper for setting current attribute cursor.

Paul Gofman (9):
d3dx9/tests: Add test for skip_constants effect parameter.
d3dx9: Factor out is_parameter_used() function.
d3dx9: Simplify init and cleanup in get_constants_desc().
d3dx9: Get rid of init_set_constants() function.
d3dx9: Fail effect creation when parameter evaluator creation fails.
d3dx9: Introduce d3dx_shader_get_ctab_constant() function and use it instead of ID3DXConstantTableImpl_GetConstantDesc().
d3dx9: Support skip_constants parameter for effect.
d3dx9/tests: Add more tests for skip_constants effect parameter.
d3dx9: Fix potential memory leak on HeapReAlloc() failure in get_constants_desc().

Piotr Caban (27):
gdiplus: Remove unused clsid parameter from encode_image_func helpers.
gdiplus: Add partial support for GdipDrawImagePointsRect on metafile.
gdiplus: Add function for managing metafile objects id.
gdiplus: Add support for ImageAttributes when drawing image to metafile.
gdiplus: Support GdipSetTextRenderingHint in metafiles.
gdiplus: Support GdipSetPixelOffsetMode in metafiles.
msvcp90: Remove special handling of directories in tr2::sys::_File_size.
gdiplus: Support GdipSetSmoothingMode in metafiles.
gdiplus: Support GdipSetCompositingMode in metafiles.
gdiplus: Support GdipSetCompositingQuality in metafiles.
gdiplus: Support GdipSetInterpolationMode in metafiles.
gdiplus: Add EMF+ properties records tests.
msvcr120: Add fallback implementation of erf function.
msvcr120: Add fallback implementation of asinh.
gdiplus: Add DrawPath stub for metafiles.
gdiplus: Add helper for saving path objects in metafile.
gdiplus: Add helper for saving pens to metafile.
gdiplus: Add partial support for GdipDrawPath on metafiles.
gdiplus: Add partial support for GdipFillPath on metafiles.
gdiplus: Fix GdipGetVisibleClipBounds behavior on metafiles.
msvcr120: Fix exception object refcounting in __ExceptionPtrAssign.
gdiplus: Add support for creating image object containing metafile.
gdiplus/tests: Test drawing metafile image to emf+ file.
gdiplus: Use VERSION_MAGIC2 constant in metafiles functions.
gdiplus: Store newer gdi+ version in created GdipRegions.
gdiplus: Add write_path_data helper to create EMF+ path object.
gdiplus: Use write_path_data helper in GdipGetRegionData.

Sebastian Lackner (5):
webservices: Remove dead code in read_attribute_value_bin.
reg/tests: Don't call RegCloseKey on uninitialized memory.
wined3d: Return hr result in wined3d_event_query_create.
configure: Improve check for if_nameindex.
winhttp: Rename host_t to hostdata_t.

Stefan Dösinger (6):
msvcp140: Remove a redundant check.
msvcp140: Implement _File_size.
msvcp140: Implement _Current_get.
msvcp140: Export _Current_set.
msvcp140: Implement _Stat and _Lstat.
msvcp140/tests: Port test_dir_operation to msvcp140.

Vincent Povirk (2):
gdiplus: Fix leak in widen_dashed_figure.
gdiplus: Don't require specific gdi+ versions in metafile structures.

Zebediah Figura (17):
msi: Correctly format the template field for MsiProcessMessage().
msi: Allow setting NULL in MsiSetInteger().
msi: Provide the result of the last action.
msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
msi: Rewrite dump_record().
msi: Return the correct values from custom actions.
msi: Properly parse empty format strings.
user32: Calculate a window's minimized size even if it's already minimized.
user32: Allow activating the desktop window.
msi/tests: Use static linking for a couple functions.
msi: Avoid a null pointer dereference.
msi: Don't set _BrowseProperty.
msi: Process ShowDialog/EndDialog after all other control events.
msi: Don't queue a parent dialog to be shown in EndDialog.
msi: Send the dialog created message in dialog_create().
krnl386.exe16: Fail int 21, 4e if the volume label is an empty string.
dbghelp: Silence a noisy FIXME.
  Wine 2.13 released