The Wine development release 1.1.18 is now available. What's new in this release (see below for details): - RPC over HTTP support. - Improved support for upgrades in MSI. - Debug symbols in WineDbg on Mac OS X. - Many Direct3D code cleanups. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.18.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.18.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 repository. Check http://www.winehq.org/site/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.1.18: 2366 Wine unable to initiallize on NetBSD 4145 Redraw problem in "The Journal" 8072 Media Player Classic segfaults 11507 nwn2 dm toolkit missing graphical elements 11856 Any application: keyboard focus lost after a popup is unmapped, if SCIM is enabled 12225 EVE Premium, graphics glitches: some effects missing. 12723 LEGO Island Xtreme Stunts: always wants to install DirectX8.1 13308 comctrl32 listview toggles election while scrolling with ctrl key 13469 cmd can't handle long input (buffer overflow) 14014 T-Online Browser: Crash on unimplemented Functions (gdiplus.dll) 14080 Red Faction: sound does not work 14139 Governor of poker crashes 14185 Wine 1.0 networking issues - /proc/net/route doesn't exit on Solaris hosts. 14293 winhelp: Vertical scroll bar is missing in some cases 14624 Metal Fatigue: crashes before game start 14703 Null character comparison problem in vb6 application 14711 'Type' command in cmd.exe does not line feed in the end of a file 15356 Textures are not displayed in Final Fantasy XI with an ATI card 15411 Dragon NaturallySpeaking 10 takes a very long time to finish loading 15717 Far Cry 2 quits when OffscreenRenderingMode=fbo 16130 Runes of Magic client doesn't communicate with the server 16394 No sound in ever17 without native msacm32.dll 16570 FineReader 7 Pro: won't save to multiple files. 16941 interrupts cause nested trace output 17183 Not showing any text in one of the textboxes 17499 Sun JRE 1.6.0_12 installer crashes 17683 ExpressPCB: does not properly print circuit board traces 17705 Audiosurf: crashes at startup 17759 CommandLineToArgvW bug with empty lpCmdLine 17822 Logic Friday: crashes when entering equation 17843 Rubbish entries in registry on clean .wine 17854 build broken in rpcrt4 on OpenSolaris ---------------------------------------------------------------- Changes since 1.1.17: Alexander Morozov (1): hal: Fix KfRaiseIrql declaration. Alexandre Julliard (24): loader: Fix installation for platforms that don't use extra binaries. ctl3d32: Make ctl3d.dll and ctl3dv2.dll into stand-alone 16-bit modules. imm32: Make imm.dll into a stand-alone 16-bit module. wintab32: Make wintab.dll into a stand-alone 16-bit module. wnaspi32: Make winaspi.dll into a stand-alone 16-bit module. twain_32: Make twain.dll into a stand-alone 16-bit module. rasapi32: Make rasapi16.dll into a stand-alone 16-bit module. winmm: Make sound.drv into a stand-alone 16-bit module. winnls32: Make winnls.dll into a stand-alone 16-bit module. w32skrnl: Make win32s16.dll into a stand-alone 16-bit module. w32skrnl: Make w32sys.dll into a stand-alone 16-bit module. winebuild: Make sure main module is properly initialized. configure: Always set LDPATH, rpath support is broken on many platforms. wineps.drv: Set the line join and cap styles based on the selected pen. avifil32: Make avifile.dll into a stand-alone 16-bit module. wininet/tests: Fix the http tests for the new winehq.org behavior. winebuild: Skip non-functions when building the undefined exports file. kernel32: Revert incorrect part of commit 7c3529f1cc6a3ce6f0a403c337926c8fc9fbfc57. wininet/tests: Fix another instance of changed behavior on winehq.org. configure: socketpair needs -lsocket on Solaris. ntdll: Get rid of the no longer used pthread emulation. include: Get rid of the definitions for the pthread emulation. msi/tests: Avoid size_t in traces. rpcrt4: Disable HTTP support if we don't have socketpair and related networking functions. Anders Jonsson (1): wordpad: Update Swedish translation. Andrew Nguyen (5): tapi32: Stub lineGetDevCapsW. tapi32: Stub lineMakeCallW. tapi32: Stub lineGetIDW. wine.inf: Add entry for fake ddeml.dll. ddraw/tests: Skip some cooperative level tests on NT4/Win95. Andrew Talbot (7): shell32: Remove uninitialized and superfluous struct. winex11.drv: Remove order-of-evaluation dependencies. wineps.drv: Remove order-of-evaluation dependencies. ntdll: Remove superfluous semicolon. winedos: Initializations fix. advapi32: Constify some variables. advapi32: Constify some variables. Aric Stewart (10): kernel32: Report unixfs instead of ntfs for unknown filesystem type. propsys: Stub for PSUnregisterPropertySchema. msi: Reorder the condition operators so that longer strings are matched first. msctf: ThreadMgr sink framework. msctf: Define ITfTextInputProcessor. Implemented by the Text Services. msctf: Add ITfThreadMgrEventSink to ThreadMgr. msctf: Hook up the DocumentMgr to be able to forward ITfThreadMgrEventSink events to sinks advised to the ThreadMgr. msi: Verify the existence of fusion.dll before reporting the .Net version. advapi32: Stub TreeResetNamedSecurityInfo for the IE8 installer. msctf: Implement ThreadMgr ITfSource::UnadviseSink. Aurimas Fischer (5): mshtml: Update Lithuanian translation. uninstaller: Add Lithuanian translation. reg: Add Lithuanian translation. start: Add Lithuanian translation. wineboot: Add Lithuanian translation. Austin English (3): winegcc: Fix a compiler warning on PC-BSD. twain32: Fix a compiler warning on PC-BSD. rpcrt4/test: Change a skip to win_skip. Christian Costa (3): d3dxof: Remove limitation on data buffer size. amstream: Implement IAMMultiMediaStreamImpl_GetFilterGraph. kernel32: Add stub for GetSystemTimes. Dylan Smith (3): richedit: Add bounds checks for EM_GETTEXTRANGE with tests. winhlp32: Invalidate scrollbar when changing pages. richedit: Properly handle lack of semicolon after font name in rtf. Francois Gouget (1): wineesd.drv: Remove esd_host as it is unused. Hans Leidekker (13): msi: Add stub implementations of MsiDeterminePatchSequenceA/W. msi: Implement MsiReinstallProductA/W. msi: Add stub implementations of MsiSourceListClearAllExA/W. msi: Don't initialize COM for custom action threads. msi: Only apply a transform when its language id matches the system language id. winspool: Support special environment value "all" in EnumPrinterDrivers. msi: Add some tests for MsiQueryFeatureState. msi: Detect privately installed assemblies. msvcrt: Implement _vscprintf and _vscwprintf. msvcrt: Add tests for _vscprintf and _vscwprintf. msi: Enumerate products from all contexts. msi: Add tests for MsiEnumProducts. msi: Allocate token information buffer dynamically. Henri Verbeet (50): wined3d: Unload resources on Uninit3D(). wined3d: Compare the actual formats. wined3d: Set the currently active context to NULL when it's destroyed. d3d9: Get rid of basetexture.c. d3d9: Get rid of resource.c. d3d9: Fix locking. d3d8: Get rid of basetexture.c. d3d8: Get rid of resource.c. d3d8: Fix locking. d3d10core: Only destroy the device when it doesn't have any references left. wined3d: Try to make Coverity shut up (CID 863, 905). d3d8: Properly handle unsetting the pixelshader in SetPixelShader(). d3d8: Cleanup the pixelshader handling code a bit. d3d8: Cleanup the vertexshader handling code a bit. wined3d: Set the byte count for WINED3DFMT_UNKNOWN to 0. wined3d: Remove the bytesPerPixel field from IWineD3DSurfaceImpl and IWineD3DVolumeImpl. wined3d: Pass format_desc to the Check*Capability() function. wined3d: Pass format_desc to getColorBits() and getDepthStencilBits(). wined3d: Pass format_desc to set_shader(). shdocvw: Add a stub ITaskbarList implementation. wined3d: Print a warning when the stage isn't mapped to a valid texture unit in tex_coordindex(). wined3d: Fix the indentation in tex_coordindex(). wined3d: Print a FIXME in tex_coordindex() when NV_TEXGEN_REFLECTION isn't supported. wined3d: Reduce the number of checkGLcall's in tex_coordindex() a bit. wined3d: Implement WINED3DTSS_TCI_SPHEREMAP. wined3d: Make the texunit field in struct stb_const_desc unsigned. wined3d: Fix a few sign compare warnings. wined3d: Add a more convenient way to check if a surface is on a swapchain. wined3d: Don't use rtInternal for surfaces that are on a swapchain. wined3d: Do the ffp_valid check before even trying to use the element. d3d8: Fix some indentation. d3d9: Fix some indentation. d3d9: Properly initialize the viewport dimensions. d3d9: Don't depend on specific display modes in test_reset(). wined3d: Remove unused attributes from WineDirect3DVertexStridedData. wined3d: Simplify remove_vbos(). wined3d: Simplify IWineD3DDeviceImpl_ProcessVertices(). wined3d: Simplify the "transformed" check in state_lighting(). wined3d: Pass the number of components to glVertexBlendARB(). wined3d: Create a separate function for setting basic format info. wined3d: Create a separate function for checking a format's FBO compatibility. wined3d: Create a separate function for setting format fixups. wined3d: Create a separate function for setting a format's GL texture info. wined3d: Make sure the format actually exists in init_format_texture_info(). wined3d: Use separate structures for ddraw style strided data and wined3d's internal stream info. wined3d: Remove IWineD3DVertexDeclarationImpl_GetDeclaration(). wined3d: Remove IWineD3DVertexDeclaration_SetDeclaration() from the public interface. wined3d: Separate the internal representation of vertex declaration elements from the struct used to create it. wined3d: Don't create an END element for wined3d vertex declarations. wined3d: Unify vertex and texture formats. Huw Davies (14): ole32: Remove unused static variable. ole32: Don't allocate the ole clipboard object in global memory - we're not going to directly expose it to other processes. ole32: Add a helper function to retrieve the implementation ptr. ole32: Rearrange functions to eliminate forward declarations. ole32: pFmt isn't exposed to the client, so simplify its allocation. ole32: Simplify QueryInterface. ole32: Use IsEqualIID rather than memcmp. ole32: Register DataObject clipboard format. ole32: Store the ole clipboard window's HWND in the DataObject clipboard format. ole32: Move the code to set the clipboard formats to a separate function. ole32/tests: Tests for the 'Ole Private Data' clipboard format. rpcrt4: Dynamically allocate the buffer if the fixed size one isn't large enough. Don't return an inappropriate error if we fail to get the status text, it's only used for diagnostics. ole32: OleFlushClipboard shouldn't call EmptyClipboard. ole32: Set the 'Ole Private Data' clipboard format. Hwang YunSong(황윤성) (1): mshtml: Updated Korean resource. Jacek Caban (4): urlmon: Code clean up. urlmon: Return IAsyncMoniker from QueryInterface. urlmon: Added StdURLMoniker implementation. urlmon: Fixed handling NULL URLName in GetDisplatName implementation. James Hawkins (15): msi: Fix a typo (Coverity 910). msi: Enumerate the current user's patches if szUserSid is NULL. msi: Allow the enumeration of other users' patches. msi: Factor out the MsiEnumPatchesEx tests and test the NULL szUserSid and an szUserSid that is different from the current user. msi: Test and handle the case where the SourceList key does not exist and the PackageName value does not exist in MsiGetProductInfo. msi: MsiCollectUserInfo cannot be called from a custom action (Coverity 565, 566). msi: Don't try to release a NULL record, with tests (Coverity 536). msi: Handle a NULL and empty szPackagePath in MsiInstallProduct (Coverity 181). twain_32: Fix the use of an uninitialized variable (Coverity 908). cmd: Fix a memory leak (Coverity 904). winebuild: Document the correlation of spec->ordinals and spec->limit with an assertion (Coverity 902). kernel32: Add tests for WritePrivateProfileString. kernel32: Set last error to ERROR_FILE_NOT_FOUND if lpAppName is NULL. kernel32: Handle writing empty sections and keys in WritePrivateProfileString. kernel32: Don't try to load an empty initialization file. Kai Blin (1): quartz/tests: If CoCreateInstance() fails, it's safe to return, as no cleanup is needed. Ken Thomases (4): dbghelp: Add support for debugging Mach-O modules. dbghelp: Recognize .dylib files as Mach-O modules. dbghelp/stabs: For Mach-O, line numbers use absolute address, not offset. dbghelp: Include Mach-O modules in minidumps. Kirill K. Smirnov (1): mciavi32: Fix typo. Konstantin Kondratyuk (2): fonts: Add Bielorussian and Ukrainian symbols to tahomabd. fonts: Add Bielorussian and Ukrainian symbols to tahoma. Kusanagi Kouichi (1): winex11.drv: Make import/export functions static. Lei Zhang (1): oleaut32: Fix some corner cases in VarBstrCmp. Michael Stefaniuc (24): mshtml: Update the Romanian translation. mshtml: Convert the German translation to UTF8. mshtml: Update the German translation. reg: Change the German translation to UTF8. reg: Fix/update the German translation. regedit: Remove commented out STRINGTABLE from the resource files. regedit: Convert the German translation to UTF8. regedit: Fix the German translation. ntdll: Remove superfluous pointer casts. advapi32/tests: Don't use "long" for variable types. d3dxof/tests: Use ULONG instead of unsigned long. d3d8/tests: Use ULONG instead of unsigned long. d3d9/tests: Use LONG instead of long. ddraw/tests: Use ULONG instead of unsigned long. msi: Convert the German translation to UTF8 encoding. msi: Update the German translation. msi: Add the Romanian translation. setupapi: Update the Romanian translation. gdi32: Use "%p" to TRACE() pointers. uninstaller: Add the Romanian translation. msi: Remove redundant NULL check before msi_free (Smatch). d3dxof: Remove redundant NULL check before HeapFree (Smatch). crypt32: Change the encoding of the German translation to UTF8. crypt32: Update the German translation. Nicolas Le Cam (2): shell32/tests: Fix a test on Win2k platform and above. schannel/tests: Fix test on Win2k. Nikolay Sivov (9): comctl32/tab: Implement TCM_REMOVEIMAGE. comctl32/tab: Fix button background filling on TCS_BUTTONS. comctl32/tab: Implement TCM_[G,S]ETEXTENDEDSTYLE and TCS_EX_FLATSEPARATORS style. comctl32/trackbar: Fix reverting to default value for TBM_SETPAGESIZE with lParam = -1. comctl32/ipaddress: Store current IP address text as a window text for IP Address control. comctl32/listview: Some tests for LVM_GETSUBITEMRECT. comctl32/tab: Draw tab button properly on TCIS_BUTTONPRESSED state. comctl32/tab: Handle state mask in TCM_[G,S]ETITEM. comctl32/tab: Selected item should have TCIS_BUTTONPRESSED state. Patrick Gauthier (1): user32/tests: Check effect of magic font height value 0x7fff in dialog template. Paul Vriens (6): urlmon/tests: Fix a test failure on Vista and higher. riched20/tests: Fix and extend EM_FORMATRANGE tests. winspool.drv/tests: Fix a test failure on NT4 and below. comctl32/tests: Fix a crash on W2K and below. kernel32/tests: Fix crash on NT4 and higher. kernel32/tests: Fix some test failures on NT4 and below. Rein Klazes (3): user32/tests: In sysparams.c disable some Get/Set border tests for now. These may permanently change desktop settings of the testers. user32: In MENU_SuspendPopup() make sure the right message is removed. user32/tests: Show that a submenu is still functional after calling DestroyMenu(). Ricardo Filipe (2): setupapi: Remove invalid check for < MAX_PATH and don't copy to NULL PathBuffer (Coverity 888). comdlg32: Send CDN_INCLUDEITEM notification for each object in an Open/Save dialog. Rob Shearman (18): widl: Check the attributes applied to function declarations. widl: Output correct code for freeing of conformant-sized and non-conformant strings. widl: Initialise ref pointers to basic and enum types to 0 in generated server code. rpcrt4: Free the resources associated with server protocol sequences on DLL unload. rpcrt4: Simplify some code in RpcServerInqBindings by changing while loops into for loops. rpcrt4: Implement NdrRangeUnmarshall for enum types. rpcrt4: Fix a memory leak in union unmarshall functions by never passing fMustAlloc=TRUE into union_arm_unmarshall. services: Add a ref count to the service entry in svcctl_CreateServiceW. advapi32: Trace the contents of the in parameter to GetServiceKeyNameW, not the out parameter. services: svcctl_GetServiceDisplayNameW and svcctl_GetServiceKeyNameW should have string attribute on output buffer. services: Always initialise the out buffer in svcctl_QueryServiceStatusEx and svcctl_QueryServiceConfig2W. rpcrt4: Fix crash when calling RpcServerUseProtseq for ncacn_np and ncalrpc. rpcrt4: Implement stubless asynchronous NDR interpreter. rpcrt4: Implement RPC over HTTP support. widl: Include the version number in the __WIDL__ preprocessor definition. rpcrt4: Re-use already registered endpoints for a protocol sequence. rpcrt4: Allow listening on dynamically generated ncacn_ip_tcp endpoints. rpcrt4: Ensure that only the IP/IPv6 address families are considered in rpcrt4_protseq_ncacn_ip_tcp_open_endpoint/rpcrt4_ncacn_ip_tcp_open. Robert Reif (1): dsound: Fix uninitialized variable. Roderick Colenbrander (2): wined3d: Add WGL_ARB_pixel_format detection. wined3d: Add a classic WGL pixel format backend as not all OpenGL implementations support WGL_ARB_pixel_format. Roman Mindalev (3): ntdll: Check for arch and name fields in assembly_identity structure. ntdll: Free memory for type field of an assembly_identity. ntdll: Move search for assemblyIdentity element. Stefano Guidoni (1): winemp3: Fixed mpeg3_streamsize. Vincent Povirk (1): gdiplus: Support line gradient brushes in GdipFillPath. Vitaliy Margolen (1): shell32: Fix number of returned arguments from CommandLineToArgvW with empty string. William Waghorn (2): msadp32: Refuse unknown destination format. imaadp32: Refuse unknown destination format. -- Alexandre Julliard julliard@winehq.org