The Wine maintenance release 1.6.1 is now available.
What's new in this release (see below for details):
- Translation updates.
- 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 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.6.1 (total 58):
2770 Powerbullet Presenter 1.44: Powerbullet.dll registration fails (Armadillo v4.x software protection fails at checkpoint L5, error 0x17)
4473 WSAStartup not needed before socket() call
18744 Mp3Tag: Column headers in list view incorrectly redrawn
23839 Neverwinter Nights 2 can't detect video adapter properly, claiming: "Your video card has less than 128 MB of video memory"
25754 Excel Workbook with Macros Is not Running : Getting Crashed.
25994 Process Hacker 2.x needs ntdll.dll.NtCreateKeyedEvent
27052 winedbg and its man page should use "wpid" consistently for Windows' process ID
28423 ImmGetDescriptionW() from imm32 crashes with certain parameters
28664 qedit/mediadet test crashes on FreeBSD9
29448 GameShield/SoftwareShield protected apps/games won't start (SetCurrentDirectoryA calling W API causes detours recursion)
30485 MeGUI 2112 crashes after first update / restart (application XML settings can't be fully deserialized due to oleaut32 VarDecRound being a semi-stub)
30797 wine(1) man page should mention running built-in programs like explorer.exe
31487 kernel32.dll.InitOnceExecuteOnce needed for several MS installer (Office2013 / Windows Essentials 2012 / .NET Framework 4.5 / Skydrive / ARM Applications)
31773 Torchlight 2 shadows are rendered incorrectly on some areas
32922 iTunes 7 needs msvcr80.dll._wmktemp_s
33378 measuring/painting strings needs better tests
33523 .NET Framework 3.5 WPF 3.x apps need windowscodecsext.dll.DllGetClassObject
33657 Garena didn't start with ADMINISTRATOR privileges
33693 Spin Tires tech demo needs msvcr90.dll.wctomb_s
33794 Arabic Entry Box Has Big Errors .
33872 Pando (installer of LOL) can't load FAQ
33890 Anno 1602 (demo): crash during startup
34005 WS2_32.dll.WSASendMsg is unimplemented
34013 Altium Designer 10 and its installer crash in InternetQueryOptionW
34077 Sins of a Solar Empire Font Size Regression
34102 It is not drawn when specify 0 for the width and height in GdipDrawString.
34110 MS Excel 2010 escape/unescape problem in sheet names
34142 Nullsoft installer appearance is broken
34162 CGDirectPaletteRef has been deprecated so winemac.drv can't be compiled in Mavericks.
34177 -pipe makes mingw-g++ work unreliably
34188 crash when creating a new wineprefix with winemac.drv
34190 number.c could not compile due to "dtoa" naming conflict in Cygwin
34191 cabarc.c could not compile
34209 fullscreen apps won't switch back to resolution after command-tabbing on OS X
34211 strncpy C library function doesn't compliant C standard.
34245 WMI query "select * from win32_Directory" via WMI crashes
34275 Louisiana Adventure Demo fails with 'OLE error 80004001' (HTMLStyleSheet_GetIDsOfNames is a stub)
34305 League of Legends 3.10.13_07_26_19_59: page fault in read_map()
34329 Wine 1.6 fails to build with bison 3.0
34353 The Ur-Quan Masters fails to start
34381 Rectangle rotation problem using GM_ADVANCED graphicmode
34399 .NET 3.x/4.x WPF based installers/apps require windowscodecs.dll ComponentFactory_CreateBitmapFromHBITMAP implementation
34401 QuiteRSS WinRT/ARM port needs msvcr110.dll.fabsf
34417 Everquest character models invisible
34418 regression: Finale NotePad 2012 installer splash screen appears as black box
34442 Multiple applications ported to WinRT/ARM require msvcr110.dll.?before@type_info@@QBA_NABV1@@Z (Halite torrent client)
34463 thai2english loads ok but crashes on startup
34464 Jagged Alliance 2 fails to start (becomes unresponsive after startup)
34486 __unDName cannot demangle a string and shows error
34496 winhttp POST fails
34514 an odd regression on an old video card
34521 make: *** [dlls/msxml3] Error 2
34550 RTX server crashes at start
34564 RTX Server fail to import user template database with builtin msvcp60
34567 qq 2012 installer crashes at 100%
34570 Game crash because of improperly cloning MMIOINFO struct in MMIO_Open
34571 EasiSlides v4 crashes when clicking a folder listbox item (GdipFillPath failure)
34583 LINE (Powered by Naver) 220.127.116.11: Cannot work after Installation
Changes since 1.6:
Adam Bolte (1):
wined3d: Add support for nVidia GTX 660M.
Alexandre Julliard (35):
widl: Fix typo in man page.
jscript: Use bison directives instead of defines to specify extra lexer parameters.
msi: Use bison directives instead of defines to specify extra lexer parameters.
vbscript: Use bison directives instead of defines to specify extra lexer parameters.
wbemprox: Use bison directives instead of defines to specify extra lexer parameters.
widl: Remove non-bison compatibility code.
wrc: Remove non-bison compatibility code.
gdi32: Use Microsoft and Unicode encodings in priority for font names.
kernel32: Don't call from A to W function in Get/SetCurrentDirectory.
ntdll: Add the keyed events entry points.
server: Add support for keyed event objects.
server: Create the critical section keyed event object on startup.
server: Don't include SYNCHRONIZE in the keyed event access rights.
server: Map new handle access even when not checking it.
server: Add a structure to pass the parameters of a select request.
ntdll: Pass a select operation structure to NTDLL_wait_for_multiple_objects.
server: Make select on all handles a separate operation.
server: Make signal and wait a separate select operation.
ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now.
ntdll: Move the select and APC support to server.c.
server: Store the wait structure in the wait entry and add an accessor function for the thread.
server: Pass a wait queue entry to the signaled/satisfied object functions.
server: Store abandoned state as a flag in the wait structure.
server: Implement waiting on keyed events.
ntdll: Implement the RunOnce functions.
kernel32: Implement the InitOnce functions.
ntdll: Actually return the mount point in get_device_mount_point on Mac OS.
ntdll: Add a configure check for the tcdrain function.
gdi32: Add more helpers for converting font sizes to logical coordinates.
gdi32: Add a check for overflow in DIB dimensions.
server: Trigger a repaint on layered windows the first time the attributes are set.
msxml3: Don't use libxslt without libxml.
wmc: Add support for long command-line options.
wmc: Load translations from mo files instead of po.
gdi32: Remove freetype compatibility cruft that doesn't compile.
Alistair Leslie-Hughes (1):
windowscodecsext: Add stub DllGetClassObject.
Andrew Cook (1):
ntdll: Implement NtQueryEvent.
Andrew Eikum (6):
winmm: Don't count unused frames.
dsound: Allow multiple buffers to capture from the same device.
winmm: Increase mmdevapi buffer sizes.
oleaut32: Typelib strings of size -1 are NULL.
oleaut32: Don't crash on NULL string arguments.
oleaut32: Implement VarDecRound.
André Hentschel (1):
msvcrt: Export fabsf on ARM and x86_64.
Aric Stewart (5):
wineqtdecoder: Calculate AvgTimePerFrame for video tracks.
gdi32: GetCharWidth32A/W return positive widths for all layouts and various DC transforms.
gdi32: ABC value signs remain the same despite any changes in layout direction or viewport.
imm32: Fix ImmGetDescription behavior with a null HKL.
imm32: ImmGetCandidateWindow should not return unset data.
Austin English (1):
dxdiagn: Add a few more stub properties.
Bruno Jesus (2):
ws2_32: Do not allow socket creation if WSAStartup was not called.
ws2_32: Implement WSASendMsg().
Charles Davis (3):
winemac.drv: Also return the number of pixel formats if the caller didn't supply a PIXELFORMATDESCRIPTOR.
configure: Use a real header guard for config.h.
winemac.drv: Support the public UTF-16 type for Unicode text.
Daniel Jelinski (1):
comctl32: Do not rearrange treeview when collapsing already collapsed item.
Dmitry Timoshkov (7):
ntdll: NtAllocateVirtualMemory should fail to commit if an address range is already committed for a memory mapped file.
windowscodecs: Workaround libtiff bug when it defines toff_t as 32-bit for 32-bit builds.
cabarc: Fix compilation under Windows.
ntdll: Last parameter of NtSetIoCompletion is 64-bit on 64-bit platforms.
server: Store full-sized completion information on the server side.
windowscodecs: Implement CreateBitmapFromHBITMAP.
gdiplus: GdipTransformRegion should not fail for an empty path.
Fabrice Bauzac (1):
winmm: Fix WOD_Open() WID_Open() WAVE_MAPPER no-device case.
François Gouget (1):
loader: Fix the clean target to delete the generated wine_info.plist file.
Frédéric Delanoy (14):
server: Fix manpage formatting.
loader: Fix wine manpage formatting.
loader: Fix invalid groff in Polish wine manpage.
loader: Update French translation of wine manpage.
server: Make wineserver manpage conform to common manpages conventions.
server: Update French translation of manpage.
winemaker: Make the manpage more concise.
winemaker: Make manpage conform to common manpages conventions.
winemaker: Update French translation of manpage.
winedbg: Fix manpage formatting.
winedbg: Use consistently wpid in documentation.
winedbg: Fix winedbg --help message formatting.
loader: Mention builtin executables in wine manpage.
loader: Update French translation of wine manpage.
Gediminas Jakutis (1):
wined3d: Recognize Nvidia GeForce GTX 770.
Hans Leidekker (14):
server: The token user SID must be present in the default DACL.
msi: Fix integer conversion in get_table_value_from_record.
wininet: Ignore INTERNET_FLAG_NO_CACHE_WRITE only for GET requests.
wininet: Handle NULL input string in str_to_buffer.
msi: Add support for the hyperlink control.
winhttp: Allow setting NULL username and password for NTLM, Passport and Negotiate.
winhttp: Fix invalid parameter handling in WinHttpQueryAuthSchemes.
wbemprox: Accept the root\default namespace.
wininet: Replacing a header with an empty value deletes it.
wininet: Fix calculation of content length from chunk size.
winhttp: Fix the base64 decoder.
wbemprox: Avoid a crash on file or directory queries with an empty WHERE clause.
wininet: Don't assume that end of chunk means end of stream.
winhttp: Don't assume that end of chunk means end of stream.
Henri Verbeet (11):
wined3d: Use the "adapter" local variable in swapchain_init().
wined3d: Store the original display mode in the swapchain.
wined3d: Get rid of the render target / overlay check in wined3d_surface_flip().
wined3d: Return 1 instead of 0 for max_vertex_blend_matrices in glsl_vertex_pipe_vp_get_caps().
wined3d: Add fallback depth format info for when ARB_depth_texture is not available.
wined3d: Don't bother downloading buffer contents on destruction.
wined3d: Only set fragment pipe uniforms if they're needed by the shader.
wined3d: Just update a range of constants in walk_constant_heap().
wined3d: Avoid some redundant state_pscale() calls.
wined3d: Don't clamp texture lookups in the GLSL fixed function fragment pipe.
wined3d: Use clamp() instead of max() for calculating the clamped cosine in the ffp lighting calculations.
Huw D. M. Davies (9):
gdi32: Ignore max_extent if nfit is NULL.
ieframe: DdeNameService returns NULL on error.
ntdll: Call the correct server request.
Revert "gdi32: Do not use VDMX for mapping of negative font heights, based on a test case.".
gdi32: Reset ppem to zero if we fail to find a matching height.
gdi32: Skip vdmx records with charset == 0.
fonts: Fix glyph names and advance widths.
fonts: Add a few more glyphs in wingding.
fonts: Add some box-type glyphs to wingdings.
Hwang YunSong (황윤성) (1):
po: Update Korean translation.
Jacek Caban (4):
wininet: Ignore missing status text in response headers.
mshtml: Better res protocol URL parsing.
mshtml: Added IDispatchEx support to HTMLStyleSheet object.
appwiz.cpl: Allow cancelling download of addons.
Joško Nikolić (2):
po: Update Croatian translation.
po: Update Croatian translation.
Ken Sharp (2):
po: Update English neutral resource.
kernel32: Correct log on / logon (noun / verb).
Ken Thomases (47):
winemac: Make a file-scope variable static.
gdi32: Link against AppKit on the Mac to avoid later crash in the Mac driver.
winemac: Avoid using display palette API, which was deprecated with the 10.7 SDK.
winemac: Make cgrect_from_rect() preserve origin of empty rectangles.
winemac: Create 1x1 Cocoa window with empty shape for zero-sized Win32 window.
winemac: Remove a redundant memset of a struct.
winemac: Improve tracing in sync_window_position() to include adjusted frame.
winemac: Always trace arguments in macdrv_ShowWindow().
winemac: Don't unminimize a window for SetFocus().
winemac: Don't generate scroll wheel events for axes with 0 delta.
winemac: Don't reorder clicked window relative to sibling owned windows if it's in the right place.
winemac: On click, don't reorder Cocoa child window after siblings of higher level.
winemac: Skip minimized windows when looking for z-ordering neighbor.
winemac: Remove some duplicated code from -makeKeyAndOrderFront:.
winemac: Make -setMacDrvParentWindow: do nothing if new parent is same as latent parent.
winemac: Consolidate the code for managing the Cocoa parent/child window relationship.
winemac: Clear latent parent on window close to break potential retain cycle.
winemac: When a window becomes ineligible to be a parent, make the relationship latent in its children, too.
winemac: Track latent child windows (the inverse of the latent parent window relationship).
winemac: A window is ineligible to be a Cocoa parent or child while minimized.
winemac: Don't use Cocoa parent-child relationship when topmost state is enough to keep owned in front of owner.
winemac: When ordering sibling child windows, don't remove and re-add ones already in the right order.
winemac: Add support for mouse-move and right- and middle-click events on systray icons in the Mac status bar.
winemac: Don't allow dead-key state to repeat after characters are generated.
user32: Fix mouseRect computation for starting position when sizing window.
winemac: Restrict DescribePixelFormat() to displayable pixel formats.
winemac: Return failure from DescribePixelFormat() for invalid pixel format.
winemac: Trace the pixel format in DescribePixelFormat().
winemac: At the start of a resize operation, get window min/max size info and pass it to Cocoa.
winemac: Move memory management of liveResizeDisplayTimer into property setter.
winemac: Send WM_ENTER/EXITSIZEMOVE messages at start/end of a resizing operation.
winemac: Use NSMouseInRect() instead of NSPointInRect() to compensate for Cocoa's off-by-one coordinate system.
winemac: When programmatically focusing a window, don't generate WINDOW_LOST_FOCUS event for previously focused window.
winemac: Let Wine always drive window minimization; Cocoa just requests it.
winemac: Remove a too-early attempt to set the process's Dock icon.
winemac: Reapply display modes when switching back to app after "escaping" with Command-Tab.
winemac: Allow zero-sized windows to be selected from the Mac Window menu.
winemac: Make clicking on the app's dock icon unminimize a window if there are only minimized windows.
winemac: Use unsigned type for bitfields.
winemac: Only update window minimized state when it has changed from what processed events told us it was.
winemac: Don't accidentally clear Cocoa window style mask bits.
winemac: Update the window min/max size info and enforce it when zooming.
winemac: If the app doesn't specify a custom max. tracking size, don't restrict Cocoa.
winemac: Tell Wine when Cocoa has brought a window to the front.
winemac: Make sure the same housekeeping is done when closing a window as is done when hiding it.
winemac: Add registry settings to make Option keys send Alt rather than accessing additional characters from the keyboard layout.
winemac: Implement support for Cocoa-style full-screen mode.
Lu Jiashu (1):
winmm: Clone the whole adwInfo array in MMIO_Open.
Marcus Meissner (1):
wined3d: Fixed sizeof() to HeapAlloc (Coverity).
Matteo Bruni (2):
wined3d: Implement special fog behavior for orthogonal projection matrices.
wined3d: Add a missing destroy_dummy_textures() call.
Michael Müller (2):
d3d9: Add headers for IDirect3DSwapChain9Ex interface.
d3d9: Partial implementation of IDirect3DSwapChain9Ex.
Michael Stefaniuc (1):
windowscodecs: Silence a warning due to an API change in libpng 1.5.
Nikolay Sivov (6):
msxml3: Unescape '&' back to '&' in attribute value.
comctl32: Properly handle repainting for HDF_OWNERDRAW items.
msxml3: Fix a warning in DTD dumping code on recent libxml2 versions.
msxml3: Fix a warning accessing internal buffer of xmlOutputBuffer.
server: Fix string length used with strncmpW().
po: Tweak Russian strings for winecfg.
Piotr Caban (22):
msvcrt: Fix _mktemp implementation.
msvcrt: Add _mktemp_s implementation.
msvcrt: Add _wmktemp_s implementation.
msvcrt: Add _wctomb_s_l implementation.
msvcrt: Add _wcstol_l implementation.
msvcrt: Added _swprintf_s_l implementation.
jscript: Fix compilation issues when dtoa is defined in headers.
msvcrt: Fix parameter validation in _stat64 function.
msvcp60: Fix locale::dtor implementation.
msvcp90: Fix string leak in locale__Locimp__Makeloc function.
msvcp60: Fix basic_filebuf::_Init implementation.
msvcrt: Add _wsetlocale implementation.
msvcrt: Improve setting standard handles flags.
msvcrt: Fix lookahead buffer usage on pipes.
msvcr110: Add forwards to type_info::before function.
msvcrt: Don't forward _wcsnicmp to ntdll.
msvcrt: Add support for vtordisp functions demangling.
msvcrt: Add _snwprintf_s_l implementation.
msvcp60: Don't call _Eos on allocation error or 0-length string in basic_string::reserve.
msvcp60: Fix char_traits<wchar_t>::assign implementation.
msvcrt: Improve error handling in wcsrtombs function.
msvcr90: Don't forward exception constructors to msvcrt.
Qian Hong (5):
imm32: Fixed ImmUnlockIMC.
imm32: Fixed ImmUnlockIMCC.
ntdll: Fixed parameter list in spec file for RtlpNtQueryValueKey.
imm32: Fixed IMCC implementation.
imm32: Validate input context in multiple IMC functions.
Rafał Mużyło (1):
configure: Don't use X_PRE_LIBS.
Ralf Habacker (1):
gdi32: Fixed Rectangle() rotation with GM_ADVANCED graphics mode in dib driver.
Sebastian Lackner (3):
winex11: Added missing release_win_data() to create_foreign_window().
winex11: Call destroy_gl_drawable before destroying the window.
winex11: Call sync_context for DC_GL_CHILD_WIN drawables before swapping buffers.
Stefan Dösinger (4):
wined3d: Don't invert blits from offscreen surfaces.
ddraw: Gracefully handle recursive SetCooperativeLevel calls.
wined3d: Don't clamp texture lookups in the ARB fixed function fragment pipe.
wined3d: Use the ftoa helper function in the ARB shader backend.
Thomas Faber (2):
comctl32: Fix build with MSVC.
mmdevapi: Fix build with MSVC.
Vincent Povirk (4):
atl: Do not access m_pTermFuncs if the structure is too small.
riched20: Use \ulnone instead of \ul0 for no underline.
msvcrt: _[w]access_s returns an error code.
gdiplus: Only clip strings if rectangle width and height are positive.
Volkan Gezer (1):
po: Updated Turkish translations.
Wolfgang Walter (1):
ntdll: Call tcdrain for serial handles from NtFlushBuffersFile.
Álvaro Nieto (1):
msvrct: Fix strncpy to fill the buffer.