This is release 0.9.27 of Wine, a free implementation of Windows on Unix.
What's new in this release: - Better support for noexec kernels. - Better Dwarf support in dbghelp. - Several Winsock fixes. - Various code cleanups. - Lots of bug fixes.
Because of lags created by using mirrors, this message may reach you before the release is available at the public sites. The sources will be available from the following locations:
http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.27.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-0.9.27.tar.bz2
Binary packages for various distributions will be available from:
http://www.winehq.org/site/download
You will find documentation on
http://www.winehq.org/site/documentation
You can also get the current source directly from the git or CVS repositories. Check respectively http://www.winehq.org/site/git or http://www.winehq.org/site/cvs for details.
If you fix something, please submit a patch; instructions on how to do this can be found at http://www.winehq.org/site/sending_patches
Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 0.9.26:
Alexander Nicolaysen Sørnes (2): winecfg: Updated Norwegian Bokmål translation. oleview: Add Norwegian Bokmål translation.
Alexandre Julliard (32): gphoto2.ds: Don't warn about libjpeg if gphoto support is not enabled. winex11.drv: Don't use the specified DC when mapping RGB colors for a DIB. winsock: Add WS_ prefix on WSAIoctl constants. ntdll: Unset the WINESERVERSOCKET variable after we have retrieved it. comdlg32: Moved prototypes to the header file and fixed declaration of FileOpenDlgInfosStr. winecfg: Determine the current Windows version from the standard registry keys. ntdll: Don't free the DOS area when a broken app passes a NULL pointer to NtFreeVirtualMemory. ntdll: Always return . and .. as the first two entries in directory searches. kernel32/tests: Added test case for . and .. directory entries. winebuild: Check for illegal characters in entry point names. ntdll: Allow module with extensions in forward specifications. kernel32: Store the LC_MESSAGES value under the "Locale" value. server: Explicitly shutdown destroyed sockets to force pending poll() calls to return. ntdll: Force exec permissions on all mmaps unless the app is marked NX-compatible. kthread: Don't make the stack executable by default. ntdll: Added support for the HEAP_CREATE_ENABLE_EXECUTE flag. kernel32: Always read a full block from the CD-ROM to avoid problems on raw devices. gdi32: Only mmap a given font file once. kernel32/tests: Added LOCALE_NOUSEROVERRIDE flag on time tests that rely on AM/PM. kernel32: For LOCALE_NOUSEROVERRIDE, check locale against the appropriate default lcid. oleaut32: Use LOCALE_NOUSEROVERRIDE where necessary in variant conversions. oleaut32/tests: Use LOCALE_NOUSEROVERRIDE in tests that depend on the decimal separator. ntdll: Fix the failing loader tests. winedump: Print sizes and offsets in hex. winebuild: Added --nxcompat option, and mark all modules as NX-compatible by default. ntdll: Check the NX compatibility flag for every loaded module. winedump: Avoid printf format warnings. dbghelp: Avoid a printf format warning. gdi32: Disable the freetype mmap sharing on Mac OS. shlwapi: Fixed string tests for non-English locales. msvcrt: Use LOCALE_USER_DEFAULT to get the proper codepage for the Unix locale. gdi32: Don't assume that the font codepages change with the user locale.
Andrew Talbot (14): wined3d: Cast-qual warnings fix. wined3d: Cast-qual warnings fix. wined3d: Cast-qual warnings fix. winex11.drv: Cast-qual warnings fix. winex11.drv: Cast-qual warnings fix. winex11.drv: Cast-qual warnings fix. comctl32: Cast-qual warnings fix. winedump: Cast-qual warnings fix. winedump: Cast-qual warnings fix. atl: Change storage class of dll_count to static. comcat/tests: Cast-qual warnings fix. advapi32: Eliminate wild pointers. crypt32/tests: Cast-qual warnings fix. crypt32/tests: Cast-qual warnings fix.
Byeong-Sik Jeon (1): imm32: Send the WM_IME_CHAR message, although ResultString has been read.
Charles Blacklock (2): oleaut32: Add VarBstrCmp binary comparison for LCID==0. oleaut32: Cleanup of previous VarBstrCmp patch.
Chris Robinson (3): wgl: Don't return prematurely if ConvertPixelFormatWGLtoGLX receives an invalid pixel format. wgl: Fix for missing NV GLX extension. wgl: Implement wglGetPixelFormatAttribfvARB.
Christian Gmeiner (1): setupapi: Added AssertFail stub.
Clinton Stimpson (2): riched20: Only send EN_CHANGE when it is supposed to be sent. comctl32: Destroy header information on WM_NCDESTROY instead of WM_DESTROY.
Damjan Jovanovic (1): ws2_32: Added tests for closesocket cancelling pending I/O operations.
Detlef Riekenberg (14): spoolss: Implement AllocSplStr + DllFreeSplStr. localspl: Add initial tests for AddPortW. winspool: Implement DeletePortW. winspool: Implement DeletePortA. winspool/tests: Add initial test for DeletePort. winspool: Implement AddPortW. winspool: Implement AddPortA. winspool/tests: Add initial tests for AddPort. winspool: Load the local monitor only once. comctl32: Do not crash when the startpage is invalid. spoolss: Forward EnumPortsW to winspool.drv. kernel32/tests: Add tests for GetSystemDirectory. kernel32/tests: Add tests for GetWindowsDirectory. dplayx: Display requested provider.
Dmitry Timoshkov (43): kernel32: Improve the PE loader test. include: Add some structures a definitions required for the COFF library dumper. winedump: Make the implementation match the prototype. winedump: Remove a not needed include. winedump: Fix a copy/paste typo. winedump: Constify some data. kernel32: Add more obscure PE images that XP is able to load. winedump: Make some data const. kernel32: Make some data const. user32: Make some data const. shell32: Make some data static and const. ole32: Make some data const. oleaut32: Make some data const and static. shlwapi: Make some data const. mlang: Implement LcidToRfc1766 and GetRfc1766FromLcid. winedump: Add partial COFF library support. msi: Synchronize msi exports with what PSDK has. ntdll: Make some data const. winex11.drv: Make some data const. msi: Make some data const and static. shdocvw: Make some data const. urlmon: Make some data const. winspool.drv: Make some data const. comctl32: Make some data const. mshtml: Make some data const. quartz: Make some data const and static. riched20: Make some data const. winedos: Make some data const. dsound: Make some data const. advapi32: Make some data const. comdlg32: Make some data const. winedump: Restore the COFF library dumper functionality broken by the previous change. kernel32: Skip the PE loader test under a Win9x platform. msacm32: Make some data const. user32: Add ShowWindow test, make it pass under Wine. kernel32: Add PE images with section alignment 1 and 2 to the loader test. winedump: Make output of dump_data fit into 80 columns. winedump: Avoid returning void from a void function. winedump: IMAGE_SCN_ALIGN_??? are not the bit fields, but the values masked by IMAGE_SCN_ALIGN_MASK. winedump: Handle properly partial optional COFF headers. winedump: Export dump_section() for use outside of pe.c. winedump: Add a possibility to dump raw section data. winedump: Dump section data of COFF library files, decode some import data.
Eric Pouech (48): dbghelp: Simplify code with function to get section size. dbghelp: Added a process field to the modules pair structure. dbghelp: When looking up for a local variable (or parameter), pass the function pointer. dbghelp: Store compiland's address in internal structures. dbghelp: Pass .debug_loc section info from the ELF loader to the dwarf parser. dbghelp: Added struct location to help computing a location. dbghelp: Use the location info structure thoughout the code to handle the location of a data variable. dbghelp: Added infrastructure to compute variable location at runtime (as opposed to debug info parse time). dbghelp: Function points location is now expressed as a struct location. dbghelp: Add ability to add a SymTagCustom element to a function. dbghelp: Add support for deref operation in location computation. dbghelp: Register numbers in OP_piece don't need to be next to each other. dbghelp: Add support for a label in a subprogram block. dbghelp: Be a bit more strict on where we do actually expect default names to be generated dbghelp: Extend support for inlined functions and handle them as generic blocks inside functions dbghelp: We can now remove the default name prefix as all the non conforming cases have been eliminated. dbghelp: Properly handle the void type in some declarations. dbghelp: Correctly store the addresses of blocks. dbghelp: Removed the alpha status FIXME for the dwarf code. winedbg: Various information printing issues. winedbg: Host references lookup. winedbg: Added basic support for printing 64bit wide entities. dbghelp: Silence typedefs children in sub program block. winedump: Changed PE, NE, LE dumping so that they are consistent in terms of dump function signatures. winedump: Header file pe.h is useless, get rid of it. winedump: Use a uniform scheme for dumping file contents. winedump: Use same scheme for dumping lnk files as the executables (through the PRD macro and a full mapped image). winedump: Dump the EMF files as any other file types. winedump: Make dump mode the default. dbghelp: Moved mscvpdb.h file to include/wine to allow sharing of the definitions with winedump. mscvpdb.h: Update some definitions (constants, structures) with latest information we have. winedump: First shot at dumping PDB files contents. winedump: Added support for dumping types from PDB, CV... files. dbghelp: Get rid of long int issues on 64bit platforms. imagehlp: MapAndLoad should do some useful stuff now. winedbg: No longer test filename in sgv_cb, but do it in the only place where we actually need it. winedbg: Remove some hassle from sgv_cb, and handle line number displacement where needed. winedbg: Added some black magic to still handle register values on non dbghelp: Now that symbol's value computation depend on instruction dbghelp: Fixed value stored for register relative information winedbg: Now that local variable computation depends on instruction winedbg: Dwarf can emit REGREL symbol information, so handle it. dbghelp: Simplify the way we find the debug header. dbghelp: In find_nearest, now return the symbol instead of its index in module->sorttable. dbghelp: Added a field to the hash table to store the number of elements in the hash table. dbghelp: Added ability to internal store / reload a symbol with a constant value. winedbg: Added support for constant values passed by dbghelp. winecfg: A few fixes for the French translation.
Francois Gouget (36): avifil32: Add a Portuguese translation (contributed by Americo Jose Melo). comctl32: Add a Portuguese translation (contributed by Americo Jose Melo). comdlg32: Add a Portuguese translation (contributed by Americo Jose Melo). mpr: Add a Portuguese translation (contributed by Americo Jose Melo). msacm32: Add a Portuguese translation (contributed by Americo Jose Melo). msi: Add a Portuguese translation (contributed by Americo Jose Melo). winepath: Fix --unix so it works whether the Windows path refers to an existing file/directory or not. msrle32: Add a Portuguese translation (contributed by Americo Jose Melo). shlwapi: Add a Portuguese translation (contributed by Americo Jose Melo). user32: Add a Portuguese translation (contributed by Americo Jose Melo). winemine: Add a Portuguese translation (contributed by Americo Jose Melo). wininet: Add a Portuguese translation (contributed by Americo Jose Melo). winmm: Add a Portuguese translation (contributed by Americo Jose Melo). winecfg: Add a Portuguese translation (contributed by Americo Jose Melo). shdocvw: Add a Portuguese translation (contributed by Americo Jose Melo). shell32: Add a Portuguese translation (contributed by Americo Jose Melo). winefile: Add a Portuguese translation (contributed by Americo Jose Melo). wineconsole: Add a Portuguese translation (contributed by Americo Jose Melo). regedit: Add a Portuguese translation (contributed by Americo Jose Melo). oledlg: Add a Portuguese translation (contributed by Americo Jose Melo). cmdlgtst: Add a Portuguese translation (contributed by Americo Jose Melo). mshtml: Add missing '\n' in Wine trace. vmm.vxd: PC_WRITABLE spelling fix. msxml3: Add '\n' to Wine trace. mshtml: Add '\n' to Wine trace. Assorted spelling fixes. Consistently use SUBLANG_NEUTRAL for Italian resources. msvcmaker: Fix the code that sets __WINETEST_OUTPUT_DIR so it does not pollute $output_dir. msvcmaker: Remove unneeded -I.. for the msvcrt tests. msvcmaker: Tweak the .dsp formatting to better match Visual Studio. msvcmaker: Link with msvcrt(d).dll rather than with the static C library. ole32: Convert dump_FORMATETC() into debugstr_formatetc(), a proper debug trace function. ole32: Convert dump_user_flags() into debugstr_user_flags(), a proper debug trace function. dmime: Remove resolve_STREAM_SEEK(), it is unused. gdi32: Add a prototype for GetFontUnicodeRanges(). msvcmaker: Remove references to wine_unicode and to .spec.c files.
Frank Richter (1): winecfg: Update German translation.
H. Verbeet (8): wined3d: Move some code specific to the different shader backends into the respective source files. wined3d: Select the right shader backend when creating the device. wined3d: Create a separate function for sampling a texture. wined3d: Fix the texm3x3tex instruction to sample properly. wined3d: Use the texture sampling function in a few more instructions (ARB asm shaders). wined3d: Use the texture sampling function in a few more instructions (GLSL). wined3d: Delete the device's FBO when destroying the device. wined3d: Set the initial FBO depth stencil when creating the device.
Huw Davies (4): winspool.drv: Outlook 2003 relies on the buffer size returned by EnumPrintersA being big enough to hold the buffer returned by EnumPrintersW. user32: For LBS_OWNERDRAWVARIABLE listboxes return the fixed item height if the listbox is empty. wineps.drv: When we're using a GlyphDirectory we should clear the offsets and lengths of the loca and glyf tables in addition to changing their names. wineps.drv: Don't try to download a non-scalable font.
Hwang YunSong(황윤성) (1): README: Updated Korean translation.
Jacek Caban (7): mshtml: Added handling of right and left arrow keys in editing mode. urlmon: Added application/x-gzip-compression filter. urlmon: Added application/x-zip-compressed filter. urlmon: Added application/java mime filter. urlmon: Added application/pdf mime filter. shdoclc: Added IDS_MESSAGE_BOX_TITLE string. mshtml: Added get_parentWindow implementation.
James Hawkins (10): msi: Don't fail if we can't remove an existing install file. msi: Add handling for the InstallODBC action. msi: Use mi->source if the source is not a full path. advapi32: Remove redundant NULL checks before CRYPT_Free. advapi32: Add tests for LookupAccountName. msi: Set the UserSID property. msi: Add handling for the StartServices action. shell32: Move a NULL pointer check before the place where we dereference the pointer. msi: Fail if stg is NULL. msi: Initialize sid_str to NULL.
Jan Zerebecki (5): wined3d: Add warn trace for INVALIDCALL case in CheckDeviceType. wined3d: Rearrange code in CheckDeviceType. wined3d: Avoid XFree on NULL in CheckDeviceType. wined3d: Fix CreateFakeGLContext to work with a foreign context. wined3d: Add err for failure case in CheckDepthStencilMatch.
Kai Blin (8): ws2_32: Add WS_SIO_ADDRESS_LIST_QUERY stub to make native dplay error output more readable. ws2_32: Implement SO_GET_MAX_MSG_SIZE for getsockopt. secur32: Improve version detection, move all the version detection to ntlm.c. ws2_32: SO_DONTROUTE is ignored on windows, fix comment and downgrade FIXME to TRACE. ws2_32: Implement SO_EXCLUSIVEADDRUSE for setsockopt. ws2_32: Rewrite getsockopt to make it more readable. ws2_32: Rewrite setsockopt to be more readable. ws2_32: Downgrade SO_REUSEADDR fixme to a trace.
Kevin Koltzau (4): winuser.h: Define browser and multimedia keys. winuser.h: Add some HSHELL and APPCOMMAND defines. user32: Generate WM_APPCOMMAND messages for browser and multimedia keys. winex11.drv: Process browser and multimedia key events.
Kirill K. Smirnov (1): ole32: Fix logic in Storage32Impl_SmallBlocksToBigBlocks function.
Konstantin Kondratyuk (8): fonts: Add Ukrainian symbols in Small fonts. fonts: Add Ukrainian symbols in MS Sans Serif. fonts: Add ukrainian symbols in Courier. fonts: Add Ukrainian symbols in System font. fonts: Add Ukrainian and Byelorussian symbols in System font. fonts: Add Ukrainian and Byelorussian symbols in Courier font. fonts: Add Ukrainian and Byelorussian symbols in Small fonts. fonts: Add Ukrainian and Byelorussian symbols in MS Sans Serif font.
Lei Zhang (3): msxml3: Fix compiles for systems with libxml2 version 2.6.14 and below. riched20: Fixes and additional conformance tests for EM_EXSETSEL. riched20: Move EM_EXSETSEL fix into ME_SetSelection.
Louis Lenders (3): crypt32: Better stub for I_CryptInstallOssGlobal. crypt32: Add test for I_CryptInstallOssGlobal. shell32: Define AVI resource 152.
Marcus Meissner (2): shell32: Forward SHDeleteKeyA directly to SHDeleteKeyW. comcat: Remove const from COMCAT Manager.
Markus Amsler (23): Revert "d3d: Fix partially applied patch: Remove AddRef from GetDirect3D.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetSwapChain.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetIndices.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetStreamSource.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetTexture.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetBackBuffer.". Revert "d3d: Remove AddRef from IWineD3DDevice_GetDirect3D.". ddraw: Call wined3d's SetTextureStageState not the one of d3d7. wined3d: Remove duplicated code. d3d9: Use correct COM macros. d3d8: Use correct COM macros. d3d9: Remove unreachable return. d3d: Pass the superior creating object down to the callback functions. d3d: Callback infrastructure for implicit surface destruction in IWineD3DTexture. d3d: Callback infrastructure for implicit surface destruction in IWineD3DCubeTexture. d3d: Callback infrastructure for implicit render target destruction in IWineD3DSwapChain. d3d: Callback infrastructure for implicit volume destruction in IWineD3DVolumeTexture. d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice. d3d8: Handle surface refcount forwarding in d3d8. d3d8: Handle volume refcount forwarding in d3d8. d3d8: Fix implicit surface refcounting.
Matt Finnicum (5): riched20: Make ME_StreamIn create undos properly. riched20: EM_EXLIMITTEXT: ignore wParam and properly cast lParam. riched20: Make WM_SETFONT call RewrapRepaint instead of UpdateRepaint. riched20: Make EM_SETCHARFORMAT call ME_RewrapRepaint instead of ME_UpdateRepaint. riched20: Make EM_SETPARAFORMAT use ME_RewrapRepaint instead of ME_UpdateRepaint.
Mike McCormack (17): msi: Use MSI_IterateRecords when cloning properties. msi: Use MSI_QueryGetRecord in ACTION_AppSearchGetSignature. msi: Use MSI_QueryGetRecord in ACTION_AppSearchComponents. msi: Use MSI_QueryGetRecord in ACTION_AppSearchReg. msi: Use MSI_QueryGetRecord in ACTION_AppSearchDr. msi: Use MSI_QueryGetRecord in ACTION_AppSearchIni. msi: Use MSI_IterateRecords in ACTION_AppSearch. msi: Advertise components of a feature that has the msidbFeatureAttributesFavorAdvertise property. msi: Update the UI in one place only in ACTION_ProcessComponents. msi: Add tests for quoting in queries. msi: Double quotes are not valid in queries. msi: Add the names of features/components to debugging output. msi: Examine the attributes of all features before setting a component's state. msi: Add some tests for the ALTER query. msi: More tests for the SourceDir property. msi: Comparisons with null in conditions are special. msi: Add tests for comparison to empty strings.
Paul Vriens (7): winetest: Make sure we can send larger files. user32: W2K3 returns ERROR_INVALID_PARAMETER. advapi32/tests: Free memory after use. wininet/test: Free memory after use. version/tests: Free memory after use. ntdll/tests: Fix typo. advpack/tests: Change the output for HRESULT's.
Peter Beutner (4): ntdll: Simplify exception tests. ntdll: Run exception tests from executable memory. ntdll: Add more exception tests. ntdll: Fix single stepping over popf instruction.
Pierre d'Herbemont (4): winsock: Get rid of already disabled WS prefix, thus fix Wine compilation on big-endian. user32: Factorize driver's SetWindowPos in user32. winex11.drv: Fix SetWindowPos parameters in the spec file. dbghelp: Fix elf_load_module params on non elf system to reflect last change to its definition.
Rob Shearman (27): include: Add some missing OLE defines and declarations to ole2.h. ole32: Implement DataCache_GetClassID. ole32: Create a cache entry for each format in the data cache to allow ole32: Implement Cache and Uncache for the data cache. ole32: Load cached data in the data cache into a STGMEDIUM type so it can be treated the same as set data. ole32: Implement the SetData function for the data cache. ole32: The advise sink for the data cache should be primed with the passed in aspects value, not an arbitrarily selected value. ole32: Add some tests for the IViewObject, IOleCache2 and IPersistStorage interfaces of the OLE data cache. ole32: Add documentation for CreateDataCache. ole32: Add handling of the dirty state to the data cache and fix InitNew to not call Load. ole32: Implement saving of the data cache. ole32: Call SetWindowOrgEx and SetWindowExtEx in OleMetafilePictFromIconAndLabel so that the created metafile scales correctly. ole32: The METAFILEPICT created by OleMetafilePictFromIconAndLabel should have its mapping mode be anisotropic, not isotropic. ole32: Use the default icon title font when writing the caption text out in OleMetafilePictFromIconAndLabel. ole32: Fill in the xExt and yExt fields in OleMetafilePictFromIconAndLabel. ole32: The width of the metafile drawn should be 3 times the icon width in OleMetafilePictFromIconAndLabel. ole32: Set the mapping mode to anisotropic in OleMetafilePictFromIconAndLabel. ole32: Check that the specified clipboard format and tymed are valid in IOleCache::Cache in the data cache. ole32: In the data cache, fmtetc->cfFormat and fmtetc->tymed can be 0 which means to match any clipformat/tymed. ole32: Add tests for invalid clipformat/tymed combinations in IOleCache:Cache and for caching formats with a clipformat of 0. ole32: Add some more traces to the data cache to make debugging easier. ole32: Implement the DiscardCache function in the data cache. ole32: Fix HandsOffStorage in the data cache. ole32: Implement the GetData function of the data cache to using the wininet: Make HTTP_HandleRedirect no longer call HTTP_HttpSendRequestW. wininet: Make a function for resolving the server name for an HTTP request ole32: Add some documentation for CoCreateInstance.
Roderick Colenbrander (5): wgl: Unify pixel format code. wgl: Relax the pixel format attribute conversion code a bit. wgl: (W)GL_NV_vertex_array_range. Remove glut32. wgl: Cleanup wglMakeCurrent.
Stefan Dösinger (13): wine/list.h: Added list_move_head and list_move_tail. wined3d: Create the state table. wined3d: Add render states to the state table. wined3d: Move WINED3DRS_FILLMODE to the state table. wined3d: Move WINED3DRS_LIGHTNING to the state table. wined3d: Move WINED3DRS_ZENABLE to the state table. wined3d: Move WINED3DRS_CULLMODE to the state table. wined3d: Move WINED3DRS_SHADEMODE to the state table. wined3d: Move WINED3DRS_DITHERENABLE to the state table. wined3d: Move WINED3DRS_ZWRITEENABLE to the state table. wined3d: Move WINED3DRS_ZFUNCENABLE to the state table. wined3d: Move WINED3DRS_AMBIENT to the state table. wined3d: Move blending related states to the state table.
Thomas Fitzsimmons (1): dbghelp: Recognize DT_GNU_HASH.
Tomas Carnecky (1): winex11.drv: Don't update the key state table in mouse related functions.
Vitaliy Margolen (13): winex11drv: State of side mouse buttons (X-buttons) is not returned from XQueryPointer. winemenubuilder: Downgrade some ERR to WARN. wineshelllink: Use FreeDesktop standard to create Wine menu structure. winemenubuilder: Look for supported color depths icons only. dinput: Move acquired flag to the base device class. Add tests. dinput: Move critical section to the base device class. dinput: Implement Poll for keyboard. wined3d/d3d9: Pitch for DXTn textures can not be 0. With tests. dinput: Implement [Get|Set]Property and GetDeviceData in base Device object. dinput: Move keyboard event queue into base device class. dinput: Move mouse event queue into base device class. dinput: Move joystick event queue into base device class. dinput: Remove no longer used GEN_EVENT.
-- Alexandre Julliard julliard@winehq.org