The Wine development release 1.7.40 is now available. What's new in this release (see below for details): - Support for kernel job objects. - Various fixes to the ListView control. - Better support for OOB data in Windows Sockets. - Support for DIB images in the OLE data cache. - Improved support for MSI patches. - Some fixes for ACL file permissions. - Various bug fixes. The source is available from the following locations: http://prdownloads.sourceforge.net/wine/wine-1.7.40.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.40.tar.bz2 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 1.7.40 (total 29): 19231 Trine Demo fails to start without native d3dx9_36 21433 InqScribe: Installed fine, but no output or UI response when running installed app 22139 CDBurnerXP 3.0.x produces a "fail" message after choosing a mode 26223 Multiple apps and games need wmvcore.dll.WMCreateReader implementation (Nail'd demo) 26748 World Series of Poker crashes when starting up a game 30648 SEGA Genesis / Mega Drive Classic Collection (Steam) crashes on startup 30723 Playchess listview control is broken 31579 Microsoft Visio 2007-2010 crashes on exit (unload of msctf component with ThreadMgr/CBT hook still alive) 32361 epson stylus t13 installer problem: wine: Unimplemented function setupx.dll16.DiOpenClassRegKey 33164 row-resize / col-resize cursor is wrong (Listview) 34254 Wine64 seh:RtlUnwindEx error with c++ exception handling 35135 Air Video Server HD 1.x crashes on startup (NULL SERVER_INFO_101.sv101_comment returned from NetServerGetInfo) 36133 valgrind shows some leaks in gdiplus/tests/image.c 36190 comdlg32/itemdlg shows a ton of valgrind warnings 36305 valgrind shows a possible leak in netapi32/tests/access.c 36332 Total Commander 8.x: moving files between folders renders them inaccessible (SetNamedSecurityInfo) 36656 valgrind shows an unintialized write in comdlg32/tests/itemdlg.c 36709 Multiple applications/games from Windows 7 need slc.SLGetWindowsInformationDWORD semi-stub/implementation 36842 Can't set a static crontrol's text to empty by passing NULL pointer 37731 Montezuma's Revenge Remake fails with fatal error when quitting the game 37960 Paint.NET 4.0.5 does not install: unimplemented function KERNEL32.dll.QueryThreadCycleTime 38205 Unreal Tournament 3 Black Edition installer fails after the language selection 38238 user32:input right-clicks outside its windows 38248 Worms World Party (w/SetCooperativeLevel workaround/hacks) and older versions of Worms Armageddon black screen on startup 38256 Myst Online Uru Live: too dark/missing textures 38261 Playchess doesn't install anymore 38282 Header control fails to update/synchronize listview when columns order changes 38288 Wrong pointer in icnsformat.c IcnsFrameEncode_WriteSource 38317 winetricks xna31 fails ---------------------------------------------------------------- Changes since 1.7.39: Aaryaman Vasishta (1): d3drm: Fix hard-coded HRESULT return in Direct3DRMFrame_create. Alexandre Julliard (11): server: Fix the string type in traces for I/O completion names. dsound: Fix an error return code. server: Post a notification to the desktop window when a top-level window is destroyed. explorer: Cleanup system tray icons when their owner is destroyed instead of polling. winex11: Cleanup system tray icons when their owner is destroyed instead of polling. user32: Remove left-over freeing of the edit text with ES_PASSWORD. comctl32: Print full flag values in traces. msacm32: Print full flag values in traces. riched20/tests: Print full flag values in traces. user32/tests: Print full flag values in traces. winmm: Print full flag values in traces. Alistair Leslie-Hughes (2): odbccp32: Implement SQLWritePrivateProfileStringA/W. msctf: Always return FALSE in DllCanUnloadNow. Andrew Cook (15): kernel32/tests: Add tests for IsProcessInJob. kernel32/tests: Add tests for TerminateJobObject. kernel32/tests: Add tests for QueryInformationJobObject. kernel32/tests: Add tests for job object completion ports. kernel32/tests: Add tests for JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE. kernel32/tests: Add tests for JOB_OBJECT_LIMIT_BREAKAWAY_OK. kernel32/tests: Add tests for job inheritance. kernel32/tests: Extend IsProcessInJob tests. server: Implement CreateJobObject. server: Implement AssignProcessToJobObject. server: Implement IsProcessInJob. server: Implement job limit flags. server: Implement job inheritance. server: Implement io completion messages for job objects. server: Track handle count of objects. Andrew Eikum (2): oleaut32: Allow typelib filenames longer than MAX_PATH. wineoss.drv: Don't skip over position updates of less than one fragment. Andrey Gusev (1): d3dx9_36: Assorted spelling and typos fixes. André Hentschel (5): include: Add more header guards. ntdll: Add support for FreeBSD on ARM. ntdll: Fix CPU level on ARM. ntdll: Get available CPU info from FreeBSD on ARM. loader: Run checks also on ARM Linux. Aric Stewart (2): wineqtdecoder: Unload the AsyncReader on movie processing failure. winmm: sndPlaySound can play resource sounds. Austin English (2): kernel32: Add a stub for QueryThreadCycleTime. include: Add initial mfapi.h. Bruno Jesus (13): netapi32/tests: Fix a memory leak (Valgrind). netapi32: Return an empty comment instead of NULL pointer in NetServerGetInfo. winmm/tests: Add a basic joystick interactive test. ws2_32: Don't try to receive data in an OOB_INLINED socket with MSG_OOB. ws2_32: Convert send/recv flags to native system. ws2_32: Add a helper to check if a socket is bound or not. ws2_32: Ensure sockets in exceptfds get set when an error occurs. ws2_32: Do not poll unbound descriptors. ws2_32: Check for OOB data in select() calls when not OOB_INLINED. ws2_32/tests: Add more WSAEnumNetworkEvents tests. ws2_32/tests: Skip part of OOB test to unfreeze NT4 test. ws2_32: Fix return value when receiving with MSG_OOB without data to read. ws2_32: Better trace setsockopt/getsockopt. Christoph von Wittich (2): riched20: EM_SETSEL should not return 0. riched20: Handle SCF_WORD. David Hedberg (1): comdlg32: Only attempt to update the layout if the dialog window exists. David Naylor (2): configure: Recognise host starting in 'amd64'. configure: Explicitly set host_cpu for 'amd64'. Dmitry Timoshkov (1): shell32: Update version information to match XP values. Erich Hoover (1): advapi32/tests: Add tests for inheriting ACL attributes. François Gouget (40): taskschd: Remove an unneeded NONAMELESSUNION directive. storage.dll16: Remove an unneeded NONAMELESSSTRUCT directive. system.drv16: Remove an unneeded NONAMELESSSTRUCT directive. toolhelp.dll16: Remove unneeded NONAMELESSXXX directives. twain_32: Remove unneeded NONAMELESSXXX directives. msctf: Mark internal symbols with hidden visibility. msi: Mark internal symbols with hidden visibility. msxml3: Mark internal symbols with hidden visibility. ddraw/tests: Fix compilation on systems that don't support nameless unions. urlmon: Remove unneeded NONAMELESSXXX directives. wineoss.drv: Remove an uneeded NONAMELESSUNION directive. usbd.sys: Remove an unneeded NONAMELESSSTRUCT directive. user32: Remove an unneeded NONAMELESSSTRUCT directive. windowscodecs: Remove unneeded NONAMELESSXXX directives. mshtml: Mark internal symbols with hidden visibility. oleaut32: Mark internal symbols with hidden visibility. opengl32: Mark internal symbols with hidden visibility. riched20: Mark internal symbols with hidden visibility. winex11.drv: Remove unneeded NONAMELESSXXX directives. wininet: Remove an unneeded NONAMELESSSTRUCT directive. winspool.drv: Remove unneeded NONAMELESSXXX directives. winmm: Remove unneeded NONAMELESSSTRUCT directives. explorer: Remove an uneeded NONAMELESSUNION directive. secur32: Mark internal symbols with hidden visibility. sxs: Mark internal symbols with hidden visibility. user32: Mark internal symbols with hidden visibility. wbemprox: Mark internal symbols with hidden visibility. winedbg: Remove unneeded NONAMELESSXXX directives. rpcss: Remove unneeded NONAMELESSXXX directives. regedit: Remove an unneeded NONAMELESSSTRUCT directive. winecfg: Remove unneeded NONAMELESSXXX directives. wineconsole: Remove an unneeded NONAMELESSSTRUCT directive. wineps.drv: Mark internal symbols with hidden visibility. wininet; Mark internal symbols with hidden visibility. wmp: Mark internal symbols with hidden visibility. shell32: Point the 'My Documents' symbolic link to the XDG or OS X 'Documents' folder if they exist. widl: Remove unneeded NONAMELESSXXX directives. winedump: Remove unneeded NONAMELESSXXX directives. winhlp32: Remove an unneeded NONAMELESSSTRUCT directive. winefile: Remove an unneeded NONAMELESSUNION directive. Frédéric Delanoy (1): Assorted spelling/grammar fixes. Hans Leidekker (17): msi: Fall back to the database summary information stream in MSI_OpenPackageW. msi: Avoid allocating a database handle only to retrieve the summary information. msi: Use the last sequence number specified for patch media when updating media records. msi: Check the component enabled flag earlier. msi: Skip files from the original media if a patch is applied. msi: Check file state before installing global assemblies. msi: Import mspatcha instead of loading it dynamically. msi: Store the disk id for file patches. msi: Don't apply file patches in the cabinet extraction callback. msi: Don't mark global assembly files as installed when they are extracted. msi: Clean up handling of temporary files. msi: Get rid of global variables the cabinet extraction callbacks. wbemprox: Make sure to allocate sufficient memory in resize_table. wbemprox: Fix a memory leak. wbemprox: Implement more properties of Win32_Processor. wbemprox: Implement more properties of Win32_VideoController. wbemprox: Add a partial implementation of Win32_Printer. Henri Verbeet (35): wined3d: Store shader output signatures as a wined3d_shader_signature structure. wined3d: Store shader input signatures as a wined3d_shader_signature structure. wined3d: Merge some common shader initialization code into shader_init(). wined3d: Take the input slot into account when handling WINED3D_APPEND_ALIGNED_ELEMENT. d3d10core: Also pass unused input layout elements to wined3d. wined3d: Implement d3d10 style instance data step rates. wined3d: Use the "sysval_semantic" field instead of "semantic_name" to recognize SV_POSITION. wined3d: Add support for SV_InstanceID. d3d10core: Implement d3d10_device_DrawInstanced(). d3d10core/tests: Add a test for D3D10_APPEND_ALIGNED_ELEMENT. d2d1: Properly take the source offset into account in d2d_d3d_render_target_DrawBitmap(). d2d1: Implement d2d_state_block_GetTextRenderingParams(). d2d1: Implement d2d_state_block_SetTextRenderingParams(). d2d1: Implement d2d_state_block_GetDescription(). d2d1: Implement d2d_state_block_SetDescription(). d2d1: Implement d2d_d3d_render_target_GetFactory(). d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams(). d2d1: Implement d2d_d3d_render_target_GetTextRenderingParams(). d2d1: Implement d2d_d3d_render_target_SetAntialiasMode(). d2d1: Implement d2d_d3d_render_target_GetAntialiasMode(). d2d1: Implement d2d_d3d_render_target_SetTextAntialiasMode(). d2d1: Implement d2d_d3d_render_target_GetTextAntialiasMode(). d2d1: Implement d2d_d3d_render_target_SetTags(). d2d1: Implement d2d_d3d_render_target_GetTags(). d2d1: Use a D2D1_DRAWING_STATE_DESCRIPTION structure to store render target drawing state. d2d1: Implement d2d_d3d_render_target_SaveDrawingState(). d2d1: Implement d2d_d3d_render_target_RestoreDrawingState(). d2d1/tests: Add a test for ID2D1DrawingStateBlock. d2d1: Do not multiply color brush RGB values with the brush opacity. wined3d: Add support for half-integer pixel centers. d2d1/tests: Add a test for color brushes. wined3d: Take WINED3D_PIXEL_CENTER_INTEGER into account when calculating vpos. wined3d: Use GLSL 1.30 for SM4 shaders when available. d3d10core/tests: Port the d3d9 vPos test to d3d10. d2d1: Fix a typo in the determinant calculation in d2d_d3d_render_target_FillRectangle(). Hugh McMaster (2): netstat: Fix incorrect comment. attrib: Fix incorrect comment. Huw D. M. Davies (10): ole32: Read the class id from the top-level storage object. ole32: A cache entry should hold the stream its data is from, not the top-level storage. ole32: Split the data loading into a couple of helpers. ole32: Add support for parsing the 'CONTENTS' stream. ole32: Separate metafile loading into a helper function. ole32: Add support for loading dibs. ole32: Add support for retrieving extents of dib format. ole32: Add support for drawing the dib format. ole32: Implement QueryGetData(). ole32/tests: Add tests for loading a dib 'CONTENTS' stream. Jacek Caban (11): mshtml.idl: Added IHTMLSelectionObject2 declaration. mshtml: Added IHTMLSelectionObject2 stub implementation. dxgi.idl: Added DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL declaration. d3d11_1.idl: Added some missing declarations. dxgi1_2.idl: Added IDXGIFactory2 declaration. wininet: Pass timeout as DWORD in setsockopt calls. d3d11sdklayers.idl: Added ID3D11Debug declaration. dxgi1_2.idl: Added IDXGIAdapter2 declaration. d3d11.idl: Added D3D11_FEATURE_DATA_D3D11_OPTIONS declaration. d3d11_1.idl: Fixed ClearView argument (missing const). wmsdkidl.idl: Added IWMReaderAdvanced* declarations. Jinhui Chen (1): winex11.drv: Fix row-resize/col-resize mapping to X cursor. Ken Thomases (4): winmm: For Mac, fix joyGetPosEx() to put number of buttons pressed in dwButtonNumber field. winemac: Allow the user to attempt to resize a maximized window and try to restore it if they do. winemac: Restore a maximized window if a user tries to move it by dragging its title bar. winemac: Cleanup system tray icons when their owner is destroyed instead of polling. Mark Harmstone (5): comctl32: Use correct font for themed headers. ntdll: Treat strings as case-insensitive in find_window_class. comctl32: Redraw themed button on WM_ENABLE. winecfg: Style updown control with UDS_ALIGNRIGHT. winecfg: Add manifest. Matteo Bruni (12): wined3d: Use a separate STATE_VIEWPORT state handler in the GLSL pipeline. wined3d: Introduce a get_projection_matrix() function. wined3d: Introduce a get_texture_matrix() function. wined3d: Don't use the builtin FFP uniform for the normal matrix. d3d9/tests: Add more lighting tests. d3d8/tests: Add more lighting tests. wined3d: Don't use the builtin FFP uniform for the projection matrix. ddraw: D3DLIGHT lights default to active. ddraw: Make sure AddLight properly activates lights. ddraw: Make sure to activate / deactivate the light on D3DLIGHT_ACTIVE flag changes. ddraw: D3DRENDERSTATE_NORMALIZENORMALS doesn't exist before d3d7. ddraw: Enable WINED3D_RS_NORMALIZENORMALS on d3d versions older than d3d7. Michael Müller (4): netprofm: Add stubbed IConnectionPoint interface. netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint. ntdll: Define a couple more information classes. kernel32/tests: Add tests for GetFinalPathNameByHandleA/W. Michael Stefaniuc (15): mscoree: Use SUCCEEDED instead of !FAILED. taskschd: Print the debug string instead of the pointer value. mshtml: Print the debug string instead of the pointer value. qcap: Print the debug string instead of the pointer value. scrrun: Print the debug string instead of the pointer value. schedsvc: Drop WINE_ prefix from ERR(). fntcache: Drop WINE_ prefix from FIXME/TRACE. taskschd/tests: Test the correct return value. mshtml/tests: Actually test the return of IHTMLTable_get_width(). windowscodecs/tests: Actually test the return of IWICBitmap_GetSize(). winhttp/tests: Test the correct return code. d3drm/tests: Test the correct return code. wmp: Forward from a Release to a Release method. gdiplus: The result of a comparison is already a BOOL. winealsa.drv: The result of a comparison is already a BOOL. Nikolay Sivov (35): comctl32/listview: Update view on style change only if LVS_TYPEMASK styles have changed. user32/static: Allow setting NULL text. scrrun: Added support for interface pointers as keys for dictionary. scrrun: Added support for VT_DATE keys, and BYREF float key types. scrrun: Support BYREF types for integer keys. comctl32/tooltips: Allow NULL hinst value when fetching text from resources. ole32: Return interface pointers instead of impl pointers from QI. ole32/tests: Return interface pointer instead of impl pointer from QI. msi: Return interface pointer instead of impl pointer. dwrite: Forward IDWriteTextLayout::GetMetrics() to IDWriteTextLayout2::GetMetrics(). comctl32: Claim success in InitializeFlatSB(). comctl32/tests: Listview doesn't subclass its header. taskmgr: Simplify setting extended style for a list. rpcrt4/tests: Use status definitions instead of numeric values. rpcrt4: Fix RpcMgmtStopServerListening() return value when we're not listening. po: Corrected Russian translation. dwrite: Pass sideways run flag to shaping methods. comctl32/listview: Fix item focus rectangle to use proper label/selection bounds. comctl32/listview: Fix focus rectangle for LVS_EX_FULLROWSELECT case. comctl32/listview: Fix scrolling in LV_VIEW_DETAILS view. comctl32/listview: Always forward LVM_GETCOLUMNORDERARRAY to header. comctl32/listview: Remove outdated TODO comment. dwrite: Initial implementation of DetermineMinWidth(). dwrite: Return CreateStreamFromKey() failure code from Analyze(). comctl32/listview: Support header item image/bitmap in LVSCW_AUTOSIZE_USEHEADER case. comctl32/listview: Use defined name instead of magic value. comctl32/listview: Always forward HDM_SETORDERARRAY to a header. taskmgr: Set column order through listview. comctl32/dsa: Implement DSA_Clone(). comctl32/dsa: Implement DSA_GetSize(). dwrite: Update to IDWriteRenderingParams2. wincodecs: Use valid bitmap cache option. msxml3: Explicitly list acceptable libxml2->msxml node types for unknode. comctl32/tests: Fix couple of metrics tests that fail on some systems. dwrite: Fix cluster width and length calculation. Pierre Schweitzer (3): setupapi: Implement SetupOpenLog(), SetupCloseLog(). setupapi: Implement SetupLogErrorA(), SetupLogErrorW(). setupapi/tests: Add tests for the SetupOpenLog(), SetupLogErrorA(), SetupCloseLog() functions. Piotr Caban (21): oleacc: Added Client_get_accChild implementation. oleacc: Added client IEnumVARIANT stub. oleacc: Added window IEnumVARIANT stub. oleacc: Added client IEnumVARIANT::{Reset,Skip,Next} implementation. oleacc: Added client IEnumVARIANT tests. oleacc: Added AccessibleChildren implementation. oleacc: Added AccessibleChildren tests. msvcrt/tests: Add atan, tanh and exp tests on invalid arguments. msvcrt: Fix NAN handling in printf. msvcrt/tests: Use NAN and INFINITY definitions from port.h in printf tests. user32/tests: Don't send mouse clicks to other process windows in input tests. msvcp90/tests: Use NAN and INFINITY definitions from port.h in Ctraits::_Isnan tests. advapi: Don't use CreateFile when opening file with possibly empty DACL. server: Make directory DACL entries inheritable. advapi32: Add SetNamedSecurityInfo test with empty DACL. advapi32/tests: Add test for mapping DACL to permission. advapi32: Add DACL inheritance support in SetSecurityInfo. ntdll: Improve parameter validation in RtlAddAce. server: Fix DACL to permissions conversion. msvcr120: Add some missing exports on i386 architecture. advapi32: Handle NULL DACL in SetSecurityInfo. Sebastian Lackner (12): gdiplus: Add missing returns in initialize_decoder_wic (Coverity). user32: Use C_ASSERT to ensure user_thread_info fits into TEB->Win32ClientInfo. browseui: Avoid race-conditions when progress dialog is released before thread terminates. ntoskrnl: Emulate 'mov Eb, Gb' instruction on x86 processor architecture. wiaservc: Return pointer to vtbl instead of implementation in wiadevmgr_Constructor. kernel32/tests: Allow multiple subprocess commands in process tests. kernel32/tests: Add tests for adding a terminated process to a job object. advapi32/tests: Repeat ACL inheritance tests for NtCreateFile. advapi32/tests: Add tests for NtCreateFile inheritance when security descriptor is set. advapi32/tests: Merge common code to test DACL descriptors in a helper function. advapi32/tests: Add tests for CreateFile with set security descriptor. ntdll: Fix various bugs RtlUnwindEx on x86_64. Sergey Isakov (1): windowscodecs: Fix wrong pointer to formal parameter. Shuai Meng (2): vbscript: Implemented Oct. vbscript: Fixed Hex. Stefan Dösinger (15): ddraw: Update the palette before presents to the NULL window. ddraw/tests: The testbot applies color keying without a key. ddraw/tests: Correct executebuffer offsets. wined3d: Improve color fixups in atifs shaders. wined3d: Check for conversion changes in the atifs fragment pipeline. wined3d: Add per-context private data for fragment pipelines. wined3d: Avoid constant collision in atifs. ddraw/tests: Make sure color keying is on in test_texturemapblend. ddraw/tests: Port test_color_fill to earlier versions. wined3d: Implement per stage constants in atifs. wined3d: Give tex_type and its values a better name. wined3d: Pass a wined3d_ffp_texture_type enum to blit shader functions. wined3d: Use bitfields in struct arbfp_blit_type. wined3d: Pass a struct arbfp_blit_type to the blit shader generation functions. wined3d: Define a constant for the blit texture size parameter. Thomas Faber (5): wscript: Correctly use CommandLineToArgvW. gdi32: Avoid uninitialized variable use in EnumEnhMetaFile (MSVC). setupapi/tests: Avoid side-effect in an assert. user32/tests: Avoid side-effect in an assert. winegstreamer: Avoid side-effects in asserts. Vincent Povirk (8): gdiplus: Fonts in UnitWorld shouldn't be scaled to the page unit. gdiplus: Apply page scale to pen thickness. gdiplus: Handle large input rect in GdipMeasureCharacterRanges. gdiplus: Fix blend_colors when alpha channel differs. mscoree: Remove the runtime version selection logic and just use 4.0. gdiplus: Add support for reading PNG tEXt metadata. windowscodecs: Implement PngDecoder_Block_GetCount. windowscodecs: Implement PngDecoder_Block_GetReaderByIndex. Zheng Chen (2): msvcrt: Correct atan/exp/tanh errno setting. msvcrt: Fix _copysign bugs for NAN/INF. -- Alexandre Julliard julliard@winehq.org