Wine release 1.5.6

The Wine development release 1.5.6 is now available.

What’s new in this release (see below for details):
– Automatic installation of the Mono add-on package.
– Control panel applet for joysticks.
– Device bitmap rendering now done through the DIB engine.
– Support for video rendering through DirectX (VMR-9).
– First steps towards a D3D shader compiler.
– Build fixes for DragonFly BSD.
– Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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.5.6:

11482 Airline Tycoon Demo fails to start
11895 GeoControl installer hangs
13186 Warcraft III TFT fails to start with prefixes never used by <wine-0.9.61
15092 Adobe Flash Player 9 and 10: movies and images are messed up
16209 The Lord of the Rings Online: Mines of Moria doesn’t start
17893 The Alien Nations / Die Völker crashes: amstream GetFormat stub
21460 Construct 0.99.8 “File” menu does not work
23706 d3dx9_36.dll.D3DXSaveSurfaceToFileInMemory is needed by Ship Simulator 2008 demo, King’s Bounty demo
24210 Sound does not work in Big Fish Games when acceleration is set to full
25103 Medieval Total War Gold DVD Italian – Unload the debugger error
25287 Rise of Nations Gold Edition Nuclear Blast Effect Looks Awful
25533 Machinarium window does not show any contents and hangs desktop
25535 .NET Framework 4.0 Fails to install with HRESULT 0×80070643
26203 ie7 can connect to, but not ?
26476 builtin IE cannot open
26928 Midi messages MTC trashed
27690 Just Cause crashes on first level load (texture resolution ‘high’)
27939 SQLyog crashes when displaying data
28486 Office Professional Plus 2010 install fails without machine.config file (does not need it on Windows)
28799 d3dx9_36/tests/mesh.ok: memcpy source and destination overlap in weld_float16_2() triggered by test_weld_vertices()
28898 Blizzard Launcher/Installer needs AcceptEx improvements (Affects WoW, D3…)
29359 DSOUND_BufPtrDiff: Assertion `ptr1 < buflen’ failed.
29561 graphedt crash while expand “DirectShow Filters”
30249 Sanitarium crashes/hangs frequently with OpenGL renderer
30659 GTAVC crashes when car is visible at some angle
30705 usb joystick not working with virtuanes
30719 SmartFTP 4.0 crashes on startup (crypt32 CertCreateSelfSignCertificate failure)
30729 EVE Online crashes on attempt to move window
30766 Microsoft SQL Server Management Studio Express 2005: hangs with .NET Fatal Execution Engine Error
30777 v3.71 infinitely asks for reboot due to missing registry entry
30781 Construct needs D3DXSaveTextureToFileInMemory
30784 CodeJock’s XTPToolBar renders transparent areas of icons black
30799 “automatically grab mouse in full-screen windows” doesn’t grab mouse with regard to Gnome 3 tray bar
30818 BMFont crashes on startup with Unhandled page fault
30842 Take Command 14 from JPSoftware wants KERNEL32.dll.SetConsoleIcon
30848 Windows 8 release preview upgrade assistent crashes due to unimplemented function ntdll.dll.NtQuerySystemEnvironmentValueEx
30854 OSForensics crashes on 1st launch
30868 Wine has troubles installing dotnet20 (using winetricks) and doesn’t run some games like osu! or Path of Exile (which worked before)


Changes since 1.5.5:

Akihiro Sagawa (2):
readme: Update Japanese translation.
po: Update Japanese translation.

Alexandre Julliard (29):
gdi32: Improve support of bitmaps without a color table in PutImage.
gdi32: Fix StretchBlt color mapping for monochrome bitmaps without a color table.
gdi32/tests: Add some more tests for monochrome bitmap blits.
gdi32: Always use the DIB engine for DDB rendering.
gdi32: Remove the null driver Get/PutImage fallbacks for bitmaps.
gdi32: Add a helper function that implements GetImage on a bitmap.
gdi32: Add a helper function that implements PutImage on a bitmap.
winedbg: Fix some pointer conversion warnings.
gdi32: Remove the bitmap parameter from the Get/PutImage entry points.
gdi32: Remove the CreateBitmap and DeleteBitmap driver entry points.
winex11: XRender repeat mode is no longer needed in functions that use a DC.
winex11: Always allocate a new GC for bitmap operations.
winex11: Remove the support for device-dependent bitmaps.
ntdll: Export _local_unwind.
appwiz.cpl: Specify a default download URL for add-ons.
setupapi: Add support for a WinePreInstall section for registry keys that need to be created before anything else.
gdi32: Make sure the bounds are always updated in ExtTextOutW.
gdi32: Move DC hook private definitions out of wingdi.h.
gdi32: Don’t implement the gamma ramp functions in the DIB driver.
gdi32: Keep the source DC locked until the end in StretchBlt and AlphaBlend.
winex11: Use XGetKeyboardMapping instead of XKeycodeToKeysym.
winex11: Don’t free a variable that is no longer allocated on the heap.
gdi32: Take into account the DIB rectangles when determining overlap for blits.
gdi32: Clip output to both the DIB visible rectangle and the total DIB extents.
shell32: Use a default icon for control panels without one.
shell32: Convert the control panel list to a standard list.
shell32: Remove the applet valid flag and improve the error handling.
mountmgr.sys: Don’t try to close the dbus connection.
libwine: Avoid memrchr.

Alistair Leslie-Hughes (2):
mscoree: Use .NET 2.0 for 1.0 assemblies.
mscoree: Correct possible uninitialized variable (clang).

André Hentschel (39):
kernel32: Add stub for SetThreadStackGuarantee.
server: Add checks for DragonFly BSD.
kernel32: Add checks for DragonFly BSD.
loader: Add check for DragonFly BSD.
libwine: Add checks for DragonFly BSD.
d3drm: Implement IDirect3DRMDeviceX_[Get|Set]Dither.
d3drm: Implement IDirect3DRMDeviceX_[Get|Set]Quality.
d3drm: Implement IDirect3DRMDeviceX_[Get|Set]RenderMode.
d3drm: Implement width and height handling in device interfaces.
d3drm: Improve stub for IDirect3DRMWinDevice_HandleActivate.
d3drm: Implement IDirect3DRMLight_[Get|Set]Type.
d3drm: Implement IDirect3DRMLight_[Get|Set]Color and IDirect3DRMLight_SetColorRGB.
d3drm: Implement IDirect3DRMLight_[Get|Set]Range.
ntdll: Enhance FreeBSD checks to also check for DragonFly BSD when appropriate.
ntdll: Add default COM device for DragonFly BSD.
ntdll: Change default COM device for FreeBSD 8.0.
ntdll: Get the unix tid on DragonFly BSD.
iphlpapi: Fix check for icmpstat.icps_outhist.
iphlpapi: Check for the right IP statistics structure name (for DragonFly BSD).
iphlpapi: Check for the right TCP statistics structure name (for DragonFly BSD).
ntdll: Add a helper function that returns the record length of a dirent struct.
libwine: Improve bin directory detection on kFreeBSD and DragonFly BSD.
ntdll: Add stub for NtQuerySystemEnvironmentValueEx.
kernel32/tests: Add tests for LCMapStringEx.
d3drm: Implement IDirect3DRMLight_[Get|Set]ConstantAttenuation.
d3drm: Implement IDirect3DRMLight_[Get|Set]LinearAttenuation.
d3drm: Implement IDirect3DRMLight_[Get|Set]QuadraticAttenuation.
d3drm: Implement IDirect3DRMLight_[Get|Set]Umbra.
d3drm: Implement IDirect3DRMLight_[Get|Set]Penumbra.
d3drm: Implement IDirect3DRMViewportX_[Get|Set]Back.
d3drm: Implement IDirect3DRMViewportX_[Get|Set]Front.
d3drm: Implement IDirect3DRMViewportX_[Get|Set]Field.
d3drm: Implement IDirect3DRMViewportX_[Get|Set]Projection.
d3drm: Improve IDirect3DRMViewportX_Clear stub.
d3drm: Improve IDirect3DRMViewportX_Render stub.
d3drm: Improve IDirect3DRMDeviceX_Update stub.
d3drm: Improve IDirect3DRMWinDevice_HandlePaint stub.
iphlpapi: Check for struct udpstat (for NetBSD).
iphlpapi: Check for struct icmpstat (for NetBSD).

Aric Stewart (11):
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Arabic.
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Hebrew.
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Syriac.
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thaana.
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thai.
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Lao.
usp10: Correct glyph caching beyond the BMP.
quartz: Implement default Surface Allocator for vmr9.
quartz: Allocate surfaces in VMR-9.
quartz: Create the rendering window for VMR-9.
quartz: Hookup the VMR-9 to directX and the Allocator-Presenter.

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

Austin English (2):
wine.inf: Add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinSock2ParametersProtocol_Catalog9Catalog_Entries registry entry.
kernel32: Add a stub for SetConsoleIcon.

Christian Costa (15):
d3drm: Implement IDirect3DRMFrameXImpl_GetLights and IDirect3DRMLightArray interface.
d3drm: Implement IDirect3DRMMesh_GetGroupTexture.
d3drm: Implement IDirect3DRMMeshImpl_GetGroupMaterial.
d3drm: Generate normals automatically when there are not present in the x file.
d3drm: Handle material list in mesh.
d3drm: Implement IDirect3DRMMeshImpl_SetGroupMaterial and forward material from mesh builder to created mesh.
d3drm: Implement IDirect3DRMMeshBuilderX_SetColor and IDirect3DRMMeshBuilderX_SetColorRGB.
d3drm: Implement IDirect3DRMMesh_GetGroupColor.
d3drm: Load mesh color to mesh builder.
d3drm: Implement IDirect3DRMMeshImpl_SetGroupColor.
d3drm: Pass mesh builder color to newly created mesh.
d3drm: Implement IDirect3DRMMesh_SetGroupTexture.
d3drm: Pass texture of mesh builder to newly created mesh.
d3drm: Fix SetMaterial macros.
d3drm: Implement IDirect3DRMMeshBuilderX_SetMaterial.

Damjan Jovanovic (1):
libwine: Improve bin directory detection on FreeBSD.

Daniel Jelinski (9):
ntdll: Add missing parameters to syscall call.
kernel32: Make SetThreadStackGuarantee stub return TRUE.
regedit: Make key names editable also with native comctl32.
regedit: Adding new subkey to a key with no subkeys now works with native comctl32.
comdlg32: Fixed support for deleting items other than the first.
comdlg32: Make tests pass with native comctl32.
shell32: Make folder names in folder picker editable.
comctl32: Allow label edit only if treeview style allows editing.
comctl32/tests: Treeview shouldn’t modify cChildren if it was explicitly set.

Detlef Riekenberg (4):
ntdll: Implement RtlGetProductInfo.
kernel32/tests: Add tests for GetProductInfo.
kernel32/tests: Remove debug code from GetProductInfo.
localui/tests: Do not fail when the spooler service was stopped.

Dmitry Timoshkov (17):
windowscodecs: Fix the test for rational IFD tag.
windowscodecs: Add support for preferred vendor guid in CreateDecoderFromStream.
windowscodecs: Extend IWICImagingFactory to IWICComponentFactory.
gdi32/tests: GetGlyphOutline should fail for a bitmap font.
oleaut32: Recognize icon and cursor in the being loaded data.
oleaut32: Explicitly initialize idReserved field in the icon directory header.
oleaut32: Simplify bitmap saving code.
oleaut32: Always write header to stream when saving an icon.
oleaut32: Add a test for saving an icon into a stream.
gdi32: Fix parameters of some GDI stock fonts.
server: Make sure that region and rectangle have the same origin before calling rect_in_region().
windowscodecs: Add a stubbed out IWICMetadataBlockReader to TIFF decoder.
kernel32: Print in the CopyFileW trace also fail_if_exists parameter.
windowscodecs: Protect from invalid input some metadata handler methods.
windowscodecs: Implement MetadataHandler_GetCount.
windowscodecs: Add WICIfdMetadataReader stub implementation.
windowscodecs: Add WICIfdMetadataReader registration.

Eric Pouech (1):
dbghelp: Use build-id information to locate debug information (and prefer it over .debug_link when both are present).

Erich Hoover (3):
server: Access the completion from the file descriptor instead of the async object.
server: STATUS_MORE_PROCESSING_REQUIRED indicates that an async operation should not send a completion.
ws2_32: Use STATUS_MORE_PROCESSING_REQUIRED to indicate that the AcceptEx async should not send a completion.

Francois Gouget (8):
wined3d: We must include Wine’s port.h before using NAN.
wineqtdecoder: Fix the spelling of a QTSplitter_loading_thread() variable.
msvcp90: Add a trailing ‘n’ to a TRACE() message.
Assorted spelling fixes.
windowscodecs/tests: Fix compilation on systems that don’t support nameless structs.
d3dcompiler_43: Make debug_{base,node}_type() static.
quartz: Make VMR9_{Break,Complete}Connect() static.
iphlpapi: Don’t rely on the HAVE_XXX macros having a numeric values.

Gerald Pfeifer (2):
dbghelp: Avoid unconditional use of NT_GNU_BUILD_ID.
ntdll: Omit unused typedef in test_query_timeofday.

Hans Leidekker (3):
msi: Don’t terminate the string in msi_id2stringA.
msi: Don’t create empty values for special registry entries.
fusion: Account for the version prefix when building the file mask.

Henri Verbeet (20):
wined3d: Properly preload index buffers.
ddraw/tests: Move test_window_style() to ddraw7.c.
ddraw/tests: Add test_window_style() for older ddraw versions.
d3d9: Get rid of IDirect3DDevice9Impl.
d3d9: Get rid of IDirect3DVolume9Impl.
wined3d: Use NAN.
ddraw/tests: Move test_redundant_mode_set() to ddraw7.c.
ddraw/tests: Add test_redundant_mode_set() for older ddraw versions.
d3d9: Get rid of IDirect3DSwapChain9Impl.
d3d9: Get rid of IDirect3DSurface9Impl.
wined3d: Update nouveau card info.
ddraw/tests: Move test_coop_level_mode_set() to ddraw7.c.
d3d9: Get rid of IDirect3DVertexBuffer9Impl.
d3d9: Get rid of IDirect3DIndexBuffer9Impl.
ddraw/tests: Add test_coop_level_mode_set() for older ddraw versions.
ddraw/tests: Split up test_initialize().
ddraw/tests: Split up test_coop_level_surf_create().
d3dx9: Use wine_dbgstr_rect() in some more places.
d3d9: Get rid of IDirect3DStateBlock9Impl.
d3d9: Get rid of IDirect3DVertexDeclaration9Impl.

Huw Davies (2):
include: Add a couple of missing printer status values.
winspool: Change get_dword_from_reg to accept a unicode value name.

Jacek Caban (37):
urlhist.idl: Added missing flags.
wininet: Handle error flags only for masked-error mode.
wininet: Fixed grouping security error flags.
wininet: Get rid of no longer used serverName and serverPort from http_session_t.
port.h: Added NAN macro.
jscript: Get rid of ret_nan hack.
jscript: Get rid of num_set_nan hack.
mshtml: Fixed Exec_ShellDocView_84 tests.
jscript: Added missing port.h include to lex.c.
wininet: Use CRLF separator in INTERNET_CERTIFICATE_INFO.
mshtml: Added IWindowForBindingUI stub implementation.
mshtml: Added support for BSCallback::QueryService(IID_IWindowForBindingUI).
mshtml: Forward BSCallback::QueryService call to document.
mshtml: Added IWindowForBindingUI tests.
urlmon: Correctly handle BINDF_NO_UI in handle_http_error.
dxgi.idl: Added IDXGIKeyedMutex declaration.
wininet: Properly set security flags for ERROR_INTERNET_SEC_CERT_DATE_INVALID.
urlmon: Added support for more error codes in handle_http_error.
wininet: Set correct security flags in InternetErrorDlg for ERROR_INTERNET_SEC_CERT_ERRORS.
ieframe: Added IHttpSecurity implementation.
wininet: Added support for undocumented InternetQueryOption(98).
wininet: Added InternetGetSecurityInfoByURL* stubs.
wininet: Properly set flags in InternetSetOption(INTERNET_OPTION_SECURITY_FLAGS).
wininet: Improved handling ERROR_INTERNET_INVALID_CA error.
wininet: Added support for undocumented InternetSetOption(99) call.
wininet: Store request object instead of handle in error dialog.
wininet: Set SECURITY_FLAG_SECURE when error dialog ignores invalid certificate.
wininet: Added support for ERROR_INTERNET_SEC_CERT_REV_FAILED in InternetErrorDlg.
wininet: Added more security flags and errors tests.
urlmon: Improved ERROR_INTERNET_SEC_CERT_REV_FAILED error handling.
wininet: Simplify proxy server access in dialogs.
wininet: Access directly host name from request object in dialogs.
wininet: Access request object directly in WININET_SetAuthorization.
wininet: Read status code directly from request object in InternetErrorDlg.
wininet: Skip security flags tests on too old wininet versions.
widl: Added –help command line option.

Juan Lang (6):
crypt32/tests: Don’t shadow a variable with a variable of a different type.
crypt32/tests: Add more tests of CertCreateSelfSignCertificate and the CERT_KEY_PROV_INFO parameter.
crypt32: Don’t fail if HCRYPTPROV and PCRYPT_KEY_PROV_INFO parameters are both non-NULL.
crypt32: Fail earlier if CryptExportPublicKeyInfo fails.
crypt32/tests: Add more tests for CertCreateSelfSignCertificate.
crypt32: Initialize key spec correctly.

Julian Rüger (1):
po: Update German translation.

Józef Kucia (17):
windowscodecs: Implement IWICStream::InitializeFromIStream.
d3dx9: Implement D3DXSaveSurfaceToFileInMemory.
d3dx9: Forward D3DXSaveTextureToFile to D3DXSaveTextureToFileInMemory.
d3dx9: Implement D3DXSaveTextureToFileInMemory.
d3dx9/tests: Add tests for D3DXSaveTextureToFileInMemory.
d3dx9/tests: Add tests for DDS header handling.
windowscodecs/tests: Fix the expected values in some ok() messages.
d3dx9/tests: Add tests for loading surfaces from non-lockable render targets.
d3dx9/tests: Fix indentation.
d3dx9: Add stub for D3DXCreateRenderToSurface.
d3dx9/tests: Add basic tests for D3DXCreateRenderToSurface.
d3dx9: Add ID3DXRenderToSurface interface stub.
d3dx9: Implement ID3DXRenderToSurface::GetDesc.
d3dx9: Implement ID3DXRenderToSurface::GetDevice.
d3dx9: Implement ID3DXRenderToSurface::BeginScene and ID3DXRenderToSurface::EndScene.
d3dx9/tests: Add tests for ID3DXRenderToSurface interface.
d3dx9/tests: Add tests for device state changes for ID3DXRenderToSurface interface.

Ken Thomases (1):
winex11: Be more conservative when matching keys from built-in layout tables.

Kimmo Myllyvirta (1):
wined3d: Add NVIDIA GeForce GTX 680.

Lauri Kenttä (2):
po: Update Finnish translation.
po: Update Swedish translation.

Lucas Zawacki (8):
dinput: Implement GetProperty for JOYSTICKID (Linux driver).
dinput: Implement GetProperty for JOYSTICKID (LinuxInput driver).
dinput/tests: Added a test for DIPROP_JOYSTICKID.
joy.cpl: First version of the joystick configuration applet.
joy.cpl: Added joystick listing.
joy.cpl: Added joystick testing tab and button tests.
joy.cpl: Added a Graphical Axis test.
joy.cpl: Added trace messages to show joystick input.

Matteo Bruni (9):
d3dcompiler: Use a separate bytecodewriter debug channel.
d3dcompiler: Flesh out the lexer more.
d3dcompiler: Add identifiers parsing.
d3dcompiler: Parse variable declarations.
d3dcompiler: Dump preprocessed shader sources.
d3dcompiler: Distinguish between scalars, vectors and matrices.
d3dcompiler: Parse modifiers.
d3dcompiler: Parse variable initializers, basic expressions.
d3dcompiler: Parse variable references in expressions.

Michael Geddes (1):
kernel32: Add timed wait capability flag to COMM Port properties.

Michael Stefaniuc (9):
user32/tests: Fix the expected values in some ok() messages.
shlwapi/tests: Fix the expected value in an ok() message.
msxml3/tests: Fix the expected values in some ok() messages.
include: Move “inline” right after the storage specifier.
d3drm/tests: Remove stray backslashes at end of lines.
comctl32/tests: Remove stray backslashes at end of lines.
msctf: Remove a stray backslash at the end of a line.
wineqtdecoder: Remove duplicated assert.h include.
mscoree: Remove duplicated include.

Oleksij Rempel (2):
shell32: Return empty list instead of NULL.
krnl386.exe: Fix drive spec in get_media_id call.

Piotr Caban (9):
msvcrt: Fixed typo in DEFINE_EXCEPTION_TYPE_INFO macro.
msvcrt: Handle rethrown exception in cxx_frame_handler.
msvcp90: Added partial basic_ostream<char> implementation.
msvcp90: Fix streamoff and streampos definition.
msvcp90: Rename sentry_char_{create,destroy} functions.
msvcp90: Call correct setstate function in basic_ostream class.
msvcp90: Added partial basic_istream<char> implementation.
msvcp90: Added codecvt_base class implementation.
msvcp90: Added codecvt<char> implementation.

Rico Schüller (1):
d3dx9: Crop the input in ID3DXBaseEffect::SetBool().

Roderick Colenbrander (1):
winex11.drv: Limit formats to nMaxFormats in wglChoosePixelFormatARB.

Stefan Leichter (2):
kernel32: Fix OutputDebugStringA called with NULL pointer.
setupapi: Add stub for SetupAddToSourceListA.

Vincent Povirk (11):
propsys: Add test for saving/loading an empty property store.
mscoree: Install Wine Mono on prefix update.
wine.inf: Do not install .NET registry keys and fake dlls.
windowscodecs: Add tests for IWICMetadataBlockReader on handler classes.
Revert “windowscodecs: Add a stubbed out IWICMetadataBlockReader interface.”.
wine.inf: Add .NET keys to the 64-bit registry.
windowscodecs: Add test for IWICMetadataBlockReader interface.
windowscodecs: Add stub IWICMetadataBlockReader to PNG decoder.
include: Add declarations for metadata handler info interfaces.
windowscodecs: Add test for IWICMetadataReaderInfo.
windowscodecs: Add metadata reader information to the registry.

Alexandre Julliard

Comments are closed.