The Wine development release 1.7.38 is now available.
What's new in this release (see below for details): - New version of the Gecko engine based on Firefox 36. - Support for themed scrollbars. - Updated version of the Mono engine. - More compatible RPC interface for service control. - Support for X Drag & Drop version 5. - Threading fixes in IME support. - Various bug fixes.
The source is available from the following locations:
http://prdownloads.sourceforge.net/wine/wine-1.7.38.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.38.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.38 (total 57):
9610 Non-Windows(XP) behaviour for using themes in apps 12182 Multiple games need X3DAudio1_1.dll (Supreme Commander) 12717 Europa Universalis III: Borders drawn corrupted 12804 winecfg: pressing enter in library override closes winecfg 14367 revise stack-frame relay code never to touch other side of stack pointer 15721 Adobe Digital Editions doesn't install 16039 configure does not support detection of (n)cursesw 17403 Uru - Ages Beyond Myst + Expansion Packs: Decompressing sounds produces faulty output 23057 BitComet: Crashes at clicking on web content 23370 OpenBOR and many other application crashed. 23560 Text missing and/or background not rendered in Peril at End House 24103 MYOB: won't print report 24545 Monkey Island: Special Edition wants X3DAudio1_6.dll 25436 Lithuanian translation of "Program files" and "Application Data" folders (see file shell32_Lt.rc) causes problems with some software for Windows 26167 Crash in open file dialog when dragging folder upon file 26784 Icebreakers demo does not start 27050 Audiosurf - mouse does not work properly 27279 LEGO Pirates of the Caribbean DEMO needs XAPOFX1_3.dll.CreateFX (XAudio2) 29450 Some GDI+ objects do not display correctly 30212 Multiple apps need Scripting.Dictionary 'Add' method stub implementation (AutoIt 3, Polymath) 30715 DVDFlick 1.3.x fails on startup with "automation error" (needs Scripting.Dictionary "Exists" method implementation) 30901 32-bit services fail to run in 64-bit WINEPREFIX/shared wow64 (PunkBuster, SafeDisc, ...) 32476 DVDFlick 1.3.x fails on startup with "automation error" (needs Scripting.Dictionary "get_Item" method implementation) 32913 Planetside 2: Mouse Jittering 33409 ExpeditionPCB EE7.9 crashes 33672 Wine Internet Explorer unable to login to http://cctvcamerapros.vmddns.com/ 33781 Installation of CSC Show Control needs RemoveAll() for Dictionary 33897 TeamView Cannot Move or Resize Remote Linux Application Window 33990 MSVC 2013 std::mutex crashes 34310 Exiting Backyard soccer 2004 leaves only a small portion of screen usable 34518 MS Powerpoint 2007: Crashes on embedded vector graphic 34582 Gothic: problems with mouse look 34716 HippoAnimator3 fails on startup, complains 'Invalid name' (GetTempPathW on poisoned stack buffer) 34809 WinDirStat: command line here (right click on file) doesn't work 35361 Multiple games and applications crash or freeze on input (Steam with in-game community overlay enabled, The Scourge Project)(cross-process/thread IME manipulation is forbidden) 35369 differences between ./dlls/shlwapi/wsprintf.c and ./dlls/user32/wsprintf.c 35429 Naver LINE crashes when you close a window 35463 shell32/tests shlfileop : would fail depending on locale settings 35508 File picker in LMMS 0.9.90 Win32 doesn't show files 35781 kernel32/pipe test fails 36005 windowscodecs/metadata tests fail with WINEDEBUG=warn+heap 36090 Outside ground textures in WildStar Online are corrupted 36371 Visolve Deflector Black Screen 36594 valgrind shows uninitialized memory use in windowscodecs/tests/metadata.c 36868 Builtin browser can't submit HTML <form> if target is "_blank" 36874 Incorrect check in SrcColorKey32BlitTest() 37046 Roblox Studio/Player fails to download games ('Accept-Encoding' header is valid for 'HTTP/1.0' requests) 37261 Dasher crashes on start in mshtml:get_node() 37888 mshtml: multi-line text inside a <pre> element is rendered in a single line 38091 Desperados 2 v1.01: speech missing (needs msvcp71.dll.?do_date_order@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@MBE?AW4dateorder@time_base@2@XZ) 38106 Kaspersky Internet Security 2010 fails to install, load_streams unable to open stream 38111 Desperados 2 v1.01: assigned keys not displayed properly in the options menu (needs msvcp71.dll.?_Getcat@facet@locale@std@@SAIPAPBV123@@Z) 38122 Spelling mistake in Dutch crash dialog 38129 Wavelab 6.1.1 crashes 38143 IO completions cause wineserver to leak APC packets 38144 Condemned: Criminal Origins: online activation fails 38165 F.E.A.R 1 freezing in the menu (network related)
----------------------------------------------------------------
Changes since 1.7.37:
Akihiro Sagawa (6): po: Update Japanese translation. winmm/tests: Add tests for PlaySound(). winmm: Add .wav extension when searching for PlaySound. po: Update Japanese translation. winmm/tests: Add MCI_SETAUDIO command tests. mciqtz: Implement MCI_DGV_SETAUDIO_VOLUME.
Alex Henrie (1): x3daudio1_2: Add stub dll.
Alexandre Julliard (34): schedsvc/tests: Don't depend on folder enumeration order. user32/tests: Ignore WM_PAINT messages in GetMessagePos test. user32/tests: Avoid a race with the get/set window text threads. kernel32/tests: Try harder to empty the pipe for completion notification. dinput: Implement GetDeviceInfo for Linux joystick. imm32: Add a helper function to get the default context. imm32: Simplify the helper functions to retrieve the thread data. imm32: Remove redundant IsWindow calls. ntdll: Use the fileio structure and callback also for ioctl calls. ntdll: Move NtNotifyChangeDirectoryFile to file.c and make it use the standard fileio structure. ntdll: Don't queue a user APC when there is no callback function. ws2_32: Add a common header to the async I/O structures. ws2_32: Add a separate structure for async shutdowns. ws2_32: Don't queue a user APC when there is no callback function. server: Allow passing an argument for the user APC async I/O callbacks. ntdll: Allow specifying the user APC argument in the system APC callback. ntdll: Avoid the intermediate user APC callback. Revert "shell32: Also return Attributes in GetFolderDefinition." include: Avoid IKsPropertySet forward type redefinition. wrc: Remove duplicate parentheses. winebuild: Avoid assigning values outside of the target_cpu enum range. msvcp90: Add support for throwing bad cast exception to avoid unused variable warning. msvcrt: Undefine __thiscall before redefining it. msvcrt: Use the correct object type for __non_rtti_object exceptions. oledb32/tests: The destination array address can't be modified by the called function. shell32/tests: Use NULL for a null pointer. mmdevapi/tests: Use float constants with fabsf. scrrun: Fix typo in header guard. gdi32: Use shorter constants for byte and word masks to avoid warnings. wininet: Hardcode the base64 table to avoid ugly macros. mountmgr: Don't access the IRP after it has been completed. ntoskrnl: Use the IRP allocation routines for standard ioctl processing. ntoskrnl: Use the MDL allocation routines for standard ioctl processing. ntoskrnl: Get rid of the IRP instance list.
Alistair Leslie-Hughes (4): dpnet: Add check for mismatched string lengths. dpnet: Free previous allocated data. dpnet: Always update type since it might change. dpnet: Correct usage of memcpy in GetComponentByName.
Amine Khaldi (3): dinput/tests: Declare pDirectInputCreateEx in a MSVC compatible way. include: Complete and properly pack DNS_HEADER structure. include: Correct DDSCAPS2 and DDSURFACEDESC2 structures and their uses.
Andrew Eikum (10): advapi32: Stub EventActivityIdControl. services: Monitor process handles for process quit. advapi32/tests: Don't test service timeout. advapi32: Partially implement NotifyServiceStatusChangeW. shell32: Rearrange error handling in IKnownFolder::GetFolderDefinition. shell32: Use a helper function to get DWORDs from registry. shell32: Use a helper function to allocate strings from the registry. shell32: Also return ParentFolder ID in GetFolderDefinition. shell32: Also return RelativePath in GetFolderDefinition. shell32: Fall back on CSIDL path for knownfolders without a path in the registry.
Andrey Gusev (5): po: Fix a mistake in Dutch translation. x3daudio1_4: Add stub dll. x3daudio1_5: Add stub dll. x3daudio1_3: Add stub dll. po: Update Ukrainian translation.
André Hentschel (6): taskmgr: Remove dead code. ole32: Remove unused macros. strmbase: Remove unused macro. oleaut32: Remove unused macros. msxml3: Declare debug channels only when needed (Clang). shell32: Don't call Drop without valid target.
Aric Stewart (5): imm32: Move thread data from TLSEntry to an internal list. imm32: Do not let ImmDestroyContext destroy any default contexts. imm32: Use thread data from target HWND. imm32: Restrict cross-thread association and destruction. imm32: Limit cross thread access to ImmSet* functions.
Aurimas Fišeras (3): po: Update Lithuanian translation. po: Update Lithuanian translation. po: Update Lithuanian translation.
Austin English (4): x3daudio1_6: Add stub dll. shlwapi: Sync wsprintf implementation from user32. include: Add more entries to msasn1.h. include: Add ASN1_* function prototypes.
Bruno Jesus (4): kernel32/tests: Add more GetTempPath tests. kernel32: GetTempPathW must zero the remaining buffer. kernel32: In GetTempPathW only copy the path if it fits and zero the buffer when it doesn't. ws2_32: Make closesocket() more robust.
Christian Costa (2): windowscodecs: Fix init of LONGLONG variable with a negative value in TGA decoder. d3dx9_36: Fix d3dx9_skin_info_ConvertToIndexedBlendedMesh stub.
Damjan Jovanovic (1): winex11.drv: Support XDnD version 5.
Daniel Lehman (1): wininet: Eat terminator on last chunk.
François Gouget (13): advapi32: Fix compilation on systems that don't support nameless unions. dbghelp: Fix compilation on systems that don't support nameless unions. include/ddk: Make ntddk.h compatible with systems that don't support nameless unions. services: Fix compilation on systems that don't support nameless unions. mshtml: Make insert_adjacent_node() static. dinput: IDirectInputDevice8WImpl_SetActionMap() is redundant so remove it. ndis.sys: Convert ndis.sys to a native driver as it should be. advapi32/tests: Make cb_{running,stopped}() static. advapi32: Avoid defining SECURITY_INFORMATION multiple times. ole32: Don't define NONAMELESSUNION in olestd.h. It's not needed anyway. d3dx9_36: Remove unneeded NONAMELESSXXX directives. mountmgr.sys: Remove unneeded NONAMELESSXXX directives. hal: Remove unneeded NONAMELESSXXX directives.
Hans Leidekker (3): msi: Decode stream names in load_streams. msi: Support updating streams. msi: Add offsets to file patch sequence numbers.
Henri Verbeet (25): d3d10core: Implement d3d10_device_SetPrivateData(). d3d10core: Implement d3d10_device_SetPrivateDataInterface(). d3d10core: Implement d3d10_device_GetPrivateData(). d3d10core: Implement d3d10_texture2d_SetPrivateData(). d3d10core: Implement d3d10_texture2d_SetPrivateDataInterface(). d3d10core: Implement d3d10_texture2d_GetPrivateData(). d3d10core: Implement d3d10_query_SetPrivateData(). d3d10core: Implement d3d10_query_SetPrivateDataInterface(). d3d10core: Implement d3d10_query_GetPrivateData(). d3d10core: Implement d3d10_buffer_SetPrivateData(). d3d10core: Implement d3d10_buffer_SetPrivateDataInterface(). d3d10core: Implement d3d10_buffer_GetPrivateData(). d3d10core: Implement d3d10_input_layout_SetPrivateData(). d3d10core: Implement d3d10_input_layout_SetPrivateDataInterface(). d3d10core: Implement d3d10_input_layout_GetPrivateData(). d3d10core: Implement d3d10_vertex_shader_SetPrivateData(). d3d10core: Implement d3d10_vertex_shader_SetPrivateDataInterface(). d3d10core: Implement d3d10_vertex_shader_GetPrivateData(). d3d10core: Implement d3d10_geometry_shader_SetPrivateData(). d3d10core: Implement d3d10_geometry_shader_SetPrivateDataInterface(). d3d10core: Implement d3d10_geometry_shader_GetPrivateData(). d3d10core: Implement d3d10_pixel_shader_SetPrivateData(). d3d10core: Implement d3d10_pixel_shader_SetPrivateDataInterface(). d3d10core: Implement d3d10_pixel_shader_GetPrivateData(). d3d10core: Implement d3d10_blend_state_SetPrivateData().
Jacek Caban (21): hhctrl.ocx: Store WebBrowser container struct instead of interfaces in HHInfo. mshtml: Added OLECMDID_COPY implementation. mshtml: Share OLECMDID_SELECTALL implementation with IDM_SELECTALL. mshtml: Added support for CONTEXT_MENU_TEXTSELECT context menu type. hhctrl.ocx: Added support for context menus. wininet: Call WSACleanup only if WSAStartup was previously called successfully. mshtml: Correctly handle S_OK with NULL URL return from TranslateUrl. mshtml: Wine Gecko 2.36 release. appwiz.cpl: Use custom user agent string for addon downloader. urlmon: Added IInternetBindInfo implementation to BindStatusCallback object. mshtml: Use return_nsstr helper in IHTMLDocument5::get_compatMode. vbscript: Added support for DISPATCH_PROPERTYPUTREF flag. vbscript: Pass DISPATCH_PROPERTYPUTREF flag to InvokeEx when apropriate. vbscript: Convert VT_DISPATCH propput value to trivial value if DISPATCH_PROPERTYPUTREF is not set. vbscript: Fail to set non-object values with DISPATCH_PROPERTYPUTREF flag. vbscript: Leave assigning value up to add_dynamic_var callers. vbscript: Leave converting object to trivial values up to calee. vbscript: Added DISPATCH_PROPERTYPUTREF tests. appwiz.cpl: Include package version in request URL. vbscript: Added a helper for getting default IDispatch value. mshtml: Return S_OK in IHTMLPluginsCollection::refresh.
Jonathan Vollebregt (3): reg: Add sane_path function to do preliminary key validation. reg: Add a check for multiple backslashes at the end of the key. reg: Add wchar/type conversion functions.
Julian Rüger (1): po: Update German translation.
Lauri Kenttä (1): po: Update Finnish translation.
Marcus Meissner (1): dsound: If 3d sound is disabled, just return (Coverity).
Mark Harmstone (11): winecfg: Refresh sys params on theme change. dsound/tests: Add a test for SetFX. include: Add IMediaObject interfaces. include: Add definition for KSDATAFORMAT_TYPE_AUDIO. include: Add definition of GUID_All_Objects. comctl32: Call OpenThemeData on themed scrollbars. dsound/tests: Add GetObjectInPath tests. comctl32: Paint themed scrollbars. comctl32: Add hit testing for themed scrollbars. comctl32: Draw hot parts of themed scrollbars. uxtheme: Assume imagecount to be 1 if unspecified.
Matteo Bruni (10): opengl32: Filter disabled extensions on OpenGL core profile contexts too. opengl32: Return a NULL pointer for functions requiring unsupported or disabled extensions. d3d8/tests: Move a Present out of the loops in fog_with_shader_test(). wined3d: Use the core version of the INCR_WRAP and DECR_WRAP tokens. wined3d: Remove ARB_/EXT_TEXTURE_ENV_ADD. wined3d: Remove an obsolete comment. wined3d: Drop a few unnecessary &x[0]. wined3d: Add a couple checkGLcall() in surface_prepare_rb(). wined3d: Drop redundant check for instanced rendering from drawStridedFast. d3d9: Pack structures to 4-bytes alignment on x86.
Michael Müller (3): wininet: Allow Accept-Encoding for HTTP/1.0 requests. winedevice: Call DriverUnload function when unloading a driver. gdi32: Fix arguments for OSMesaMakeCurrent when using 16 bit formats.
Michael Stefaniuc (36): oledlg: RT_DIALOG is already an int resource (PVS-Studio). setupapi: RT_MANIFEST is already an int resource (PVS-Studio). mshtml/tests: Remove an always true conditional subexpression (PVS-Studio). oleaut32/tests: Remove an always true conditional subexpression (PVS-Studio). rsaenh: Remove an always false conditional subexpression (PVS-Studio). wcmd: Remove an unused variable (PVS-Studio). appwiz.cpl: Use the proper type to hold the return value (PVS-Studio). d3d8/tests: Test the return value of CreateVolumeTexture (PVS-Studio). mshtml: RT_HTML is already an INTRESOURCE (PVS-Studio). riched20: Remove no-op addition with 0 (PVS-Studio). crypt32/tests: Remove an unused assignment (PVS-Studio). crypt32/tests: Add a missing test case (PVS-Studio). ieframe: Remove unused assignments (PVS-Studio). d3d9/tests: Actually test some return values (PVS-Studio). ddraw/tests: Actually test some return values (PVS-Studio). kernel32/tests: Actually test a return value (PVS-Studio). oledb32/tests: Remove an unused assignment (PVS-Studio). shell32/tests: Actually test some return values (PVS-Studio). shlwapi: Remove two unused assignments (PVS-Studio). windowscodecs/tests: Actually test some return values (PVS-Studio). winmm/tests: mmioAdvance() returns a MMRESULT and not a size (PVS-Studio). ws2_32/tests: Remove an unused assignment (PVS-Studio). ws2_32/tests: Actually test a return value (PVS-Studio). wininet: Remove unused code, sizeof(void*)%4 is always false (PVS-Studio). version: VS_FILE_INFO is already and INTRESOURCE (PVS-Studio). gdi32: Remove double parentheses, not a misplaced pair (PVS-Studio). mmdevapi/tests: Remove an unused assignment (PVS-Studio). msctf/tests: Remove an unsused assignment (PVS-Studio). mshtml/tests: Remove an unused assignment (PVS-Studio). msvcrt: Clarify comparison of the diff of two unsigneds with 0 (PVS-Studio). mmdevapi: Don't check for IID_IDirectSoundCapture8, it is just a define (PVS-Studio). winhlp32: Simplify code that happened to work by chance (PVS-Studio). wordpad: Simplify code that happened to work by chance (PVS-Studio). ieframe/tests: Merge adjacent identical if's (PVS-Studio). msxml3/tests: Merge two adjacent if blocks with identical condition (PVS-Studio). d3d9/tests: Remove no-op binary & with all 1's (PVS-Studio).
Nikolay Sivov (41): dwrite: Use FreeType CMAP cache system instead of parsing tables manually. dwrite/tests: Fixed font instance leak. dwrite/tests: Test default colors of render target memory HDC. dwrite/tests: Place test font file in temporary location, make sure it's deleted after the test. scrrun: Store compare method for dictionary. gameux/tests: Simplify test game registering, add intermediate test checks. gameux/tests: Simplify initial test skipping. scrrun: Implement HashVal property for VT_BSTR case. scrrun: Implement HashVal property for integer keys. scrrun: Implement HashVal for floating point keys. services: Make ChangeServiceConfig2W() rpc call compatible with native one. services: Pass resume index to server. po: Update Russian translation. scrrun/tests: More dictionary tests. scrrun: It's not allowed to change compare mode when dictionary is not empty. include: Fix REPASTESPECIAL definition. include: Fix packing of DWM_BLURBEHIND. advapi32: Fix trace format for access mask in OpenService(). services: Make RPC interface compatible with native. advapi32: Forward to CreateServiceWOW64W() when appropriate. services: Mark WOW64 services in registry. include/debug.h: Support tracing of VT_BSTR|VT_BYREF. scrrun: Implement Add() and RemoveAll() for dictionary. scrrun: Support VT_BSTR|VT_BYREF keys. scrrun: Implement Item() property for dictionary. scrrun: Implement Remove() for dictionary. scrrun: Implement Exists() method for dictionary. comctl32/tests: Fix Monthcal tests failures on some VMs. services: Locate service image in proper system dir for WOW64 case. scrrun: Implement Keys() and Items() of dictionary. scrrun: Implement put_Key() for dictionary. scrrun/tests: A test for adding BYREF item. scrrun: Implement GetExtensionName(). include: Fix null pointer dereference while tracing. rpcrt4: Use RPC_* error code names. rpcrt4: Fix argument check in MesEncodeFixedBufferHandleCreate(). rpcrt4: Implement MesBufferHandleReset(). rpcrt4: Implement MesEncodeDynBufferHandleCreate(). services: Fix GetNotifyResults() prototype. rpcrt4: Implement RPC_FC_CALLBACK_HANDLE handle type for NdrClientCall2(). rpcrt4: Added inline helper to test for Oicf stub descriptions.
Piotr Caban (15): winmm: Write user data after headers in mmioAdvance so IDiskOffset is updated correctly. winmm: Save data that was not yet written in mmioSetInfo. winmm: Add RIFF creation tests. msvcp71: Add locale::facet::_Getcat implementation. msvcp: Added _Getdateorder implementation. msvcp90: Added time_get<char> class stub. msvcp90: Added time_get<char>::do_date_order implementation. msvcp: Sync spec files. ieframe/tests: Added more OleObject_Close tests. windowscodecs: Initialize unused part of metadata PROPVARIANT to 0. windowscodecs: Make it possible to use MetadataReaders when COM was not initialized. windowscodecs: Add helper to create internal COM classes without CoCreateInstance call if possible. gdiplus: Don't use CoCreateInstance in decode_image_wic. gdiplus: Don't use CoCreateInstance in get_palette function. gdiplus: Don't use CoCreateInstance in encode_image_wic.
Sebastian Lackner (21): shell32: Fix memory leak in ApplicationAssociationRegistration_QueryCurrentDefault. shell32: Simplify check for an empty string. ntdll: Try to handle write-watches while we're on the signal stack. winebuild: Do not access memory below ESP when restoring thread contexts. winex11: Only enable XInput2 cursor warp workaround if necessary. msxml3: Fix incorrect size argument of FormatMessageW. shell32: Fix incorrect size argument of FormatMessageW. browseui: Always use interlocked functions when accessing variable BROWSEUI_refCount. amstream: Do not allow unloading while library is still in use. d3dxof: Do not allow unloading while library is still in use. quartz: Remove unused variable. msctf: Always use interlocked functions when accessing MSCTF_refCount. include: Fix definition of SECTION_BASIC_INFORMATION and SECTION_IMAGE_INFORMATION. ntdll/tests: Add tests for NtQueryLicenseKey. ntdll/tests: Add tests for TpSimpleTryPost function. ddraw: Remove unused code for ChangeUniquenessValue. ole32: Fix an invalid usage of InterlockedCompareExchange. winebuild: Conditionally use different code for restoring the context structure. winecfg: Add library override instead of closing winecfg when pressing Enter. ntdll: Assert when trying to replace an exiting file descriptor in fd_cache. ws2_32: Avoid kernel32 functions in system APC calls.
Shuai Meng (1): shell32: Also return Attributes in GetFolderDefinition.
Stefan Dösinger (2): d3d9/tests: Extend the FPU setup test. d3d8/tests: Extend the FPU setup test.
Thomas Faber (3): wbemprox: Allocate a large enough buffer in get_computername. wbemprox: Implement Win32_ComputerSystem.UserName. wbemprox: Implement MSVC version of do_cpuid.
Vincent Povirk (4): xmllite: Fix reader_cmp for multiple characters. crypt32: Add test for PKCS_RSA_PRIVATE_KEY decoding. crypt32: Implement PKCS_RSA_PRIVATE_KEY decoding. mscoree: Update Wine Mono to 4.5.6.
-- Alexandre Julliard julliard@winehq.org