The Wine development release 2.16 is now available. What's new in this release (see below for details): - Support for pasting metafiles in RichEdit. - Better support for grayscale PNG images. - Support for safety features in library loading. - Better handling of transforms in GdiPlus. - Rendering improvements in DirectWrite. - Various bug fixes. The source is available from the following locations: http://dl.winehq.org/wine/source/2.x/wine-2.16.tar.xz http://mirrors.ibiblio.org/wine/source/2.x/wine-2.16.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.16 (total 19): 26046 comctl32/monthcal tests show some invalid reads under valgrind 28741 Odd coordinate in hit test causes uninitialized value references in MONTHCAL_CalculateDayOfWeek()? 35282 Multiple applications/installers need 'reg.exe' 'import' operation implementation (Muvee Reveal 8.0.x) 35935 Enterprise Architect fails to draw basic shapes when using gdiplus 37982 Illustrator CS6: alternate color selection does not display colours 40025 Winrar installer fails to start 42256 PhotoFiltre 6 and 7 don't erase the mouse selection when dragging it 42891 Unigine Superposition needs unimplemented function KERNEL32.dll.AddDllDirectory 43293 strange behavior- Eudora scrambles email addresses 43328 dotnet 4.5 applications crash in factory_get_cached_fontface 43389 valgrind shows a few invalid reads in dlls/wsdapi/tests/xml.c 43391 valgrind shows several definite leaks in programs/regedit/tests/regedit.c 43392 valgrind shows a couple invalid reads in programs/regedit/tests/regedit.c 43423 Multiple applications and games need 'ProgramData' environment variable set (SteelSeries Engine SDK based games, World of Warships 0.6.9+) 43510 Monster Girl Quest: crashes while playing 43536 WIC can't encode to GUID_WICPixelFormat32bppPBGRA PNG 43603 clipboard PIXMAP regression after upgrading from 1.8.x to 2.x 43617 [Crash] Application crash when running C:\GOG Games\Baldur's Gate\BGMain2.exe 43632 Drop down menu for DLL override doesn't work ---------------------------------------------------------------- Changes since 2.15: Alex Henrie (1): include: Allow programs to take the address of byte-swapping functions. Alexandre Julliard (32): winex11: If importing an X11 clipboard format fails, try other candidate formats for the target. gdi32/tests: Add a test case for DIB color painting. gdi32: Always dither brush when painting to a 1-bpp device. gdi32/tests: Run DIB tests also against a monochrome DDB. gdi32: Pass the brush origin explicitly to the brush backend functions. gdi32: Use the correct brush origin when the blit operation requires an intermediate bitmap. gdi32: Do not dither non-extended wide pens. kernel32: Implement safe dll search mode. kernel32: Implement SetDefaultDllDirectories. kernel32: Add support for LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE flag. include: Add libloaderapi.h. oleaut32: Don't copy uninitialized data. shell32: Avoid zeroing a buffer that will get overwritten. propsys: Don't use the format string size as buffer size. crypt32/tests: Increase buffer size to avoid gcc warnings. kernel32: Implement AddDllDirectory and RemoveDllDirectory. kernel32: Add helper functions for building the load path. kernel32: Implement LOAD_LIBRARY_SEARCH_* flags. kernel32/tests: Add tests for the LOAD_LIBRARY_SEARCH_* flags. kernel32/tests: Fix a dll reference leak. kernel32: Implement safe search mode for SearchPath. kernel32/tests: Add tests for SetSearchPathMode. rsaenh: Avoid potential buffer overflows in registry key name. wintrust: Increase buffer size to silence a gcc warning. crypt32: Increase buffer size to silence a gcc warning. kernel32/tests: Use function pointers to avoid gcc warnings for invalid parameter tests. ntdll: Store the PEB lock pointer in the PEB. fusion/tests: Correctly test non-string properties. fusion/tests: Simplify directory recursion and avoid redundant buffers. kernel32: Silence buffer overflow gcc warnings. user32: Consistently print the HDC value in DCE traces. user32: Use the correct top-level window when activating through a mouse click. Alistair Leslie-Hughes (7): sxs: Use standard wine_dbgstr_longlong. fusion: Use standard wine_dbgstr_longlong. quartz: Use standard wine_dbgstr_longlong. include: Add IWMPEvents/2/3/4 and supporting interfaces. wmp/tests: Add tests for IConnectionPointContainer. ntdll: Use standard wine_dbgstr_longlong. wininet: Use standard wine_dbgstr_longlong. Andrew Eikum (3): gdiplus: Fix copy-paste typo. gdiplus: Don't call PlayEnhMetaFileRecord for records handled by gdiplus. gdi32: Update metafile world transform immediately in winnt mode. Andrey Gusev (3): api-ms-win-eventing-legacy-l1-1-0: Add dll. avrt: Add AvQuerySystemResponsiveness stub. api-ms-win-core-kernel32-legacy-l1-1-1: Update spec file. Anton Romanov (1): windowscodecs: PNGEncoder: Return 32bppRGBA pixel format by default. Aurimas Fišeras (1): po: Update Lithuanian translation. Austin English (2): advapi32: Only show OpenTraceA/W FIXME once. advapi32: Only show NotifyServiceStatusChangeW FIXME once. Changhui Liu (2): gdiplus/tests: Add test for hdc with window origin point changed. gdiplus/tests: Add drawing tests for GdipFillRegion with gdi transform. Dmitry Timoshkov (6): gdiplus/tests: Add a test for loading PNG grayscale images. user32/tests: Test DialogBoxParam using a dialog template with invalid control class. user32: DialogBoxParam should return -1 when dialog control creation fails. gdiplus: Force conversion of 8 bpp grayscale PNG images to 32 bpp BGRA. gdiplus/tests: Add a test for image flags to PNG grayscale image tests. gdiplus: Set correct color space flags for grayscale images. Fabian Maurer (10): user32/combo: Set listbox popup height correctly and add tests. winecfg: Use proper size for combobox controls. comctl32/tests: Use proper size for combobox controls. comdlg32: Use proper size for combobox controls. cryptui: Use proper size for combobox controls. dinput: Use proper size for combobox controls. joy.cpl: Use proper size for combobox controls. serialui: Use proper size for combobox controls. wineps.drv: Use proper size for combobox controls. wineconsole: Use proper size for combobox controls. Hans Leidekker (2): webservices: Create a new HTTP request for each message. webservices: Set cache control headers. Hugh McMaster (15): reg/tests: Pass MultiByteToWideChar() the buffer size in characters. reg/tests: Free the WCHAR memory buffer if CreateFile() fails. regedit/tests: Add Unicode import tests and remove the WCHAR support check. regedit/tests: Delete the test registry key before starting each test. regedit/tests: Add Unicode tests for importing registry data with inter-mixed comments. regedit/tests: Add Unicode tests for importing registry data with whitespace. regedit/tests: Add Unicode tests for registry key creation and deletion. regedit/tests: Add Unicode tests for value deletion. regedit/tests: Add Unicode tests for importing invalid registry data. regedit/tests: Add some mixed key creation and deletion tests. regedit: Close any open registry keys before starting the key deletion process. reg/tests: Add some mixed key creation and deletion tests. reg: Close any open registry keys before starting the key deletion process. regedit: Null-terminate incomplete REG_EXPAND_SZ and REG_MULTI_SZ Unicode data. reg: Null-terminate incomplete REG_EXPAND_SZ and REG_MULTI_SZ Unicode data. Huw D. M. Davies (11): riched20: Move the editor initialization out of CreateTextHost(). riched20: Retrieve the default paragraph alignment from the text host. riched20: Initialize ME_TextEditor members in ME_MakeEditor(). riched20: Don't create a special richedit ole instance for the RTF parser. riched20: Add support for EM_PASTESPECIAL. riched20: Use the implementation of EM_PASTESPECIAL for WM_PASTE. riched20: Use the implementation of EM_PASTESPECIAL for EM_CANPASTE. riched20: Add support for pasting EMFs. gdi32: Cache the device caps from the reference dc, since the dc may become invalid. wineps: Fall back to the null driver for common device caps. riched20: Remove the separate implementation of IOleWindow as IOleInPlaceSite inherits from IOleWindow. Jacek Caban (7): jscript: Added support for VT_R4 VARIANT types. mshtml: Return documentMode as VT_R4. mshtml: Don't allow changing document mode after script insertion or when it's already set. mshtml: Added delayed DispatchEx init support and use it to expose IHTMLDOMNode3 from document node. mshtml.idl: Added IHTMLDocument8 declaration. mshtml: Added IHTMLDocument6::getElementById implementation. mshtml: Properly expose IHTMLDocument6 interface to scripts. Józef Kucia (6): wined3d: Avoid potential NULL pointer dereference (Coverity). d3d10core/tests: Remove needless assignment. d3d11/tests: Remove needless assignment. d3d11/tests: Add 10_1 to default feature levels list. d3d11: Simplify d3d10_query_GetData(). msvcrt: Fix precision handling for string arguments. Lauri Kenttä (1): po: Update Finnish translation. Marcus Meissner (1): kernel32/tests: Fixed size to GetTempPathW. Miklós Máté (1): winex11: Improve the desktop resolution list. Nikolay Sivov (21): po: Update Russian translation. dwrite: Use more readable names for spacing attributes. dwrite: Set drawing effect for trimming sign. dwrite: Split initial cluster computation by stage. dwrite: Use safer method to set per-factory system collection reference. dwrite: Use safer method to set per-factory EUDC collection reference. dwrite/tests: Some tests for system font set. gdiplus: Use defined constants for wrap modes. dwrite/tests: A test to draw trimming sign with drawing effect. d2d1: Pass inline object effect through rendering context. dwrite: Don't use drawing effect for trimming signs. dwrite: Set leading text alignment for default trimming sign. dwrite: Remove unused call. dwrite: Improve empty contours handling in GetGlyphRunOutline(). wsdapi: Fix use-after-free when checking for unique prefix (Valgrind). wsdapi/tests: Use constants for test strings when possible. comctl32/monthcal: Initialize day field before setting final hit test result (Valgrind). comctl32/monthcal: Make sure set today date is valid before using it (Valgrind). comctl32/monthcal: Make sure set focus date is valid before using it (Valgrind). dwrite: Fix proportional spacing method. d2d1: Fix rounding when setting scissor rectangle. Paul Gofman (10): d3d9/tests: Add tests for setting vertex shader constants in SWVP and MVP modes. d3d9/tests: Add tests for SW shaders creation in SWVP and MVP modes. d3d9/tests: Add test for SW shader in MVP mode. d3dx9: Factor out set_constants_device() function. d3dx9: Get rid of constants modification bitmasks. d3dx9: Do not support preshader instructions which output multiple registers. d3dx9: Dump bytecode if parameter evaluator creation failed. d3dx9: Use bitmask instead of BOOL array for light_updated. d3dx9/tests: Add test for effect with unsupported shader. d3dx9: Do not fail effect creation if a shader cannot be created. Stefan Dösinger (3): wined3d: Avoid writing queue->head in the CS thread. wined3d: Do not call queue_is_empty in wined3d_cs_mt_finish. ws2_32: Also check the FQDN when injecting the local IP. Vincent Povirk (15): wmphoto: Add stub dll. wmphoto: Register WMP encoder and decoder classes. shell32: Change default ProgramData folder and set ProfileList key. kernel32: Set the ProgramData environment variable. gdiplus: Check for invalid coordinate space in GdipTransformPoints. gdiplus: Replace DPtoLP with an internal coordinate space constant. gdiplus: Test that clip region doesn't account for gdi32 transform changes. gdiplus: Transform clipping region to gdi device coordinates. gdiplus: Test that GdipGetRegionHRgn includes gdi32 transform. gdiplus: Account for gdi transform in SOFTWARE_GdipFillRegion. gdiplus: Account for gdi transform in brush_fill_pixels. gdiplus: Use SOFTWARE_GdipDrawPath with alpha hdc's. gdiplus: Account for gdi32 transform in GdipDrawImage. gdiplus: Send paths to gdi32 in device coordinates. gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath. -- Alexandre Julliard julliard@winehq.org