The Wine development release 1.7.10 is now available.
What's new in this release (see below for details):
- Window maximization in the Mac driver.
- AVI compressor implementation.
- Thread local storage support in dynamically loaded libraries.
- Beginnings of a Task Scheduler implementation.
- Extended IPX protocol support.
- 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.7.10 (total 48):
3542 Dungeon Keeper Gold not starting
4633 Garmin MapSource 6.x crashes during attempt to communicate with GPS device
6833 AIM Pro fails to load 'apExtCmp.dll' (MSVCRT_ungetc write operation on read-only section/mapping)
8549 lsTasks tool fails due to ITaskScheduler::SetTargetComputer stub
10911 Jumpstart Mystery Club download manager doesn't work
13407 The Bat! Voyager fails to accept the master password
13982 Multiple Realarcade installers fail on startup, complaining with COM/LUA scripting errors (need IFileSystem3::GetFolder method implementation)
16265 ActiveX Control Pad installer hangs sometimes on exit; deadlock between LdrShutdownThread and TASK_ExitTask?
17747 Using race07 server on wan crashes
18752 Skype 4 MSI installer fails to start Skype.exe when finishing installation in Vista mode (missing TaskScheduler component)
19052 Jasc Animation Shop 3.05 crashes on startup
21107 Portable RDP 6 client fails on startup, claiming "An error occurred. Try to reconnect." (MoleBox application virtualization scheme)
21112 Newsbin 32 Bit Client crashes
21541 Farscape: The Game crash at game launch
21575 Shareaza 2.5.x Media Player refuses to play any media
21711 MotorM4X crashes when running with virtual desktop
23764 Segmentation fault when installing openmtb maps
25061 20dollars2surf app throws run-time error 445 while creating InternetExplorer.Application object
25109 Blood Bowl Legendary Edition cannot be launched.
26507 Muvee Reveal 184.108.40.2061 installer fails to extract its CABINET payload from embedded PE resource
26524 Muvee Reveal 220.127.116.111 crashes on startup (main assembly manifest parser failure)
27180 Mobile Master: Crash at update
27651 Google Music Manager installer fails to start
30547 Corel Photo Downloader (Part of Corel MediaOne) crashes due to unimplemented function SHELL32.dll.SHCreateQueryCancelAutoPlayMoniker
31057 makefile(3) : fatal error U1034: syntax error : separator missing
32281 Visual C++ 2010 fails to install in 64-bit WINEPREFIX
32330 Steam slow to redraw when dragging offscreen in virtual desktop
32937 Freemake Video Converter: needs tasklist.exe
33886 Anno 1602: Unhandled exception: divide by zero in 32-bit code
34869 Microsoft Office 2013 full offline installer crashes on startup (TEB access with NULL TLS array pointer, failure to handle case where only late-bound modules have TLS directory)
34971 Volvo The Game crashes when selecting competition mode
35028 SPSS Legacy Viewer (SmartViewer 15) fails to install ("TempFolder" property reset by custom action)
35061 GoldCoin 0.7.1.7 shows assertion on startup (needs ntdll.NtQuerySemaphore implementation)
35084 Visual Studio 2010 installer fails to install in 64-bit Windows XP WINEPREFIX (claims "Windows XP x64 Service Pack 2 is required")
35138 Keil uVision 3 IDE (PK51 version) crashes when coming out of hardware debug session
35146 Gazillionaire stops drawing icons
35176 MSVC 2012 C compiler 'cl.exe' fails/crashes (TLS not correctly initialised for explicitly-loaded DLLs)
35198 Torch Browser needs USERENV.dll.GetAppliedGPOListW
35199 Eve Online needs msvcp100.dll.?_Getname@_Locinfo@std@@QBEPBDXZ
35204 oleacc:cannot find function DllGetClassObject
35235 GoldCoin 0.7.1.7: synchronization with network spams terminal with "fixme:winsock:convert_eai_u2w Unhandled unix EAI_xxx ret 0" messages
35236 Multiple applications refuse to load or crash on startup (Nitro PDF Reader 3, Mozilla Firefox) (exception in builtin 'msvcp100' entry point if 'msvcrt' is not mapped)
35262 HorzionX360: Unable to run installer
35269 Mobile Master crashes on startup (array-index out of bounds for IFile_tid in scrrun get_typeinfo)
35289 Star Wars - The Force Unleashed: launcher crash at start (better diagnostics for missing 'lcms2' support needed)
35292 Missing folder icons when changing installation location in TreeSize Free installer
35296 Multiple Realarcade installers fail on startup, complaining with COM/LUA scripting errors (need support for IFolder::get_SubFolders)
35302 AMD Processor Driver 1.3.2.x installer has incorrect image and text placement
Changes since 1.7.9:
Alexander Nicolaysen Sørnes (1):
po: Update Norwegian translation.
Alexandre Julliard (57):
msvcp90: Avoid mismatched parentheses inside ifdefs.
msvcp90: Work around Mingw duplicate encode/decode_pointer definition.
msvcp100: Implement _Locinfo::_Getname.
winebuild: Fix path separator for Cygwin.
ntdll: Allocate a separate pointer for each TLS slot.
ntdll: Allocate TLS slots dynamically on module load.
ntdll: Allocate TLS data in all running threads on module load.
makedep: Specify the old extension explicitly when replacing it.
makedep: Use array of filenames in more places.
makedep: Add a separate pragma flag for typelibs that need registration.
widl: Determine the output type from the file name if not specified explicitly.
makedep: Generate a common rule for all objects of a given idl source.
configure: Always use the local install-sh script for installing.
makefiles: Leave it to install-sh to create destination directories.
makedep: Use a string array to manage include directories.
makedep: Use a string array to manage dlldata source files.
makedep: Use a string array to store makefile variables.
makedep: Allow overriding makefile variables through the command line.
makedep: Allow overriding makefile variables through the MAKEFLAGS environment variable.
makedep: Manage generated source files explicitly instead of relying on name comparisons.
makedep: Generate rules for svg files in maintainer mode.
makedep: Generate rules for TrueType fonts in maintainer mode.
msvcp: Don't forward __uncaught_exception to msvcrt.
msvcp: Don't forward the mbtowc functions to msvcrt.
msvcp: Don't assume that msvcrt is imported.
configure: Don't create cross-compiled import libraries for 16-bit modules.
makedep: Generate a list of phony targets.
makedep: Clean up output files on failure.
makedep: Manage current output column with a global variable.
makedep: Pass string arrays by value in some places.
gdi32: Don't bother returning the driver module from DRIVER_load_driver.
gdi32: Trigger the display driver load for CreateCompatibleDC(0).
scrrun: Add missing ITextStream id.
makedep: Keep track of object files in separate arrays.
makedep: Generate rules for the main module.
makedep: Generate rules for import libraries.
makedep: Generate rules for static libraries.
makedep: Generate rules for test binaries.
makedep: Generate rules for API documentation.
oleaut32: Don't create non-existent typelib files.
makefiles: Use a single variable for all types of idl files.
makefiles: Remove no longer needed dlldata.o and testlist.o extra objects.
makefiles: Include program files in the all: target.
makefiles: Include manpages in the all: target.
makefiles: Add support for a variable to list extra targets.
makefiles: Define libwine soversion from configure.
Update copyright info for 2014.
makefiles: Generate cross-compile rules automatically when supported.
makefiles: Automatically add dll flags where necessary.
makefiles: Automatically output appropriate target flags.
makefiles: Determine module type based on the defined variables, and add some sanity checks.
shell32: Use Shell_GetImageLists to retrieve image lists instead of using a global variable.
makefiles: Get rid of the MAKE_DLL_RULES variable.
makefiles: Get rid of the MAKE_PROG_RULES variable.
makefiles: Get rid of the MAKE_IMPLIB_RULES variable.
makefiles: Get rid of the MAKE_TEST_RULES variable.
version: Load the resource that corresponds to the current language first.
Andrey Gusev (2):
d3d8: Added missing hyphen in WARN message.
po: Ukrainian translation updates and spelling fixes.
André Hentschel (3):
kernel32: Adapt input checking in OpenConsoleW to match win8 behaviour.
kernel32/tests: Accept more win8 return values.
gdi32: Fix a comment.
Austin English (1):
wine.inf: Bump XP 64-bit to service pack 2.
Bruno Jesus (9):
ws2_32: Do not convert EAI_xxx return in case of success.
ws2_32: Normalize IPX protocol names using the WS prefix.
ws2_32/tests: Fix some test message typos.
ws2_32: Add support to print IPX socket address.
ws2_32: Add support to check if an IPX socket is bound.
ws2_32: Add a missing release_sock_fd.
ws2_32: Use a helper function to set the IPX packet type.
ws2_32: Add extended IPX protocol support.
ws2_32: Cope with invalid hints in getaddrinfo/GetAddrInfoW.
Dmitry Timoshkov (22):
taskschd: Add new dll.
ws2_32: Add a workaround for broken versions of glibc which return EAI_SYSTEM and set errno to 0 instead returning of EAI_NONAME.
ws2_32: Add translation for AI_V4MAPPED.
ws2_32: Add more traces.
ws2_32/tests: Add a test for inet_ntoa called from two threads.
ws2_32: Move the buffer used by inet_ntoa into the per-thread data.
ntdll: Implement NtQuerySemaphore/SemaphoreBasicInformation.
include: Add Task Scheduler typelib definition.
taskschd: Add ITaskService stub implementation.
taskschd: Add Task Scheduler class factory.
taskschd: Add registration for TaskScheduler interfaces.
advapi32/tests: Test generic access mapping for a mutex.
advapi32/tests: Test generic access mapping for an event.
advapi32/tests: Test generic access mapping for a semaphore.
advapi32/tests: Test generic access mapping for a pipe.
advapi32/tests: Test generic access mapping for a file.
cabinet/tests: Add an FDICopy test which emulates extracting from a memory block.
cabinet: Read CAB size from the file header instead of calling FDI seek callback with SEEK_END.
cabinet: Remove a no longer valid comment about seeking and restoring CAB position.
xmllite: Use wine_dbg_sprintf instead of a static buffer.
xmllite: Constify pointers in arrays that hold const data.
winebuild: Write actual (not aligned) sizes in the resource headers.
François Gouget (2):
gdi32/tests: Fix a flood of failures on Windows XP SP1 and 2003 pre-SP1.
ddraw/tests: Fix compilation on systems that don't support nameless unions.
Frédéric Delanoy (38):
comcat/tests: Constify some character strings.
crypt32/tests: Constify some character strings.
dnsapi/tests: Constify a character string.
faultrep/tests: Constify some character strings.
gdi32/tests: Constify a character string.
hlink/tests: Constify some character strings.
imagehlp/tests: Constify some character strings.
inetcomm/tests: Constify some character strings.
infosoft/tests: Constify a character string.
kernel32/tests: Constify some character strings.
localspl/tests: Constify some character strings.
localui/tests: Constify some character strings.
winedump: Make segdir static.
winedump: Use BOOL type where appropriate.
msi/tests: Constify some character strings.
ntdll/tests: Constify a character string.
msxml3/tests: Constify some character strings.
oleaut32/tests: Constify some character strings.
ole32/tests: Constify some character strings.
oledb32/tests: Constify some character strings.
qedit/tests: Constify some character strings.
scrrun/tests: Constify a character string.
secur32/tests: Constify a character string.
shdocvw/tests: Constify some character strings.
shell32/tests: Constify some character strings.
shlwapi/tests: Fix StrChrNW prototype.
shlwapi/tests: Constify some character strings.
urlmon/tests: Constify some character strings.
user32/tests: Constify some character strings.
version/tests: Constify some character strings.
winhttp/tests: Constify a character string.
wininet/tests: Constify some character strings.
winspool.drv/tests: Constify some character strings.
wintrust/tests: Constify some character strings.
winedump: Use BOOL type where appropriate.
winedump: Use BOOL type where appropriate.
ddraw/tests: Use BOOL type where appropriate.
comctl32/tests: Use BOOL type where appropriate.
Hans Leidekker (4):
msi: Always derive the SourceDir property from the database path.
msi: Fall back to the global temporary directory when the TempFolder property resolves to a non-existing directory.
msi: Remove the unused CurrentlyScripting field from MSISCRIPT.
mscms: Print a fixme when compiled without support for liblcms2.
Jacek Caban (16):
msrle32/tests: Added tests.
qcap: Added IPersistPropertyBag stub implementation to AVI compressor.
qcap: Added AVI compressor input pin stub implementation.
qcap: Added AVI compressor output pin stub implementation.
qcap: Added IPersistPropertyBag::Load implementation.
qcap: Added AVICompressorIn_CheckMediaType implementation.
qcap: Added AVICompressorIn_ReceiveConnection implementation.
qcap: Added AVICompressorOut_GetMediaType implementation.
qcap: Added AVICompressorOut_DecideBufferSize implementation.
qcap: Added AVI compressor Start and Stop implementations.
msrle32: Use the same default quality as native.
msrle32: Get rid of ICM_GETQUALITY and ICM_SET_QUALITY that should not be supported.
msrle32: Append EOI instead of replacing EOL.
msrle32: Get rid of no longer needed lDist argument in MSRLE32_CompressRLE8Line.
msrle32: Properly set compression output flags.
qcap: Added AVICompressorIn_Receive implementation.
Ken Thomases (11):
winemac: Don't check the state of the SC_MINIMIZE item of the window menu when asked to minimize.
winemac: Extract some duplicated code to a new perform_window_command() function.
winemac: Move some state-based feature adjustment into the -adjustFeaturesForState method.
winemac: Prevent disabled windows from being moved.
winemac: Allow programmatic changes of the window frame even if a window is disabled (prevented from resizing).
winemac: Implement support for maximizing windows.
winemac: Defer adjusting window levels while the process is hidden.
winemac: Track whether our windows would be visible if the process weren't hidden.
winemac: Explicitly unhide the app early when showing windows.
winemac: For WINDOW_DID_UNMINIMIZE events, don't attempt to restore windows which aren't minimized and visible.
winemac: More thoroughly discard events which have been obsoleted by subsequent Wine- or program-driven changes.
Marcus Meissner (4):
gdiplus: Free the correct pointer (Coverity).
mmsystem.dll16: Free the correct pointer (Coverity).
setupapi: Do not free stack pointers (Coverity).
msxml3: Avoid double free of str (Coverity).
Martin Storsjo (1):
ntdll: Improve handling of THUMB_MOV32 relocations.
Michael Müller (1):
quartz: Return increasing monitor GUID on VMR7 monitor enumeration.
Michael Stefaniuc (5):
dmusic: These COM classes don't support COM aggregation.
dmusic/tests: Centralize the skip().
dmusic/tests: Add some COM tests for IDirectMusic/IDirectMusicCollection.
dmusic/tests: Don't crash with old dmusic versions.
dmusic/tests: Change the way of detecting a workable dmusic.
Nikolay Sivov (16):
oleacc: Added DllGetClassObject() stub.
include: Added ID2D1SimplifiedGeometrySink definition.
ntdll: Open source file only when needed during context creation.
ntdll: Fix return value when failed to locate resource.
ole32: Call moniker methods with proper wrappers.
include: Added IQueryCancelAutoPlay definition.
shell32: Implement SHCreateQueryCancelAutoPlayMoniker() with some tests.
ntdll: Fix manifest attribute parsing.
scrrun: Store folder path.
scrrun: Implement GetFolder().
scrrun: Use DISPID_VALUE instead of 0 in private idl.
scrrun: Added IFolderCollection stub.
scrrun: Fix IFolder::QueryInterface() to respond to IDispatch query.
scrrun: Implement Count() property for folder collection.
scrrun: Implement IEnumVARIANT stub for folder collection.
scrrun: Implement Reset() for folder collection.
Piotr Caban (4):
msvcrt: Convert data to multibyte encoding in ungetwc if needed.
msvcrt: Don't write to buffer in ungetc if _IOSTRG flag is specified.
msvcrt: Try to convert C to C++ exception in __CxxFrameHandler.
msvcp80: Fix ostreambuf_iterator structure definition.
Sebastian Lackner (4):
ntdll: Allow passing NULL buffer to printf functions.
ntdll/tests: Add test for _snprintf.
kernel32: Prevent endless loop if NtQuerySystemInformation fails.
server: Don't call close() on uninitialized memory in sock_check_pollhup.
Stefan Dösinger (10):
wined3d: Fix an msvc warning.
d3dx9_36: Use D3DX_PI instead of M_PI.
d3dx9_36/tests: Use D3DX_PI instead of M_PI.
d3dx9_36: Use SIZE_T for some iterators.
d3dx9_36: Make NUM_ELEM a define.
d3dx9_36: Use float math functions.
d3dx9_36: Floatify some constants.
d3dx9_36: Add explicit casts in type conversion functions.
d3dx9_36/tests: Fix calling convention specification.
d3dx9_36/tests: Use NAN.
Zhenbo Li (3):
kernel32/tests: Add some tests for DeleteFileA.
kernel32/tests: Add one more test for FindFirstFileA.
wineps.drv: Constify a few pointers.