The Wine development release 1.3.22 is now available. What's new in this release (see below for details): - Support for Indic text shaping. - Generation of stubless code in the IDL compiler. - Support for X files in D3DX. - 4- and 24-bit bitmap formats in the DIB engine. - Listview performance improvements. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.22.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.3.22.tar.bz2 Binary packages for various distributions will be available from: http://www.winehq.org/download 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.3.22: 219 Programs refuse to run because of safedisc copy-protection 7065 Get SecuROM copy-protection working 9781 Endless loop in Wineconsole with user mode 12500 jedi knight window is unmanaged, no title or borders 12949 assassin's creed to slow to play 14129 Warcraft III: Reign of Chaos can't find CD/DVD Drive (SecuROM 4.x) 15713 widl generates incorrect format string for top level conformance 16332 crash in file dialog if the previous selected folder is deleted 17094 Mr. Robot graphics fail to render 17544 Gothic does not start (black screen) due to ddraw error 17908 TCSPC fails to install 18326 Pharaoh/Cleopatra doesn't recognize CD-ROM drive (SecuROM 4.x) 19278 Roller Coaster Tycoon 2 will not run without no CD modification (SecuROM 4.x) 20166 NetLocalGroupGetInfo() returns success but no data buffer 20286 minimap problem in Supreme Commander Forged Alliance 21036 Persian Font Problem 21130 'cmd/c echo.' should give a newline 21147 SafeDisc v1.3x media validation fails/launcher crashes (secdrv.sys doesn't support WinVer > Win2000) (Rayman 2, Microsoft Flight Simulator 2000, ...) 21552 Pathologic hangs on starting up 21594 Bottom of windows cut of with KDE4 Dual-Head Setup 21998 FIFA 2010 crashes on start 22964 Launching Deus-Ex game from Steam no longer works 23145 Opera 10.53 crashes on startup 23240 "Ambient Lighting" sample D3D program crashes 23861 Multiple apps crash on startup/exit due to cross-process OLE drag and drop bug (Adobe Acrobat 7.0, HTML-Kit, Albumplayer, TortoiseSVN) 23965 Steam exits silently when querying system information (crash due to missing crypt32.dll PFXVerifyPassword stub) 24239 IW2 Edge of Chaos loses sound every few milliseconds 24433 MS-Word complains "Do you want to revert to the saved '' ?" at opening files 24642 Tag: The Power of Paint crashes with unimplemented function d3dx9_36.dll.D3DXLoadMeshHierarchyFromXA 24683 Upper left corner of Epicenter setup heading is corrupt. 24686 Kleptocracy crashes without d3dx9_28.dll 24694 Agamemnon's Curse crashes with d3dx9_36.dll.D3DXLoadMeshHierarchyFromXW 24739 Bioshock 2 cannot pass release date check 25192 'fatal error in gc: collecting from unknown thread' with Mono 25219 Demoscene demo @party invitation crashes with unimplemented function d3dx9_36.dll.D3DXLoadMeshFromXInMemory 25368 Age of Empires 3: mp3's don't play in gstreamer if a native codec is installed 25785 King Arthur - The Role-playing Wargame: severe visual artifacts 25942 Wine's implementation of d3dtypes.h does not work with ISO C++. 25999 wine builtin IE crash while opening zero byte file (such as https://mybank.icbc.com.cn/indexicbc.htm ) 26674 OpenGL 2.0 Shading Language Terrain Texturing Demo crashes on unimplemented function msvcp100.dll.??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ 26885 del /s crashes if it encounters a directory containing a space 26931 Nvidia hdr sample wants d3dx9_36.dll.D3DXLoadMeshFromXW 27016 Fallout 3: fails to start 27079 Painkiller Black: black screen and crash at start 27093 CadStd: Toolbar buttons are shifted to the left 27108 windows 7 cmd.exe aborts with unimplemented function KERNEL32.dll.RegOpenKeyExW 27143 metatrader 4 doesnt show news and emails 27167 Eve: can't move windows in game, mouse sticks 27222 dbghelp.dll.SymEnumSourceFilesW needed (ollydbg2) 27225 Looking around with the mouse is uncontrolled 27250 Prey receives a truncated hostname from hostname.exe ? 27270 Unimplemented function ntoskrnl.exe.ObReferenceObjectByName called by Activex control of cebchina online bank 27280 BHDCInstall_per can not install (unimplemented function cfgmgr32.dll.CM_Get_Device_ID_List_SizeA ) 27302 Star Fury doesn't detect 3D device correctly 27317 Finereader not showing dialogs 27337 Raw sockets aren't closed correctly in ICMP monitoring programs 27338 Msi should provide detailed error if temporary row can't be inserted (MSIMODIFY_VALIDATE_NEW -> MSIDBERROR_DUPLICATEKEY support, Dirt3 installer fails) 27339 improper last error code set by GetUserNameW 27342 Iexplore can't open url regression 27343 Perfect World Russian doesn't start, since wine-1.3.20 27348 _snprintf overflows specified bounds 27369 Office 2007 SP2 installer reports success but fails to install some components 27400 SecuROM 4.x/5.x helper driver needs ntoskrnl.exe.IoSetThreadHardErrorMode stub 27411 Dark Fall crashes on launch ---------------------------------------------------------------- Changes since 1.3.21: Adam Martinson (1): ole32: Don't call IDropTarget::QueryInterface() in RegisterDragDrop(). Alasdair Sinclair (1): comctl32/tab: Fully initialize itemData to fix x64 test failure. Alexandre Julliard (46): winapi: Support optional parameters for stubs. widl: Don't output callback conformances for non-interpreted functions. widl: Array dimensions have to be constants. iphlpapi: Close the socket in IcmpCloseHandle. winevdm: Print an error when trying to start a DOS app from the z: drive. widl: Support using custom handle types with the implicit_handle attribute. widl: Add a more generic way of determining the type of handle for a function. widl: Fix representation of context handles in the format string. widl: Always update the type format offset in write_type_tfs and not in callers. widl: Don't allow unions passed by value or floating point returns for interpreted functions. widl: Add a -O option to specify stub style. widl: Generate function headers in the proc format string for interpreted functions. widl: Use the pointer offset for arrays declared as pointer in the proc format strings of interpreted functions. include: Make CLIENT_CALL_RETURN definition platform-specific to handle the return type incompatibility in NdrClientCall. msvcp60: Synchronize the spec file. msvcrt: Comment out exports with a non-standard comment to prevent make_specfiles from trying to update them. rpcrt4: Add entry points for the old-style stubless Ndr calls. widl: Always use signed types in parameter formats. widl: Add support for generating old-style interpreted stubs for proxies. widl: Add support for generating old-style interpreted stubs for clients. widl: Add support for generating old-style interpreted stubs for servers. widl: Add support for new-style interpreted stubs in the proc format strings. widl: Add support for generating new-style interpreted stubs for clients. widl: Add support for generating new-style interpreted stubs for servers. widl: Generate thunks for callas functions using interpreted stubs. widl: Add support for generating new-style interpreted stubs for proxies. widl: In 64-bit mode, pass all arguments to NdrClientCall instead of a pointer to the first one. widl: Set a correct fpu parameter mask on 64-bit. widl: Don't generate old-style interpreted stubs on 64-bit. widl: Don't allow floating point parameters for interpreted functions. widl: Don't require inline stubs for functions that are never generated. kernel32: Fix the handling of CAL_ITWODIGITYEARMAX in GetCalendarInfo. widl: Add a helper function for generating a stub that uses NdrClientCall. widl: Pass a structure containing the parameters to NdrClientCall instead of accessing the stack. widl: Fix packing of parameter structures for arguments larger than a pointer. widl: Fix a typo in updating the type format offset for strings. rpcrt4/tests: Add a few more marshalling tests. msi: Create temp files in the destination directory instead of the root. dispex: Make sure we don't pass a NULL array to IDispatchEx_InvokeEx. advapi32: Fix the parameter checks in QueryServiceStatusEx. advapi32: Always pass valid buffers in the EnumServicesStatus requests. rpcrt4: Don't marshall out-only parameters in the old-style stubless marshaller. rpcrt4: Fix handling of arguments passed by value in the old-style stubless marshaller. rpcrt4: Fix parameter stack size computation in the old-style stubless marshaller. rpcrt4: Add support for the argument size of varying arrays. rpcrt4: Don't try to bind to a null handle. Alistair Leslie-Hughes (1): dbghelp: Add stubs SymFromIndex, SymFromIndexW. Andrew Eikum (4): winealsa.drv: Partially implement IAudioSessionManager2. wineoss.drv: Partially implement IAudioSessionManager2. winecoreaudio.drv: Partially implement IAudioSessionManager2. mmdevapi: Add support for IAudioSessionManager in IMMDevice::Activate. Andrew Nguyen (20): ddraw/tests: Remove a superfluous skip check. ddraw: Add a NULL callback pointer check in the EnumDevices implementations. ddraw: Remove some unused structure definitions in the private ddraw header. d3d8/tests: Avoid a shift overflow in render_state_test_data_init. d3d9/tests: Avoid a shift overflow in render_state_test_data_init. d3d9: Drop a superfluous cast in IDirect3DDevice9Impl_CreateOffscreenPlainSurface. d3d9: Match temporary variables with UINT return types and fix a return value. advapi32/tests: Add tests for GetUserNameA/W. ddraw: Extend the lifetime of the EnumDevices strings beyond function scope. ddraw: Handle a callback cancellation attempt in d3d7_EnumDevices. hostname: Output a CRLF newline with the hostname string. advapi32: Fix last error value of GetUserNameA/W and output buffer handling in GetUserNameA. ws2_32: Free the asynchronous query structure if thread creation fails. ws2_32/tests: Properly destroy the async test window. ws2_32: Avoid a crash with an optional pointer in WSAAsyncGetServByPort. dbghelp: Implement SymEnumSourceFilesW. ws2_32/tests: Avoid casting a WSAAccept function pointer parameter in test_accept. ws2_32/tests: Fix some test thread procedure prototypes. d3d8: Increment the reference count of the IDirect3D8 parent when creating a device. d3d9: Increment the reference count of the IDirect3D9 parent when creating a device. André Hentschel (12): ws2_32/tests: Initialize atmark (valgrind). include: Define FIBER_FLAG_FLOAT_SWITCH. documentation: Replaced CVS with Git. winedbg: Increase buffer for function names. mscoree/tests: Broken return value is a HRESULT_FROM_WIN32. mscoree/tests: Test more IStream Functions on a ConfigStream. include: Add PF_XSAVE_ENABLED. c2man: Better detect that the file is in use. include: Fix IOCTL_STORAGE_SET_HOTPLUG_INFO. include: Add more storage ioctls. include: Add ATA ioctls. mscoree/tests: Mark a weird w2k3 result as broken. Aric Stewart (30): usp10: Handle new OpenType tags for Microsoft Indic fonts. usp10: Improve Sinhala shaping using Indic rules. usp10: Add Devanagari script. usp10: Add Bengali script. usp10: Add Gurmukhi script. usp10: Add Gujarati script. usp10: Add Oriya script. usp10: Add Tamil script. usp10: Add Telugu script. usp10: Add Kannada script. ups10: Add Malayalam script. usp10/tests: Add Devanagari shaping test. usp10/tests: Add Bengali shaping test. usp10/tests: Add Gurmukhi shaping test. usp10/tests: Add Gujarati shaping test. usp10/tests: Add Oriya shaping test. usp10/tests: Add Tamil shape test. usp10/tests: Add Telugu shaping test. usp10/tests: Add Malayalam shaping test. usp10: Correct indic vowel marker name. gdi32: Fall back on uniscribe for complex scripts. usp10: Don't return prematurely from Chaining Contextual Substitution. usp10: Do not over increment glyph index in Chaining Contextual Substitution. usp10: Gurmukhi has Ras but no Ralf. So do not treat them as a lex_Ra for reordering. usp10: Correct matra type for Oriya 0x0B57. usp10: Refine Ralf reordering location for Devanagari and Gujarati. usp10: Execute half after pstf. usp10: Bengali initial form is only applied to the beginning of words. usp10: Sinhala vowels are not fully decomposed. The Kombuva is simply split off. usp10: Strip dangling joiners for Sinhala. Aurimas Fišeras (1): po: Update Lithuanian translation. Austin English (2): imm32: Add a stub for ImmEnumInputContext. ntoskrnl.exe: add a stub for IoSetThreadHardErrorMode. Dan Kegel (2): cmd: WCMD_delete: move "Delete *.* ?" processing into WCMD_delete_confirm_wildcard. cmd: WCMD_delete: fix /s for dirnames containing spaces, add test. Daniel Scharrer (2): include: Fix compile error in d3dtypes.h for c++ programs that define D3D_OVERLOADS. include: Include math.h in d3dvec.inl as it uses sqrt(). David Hedberg (3): crypt32: Add BCryptEnumAlgorithms stub. ole32: Add ManualResetEvent implementation. oleaut32: Don't crash in wrapper if variant resides in read-only memory. Detlef Riekenberg (1): shdocvw: Add support for IOleInPlaceSiteEx. Dylan Smith (17): include: Pack ACMDRVSTREAMHEADER since ACMSTREAMHEADER is packed. d3dx9: Respect the options parameter for mesh loading. d3dx9/tests: Add tests for D3DXLoadMeshHierarchyFromXInMemory. d3dx9: Add support for loading materials from X files. d3dx9: Generate effect instances from materials for mesh loading. d3dx9/tests: Test effect generation and material loading for X files. d3dx9: Add support for loading texture coords from X files. d3dx9: Add support for loading vertex colors from X files. d3dx9/tests: Add texture coordinates and vertex colors in X file. d3dx9: Implement D3DXLoadMeshHierarchyFromX. d3dx9: Implement D3DXLoadMeshFromXInMemory. d3dx9: Support optional parameters for D3DXLoadMeshFromXInMemory. d3dx9: Implement D3DXLoadMeshFromX and D3DXLoadMeshFromXResource. d3dx9/tests: Add tests for D3DXLoadMeshFromXInMemory. d3dxof: Remove unnecessary fields from IDirectXFileEnumObjectImpl. d3dxof: Factor out duplicated code for parsing X file header. d3dxof: Factor out parse template loops into a function. Frédéric Delanoy (1): taskmgr: No need for translatable string for IDC_MEM_USAGE_HISTORY_GRAPH pushbutton. Gerald Pfeifer (1): imm32: Simplify find_window where we do not need to consider the return value of EnumChildWindows. Hans Leidekker (24): msi: Skip files from global assemblies in the RemoveFiles action. msi: Set the SystemComponent installation property if necessary. appwiz.cpl: Don't list system components. uninstaller: Don't list system components. winhttp: Don't change the verb if the server response is HTTP_STATUS_REDIRECT_KEEP_VERB. wininet: Don't change the verb if the server response is HTTP_STATUS_REDIRECT_KEEP_VERB. wininet: Consistently use the allocation macros. crypt32: GetUserName sets last error to ERROR_INSUFFICIENT_BUFFER if the buffer is too small. msi: GetUserName sets last error to ERROR_INSUFFICIENT_BUFFER if the buffer is too small. msi: Factor out common code to execute custom action commands. msi: Reorder dialog functions to avoid forward declarations. msi: Revert 8321276cd34486bc6bf1e07c0e99c73423288854. msi: Fully initialize the MSISTORAGESVIEW and MSISTREAMSVIEW structures. msi: Print a warning instead of an error if we're going to remove an installed file. msi: Add support for returning validation errors. msi: Handle disabled components properly in the ProcessComponents action. msi: Get rid of forward declarations for custom action handlers. msi: Avoid some AW conversions. msi: Get rid of some more forward declarations. msi: Add a stub implementation of MsiCreateTransformSummaryInfo. msi: Remove redundant function find_feature_by_name. msi: Implement and test MsiGetFeatureInfo. msi: Implement and test MsiSetFeatureAttributes. advapi32: Make sure lpDisplayName is initialized in EnumServicesStatusA. Henri Verbeet (20): wined3d: Don't clamp vertex depth values. wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state(). wined3d: Rename Context_MarkStateDirty() to context_invalidate_state(). d3d8: Just return the resource type in IDirect3DResource8::GetType() implementations. d3d9: Just return the resource type in IDirect3DResource8::GetType() implementations. wined3d: Get rid of wined3d_texture_get_type(). wined3d: Just enable ARB_shader_texture_lod if it's available. wined3d: Use GL_DEPTH_COMPONENT as internal format for depth_blt_texture. wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithDepthFmt to wined3d_check_pixel_format_depth(). wined3d: cfg can never be NULL in wined3d_check_pixel_format_depth(). usp10: Fix a memory leak in GDEF_UpdateGlyphProps(). usp10: Store the GDEF table in the script cache. wined3d: Rename IWineD3DImpl_IsPixelFormatCompatibleWithRenderFmt() to wined3d_check_pixel_format_color(). wined3d: cfg can never be NULL in wined3d_check_pixel_format_color(). wined3d: Rename IWineD3DDeviceImpl_LoadLogo() to device_load_logo(). wined3d: Rename IWineD3DDeviceImpl_UpdateVolume() to device_update_volume(). wined3d: Rename IWineD3DImpl_FillGLCaps() to wined3d_adapter_init_gl_caps(). wined3d: Handle unpack row length inside surface_upload_data(). wined3d: Get rid of a NULL check for surface_upload_data(). wined3d: Move PBO handling mostly out of surface_upload_data(). Huw Davies (11): gdi32: Add support for 4 bpp dibs. gdi32/tests: Add tests for 4 bpp dibs. gdi32: Add support for 4 bpp brushes. gdi32/tests: Add tests for 4 bpp brushes. gdi32: Add support for 24 bpp dibs. gdi32/tests: Add tests for 24 bpp dibs. gdi32: Add support for 24 bpp brushes. gdi32/tests: Add tests for 24 bpp brushes. gdi32: Fix an error in the blue channel of the 32 -> 16 bpp conversion and update the tests to catch this. gdi32: Update pixel colours when the colour table changes. winex11: Move the code that checks for a colortable based dib to a separate function. Jacek Caban (23): include: Added iextag.idl file. mshtml: Added support for accessing document elements by index. mshtml: Added IHTMLElement::get_offsetLeft implementation. mshtml: Added IOmNavigator::get_mimeTypes implementation. mshtml: Don't release plugins collection in OmNavigator destructor since it contains a weak reference. mshtml: Added IDispatchEx support to HTMLMimeTypesCollection object. mshtml: Added IHTMLMimeTypesCollection::get_length implementation. mshtml: Added IHTMLElement::get_offsetParent implementation. iextag.idl: Added ClientCaps coclass declaration. urlmon: Initialize PROTOCOLDATA structure before passing it to Switch. urlmon: Avoid accessing an uninitialized variable (valgrind). urlmon: Avoid accessing an uninitialized variable (valgrind). widl: Don't duplicate optarg and optind declarations in sources. mshtml: Added VT_ERROR printing to debugstr_variant. include: Added fltdefs.h from mingw-w64 project. iphlpapi: Added PfCreateInterface stub implementation. urlmon: Correctly handle empty files. urlmon: Added empty file binding test. wininet: Moved INTERNET_STATUS_REQUEST_COMPLETE notifications sending to separated function. wininet: Don't pass handle to INTERNET_REQUEST_COMPLETE unless the request is opened via InternetPoenUrl. wininet: Set content_length when we reach end of data in netconn_read. wininet: Added dwError of INTERNET_STATUS_REQUEST_COMPLETE notifications tests. wininet: A small netconn_secure_verify code clean up. Juan Lang (2): crypt32: Support CERT_COMPARE_NAME_STR_A in CertFindCertificateInStore. setupapi: Make sure machine name is non-empty before failing. Jörg Höhle (5): mmdevapi/tests: Fix wrong buffer unit and memory leaks. winealsa: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. winecoreaudio: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. wineoss: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. winecoreaudio: mmdevapi's mixer format is 32bit floating point. Louis Lenders (5): crypt32: Add stub for PFXVerifyPassword. netapi32: Fill the data buffer with something useful in NetLocalGroupGetInfo. netapi32/tests: Add small conformance test for NetLocalGroupGetInfo and LocalGroupGetMembers. netapi32: Improve stubbed NetGetJoinInformation function. netapi32/tests: Add small conformance test for NetGetJoinInformation. Marcus Meissner (7): comdlg32: Mark one vtable as static. windowscodecs: Mark 3 vtables static. wineoss.drv: Mark internal symbols with hidden visibility. ntdll: Specify div to be divl. mpr: Added missing pointer dereference (Coverity). kernel32: Pass in a real string to SetLocaleInfoA, not a function pointer (Coverity). gdiplus: Convert and pass in 3 points, not 1 (Coverity). Mariusz Pluciński (4): shell32/tests: Basic tests of IKnownFolderManager. shell32/tests: Basic tests of IKnownFolder. include: Add definition of inline function FreeKnownFolderDefinitionFields. shell32/tests: Test of IKnownFolder::GetFolderDefinition. Marko Nikolic (10): comctl32/tests: Fixed variable type, removed sign comparison warning. comctl32/tests: Use unsigned constants to remove sign comparison warning. comctl32/tests: Removed sign comparison warning in tooltip tests. comctl32/tests: Removed sign comparison warning in toolbar tests. comctl32/tests: Removed sign comparison warning in status tests. comctl32/tests: Removed sign comparison warning in tab tests. comctl32/tests: Removed sign comparison warning in monthcal tests. comctl32/tests: Removed sign comparison warning in listview tests. comctl32/tests: Removed sign comparison warning in imagelist tests. comctl32/tests: Removed sign comparison warning in rebar tests. Matteo Bruni (3): wined3d: Mark some texture formats as filterable. wined3d: Fix glDrawBuffers() optimization. wined3d: Simplify context_apply_draw_buffers() a bit. Michael Stefaniuc (43): d3dxof/tests: Fix an ok() comment to match the tested value. shell32: COM cleanup in autocomplete.c. shell32: COM cleanup for the IDropTargetHelper iface. shell32: COM cleanup for the IShellFolder2 iface in cpanelfolder.c. shell32: Finish the COM cleanup in cpanelfolder.c. shell32: COM cleanup in shfldr_mycomp.c. infosoft/tests: COM cleanup in infosoft.c. shell32: COM cleanup in shfldr_netplaces.c. fusion: COM cleanup for the IAssemblyName iface. d3d10core: COM cleanup for the ID3D10Texture2D iface. d3d10core: COM cleanup for the ID3D10Texture3D iface. d3d10core: COM cleanup for the ID3D10DepthStencilView iface. d3d10core: COM cleanup for the ID3D10ShaderResourceView iface. d3d10core: COM cleanup for the ID3D10GeometryShader iface. d3d10core: COM cleanup for the ID3D10BlendState iface. d3d10: COM cleanup for the ID3D10EffectType iface. d3d10core: COM cleanup for the ID3D10DepthStencilState iface. d3d10core: COM cleanup for the ID3D10RasterizerState iface. d3d10core: COM cleanup for the ID3D10SamplerState iface. d3d10core: COM cleanup for the ID3D10Query iface. d3d10: COM cleanup for the ID3D10EffectPass iface. d3d10: COM cleanup for the ID3D10EffectTechnique iface. d3d10: COM cleanup for the ID3D10Effect iface. d3d10: COM cleanup for the ID3D10ShaderReflection iface. advapi32: Remove wrong "is NULL and error out" code (coccicheck). inetcomm: Rename a typedef to prevent it from being shadowed. inetcomm: COM cleanup for the IMimeInternational iface. shell32: Pass object pointers instead of ifaces to internal helpers. shell32: COM cleanup for the IContextMenu2 iface. dxgi: COM cleanup for the IDXGIOutput iface. dxgi: COM cleanup in the IDXGISwapChain iface. ddraw: COM cleanup for the IDirect3DMaterial2 iface. ddraw: COM cleanup for the IDirect3DMaterial iface. dxgi: COM cleanup for the IWineDXGIFactory iface. dxgi: COM cleanup for the IWineDXGIDevice iface. dxgi: COM cleanup for the IWineDXGIAdapter iface. dxgi: COM cleanup for the IDXGISurface iface. ddraw: COM cleanup for the IDirectDrawGammaControl iface. ddraw: Rename d3d_material_init() and have it allocate the object too. ddraw: Avoid "unsafe" IDirect3DMaterial3 to object casts. ddraw: COM cleanup for the IDirect3DMaterial3 iface. ddraw: COM cleanup for the IDirect3DLight iface. ddraw: Use unsafe_impl_from_IDirect3DLight() for application provided ifaces. Owen Rudge (1): winemapi: Ensure address is valid before checking for 'smtp:'. Peter Urbanec (2): ws2_32/tests: Use WSAGetLastError() when reporting errors. ws2_32/tests: Socket error handling and reporting tests. Piotr Caban (8): msvcrt: Fix mingw compilation issues. msvcrt: Fix pclmap and pcumap for "C" locale. msvcrt: Improved tolower_l and toupper_l implementation. msvcrt: Fixed buffer overflow in snprintf functions family. comctl32: Improve LISTVIEW_MarqueeHighlight performance. comctl32: Fix listview horizontal scrolling. comctl32: Fix ListView_Scroll implementation. msvcrt: Fix broken exports in spec file. Piotr Pawłow (1): wined3d: Set container of swapchain surfaces to WINED3D_CONTAINER_NONE in swapchain_init() error path. Rico Schüller (4): d3dx9: Improve effect sampler parsing. d3dx9: Implement ID3DXBaseEffect::GetFloatArray(). d3dx9: Implement ID3DXBaseEffect::GetIntArray(). d3dx9: Implement ID3DXBaseEffect::GetBoolArray(). Ričardas Barkauskas (16): ddraw: Use unsafe_impl_from_IDirectDrawSurface3() for application provided interfaces. ddraw: Rename surface_from_surface3() to impl_from_IDirectDrawSurface3(). ddraw: Use a This variable in the IDirectDraw3 methods that lack one. ddraw: Change IDirectDrawSurface3_vtbl to IDirectDrawSurface3_iface. ddraw: Use unsafe_impl_from_IDirectDrawSurface7() for application provided interfaces. ddraw: Pass an object instead of iface to helper function CreateSurface. ddraw: Separate conversion from IDirectDrawSurface7 iface to object and conversion to other iface. ddraw: Separate other conversion to IDirectDrawSurfaceImpl from conversions to ifaces. ddraw: Use impl_from_IDirectDrawSurface7() instead of casts. ddraw: Avoid IDirectDrawSurfaceX to IDirectDrawSurface7 casts. ddraw: Change lpVtbl to IDirectDrawSurface7_iface. ddraw: Use unsafe_impl_from_IDirectDrawSurface4. ddraw: Separate IDirectDrawSurface4 vtable. ddraw: Separate IDirectDrawSurface2 vtable. ddraw: Use unsafe_impl_from_IDirectDrawSurface() for application provided interfaces. ddraw: Separate IDirectDrawSurface vtable. Sean Sube (1): d3d9/tests: Added unbound sampler test for pixel shaders. Stefan Dösinger (3): wined3d: Don't check the FBO status if FIXMEs are off. wined3d: Set last_was_blit to FALSE in the if condition that checks for it. wined3d: Silence R16 and AL16 fourcc warnings. Vincent Povirk (6): ole32: Avoid opening source storage in IStorage::CopyTo. user32/tests: Add test for flags on keyboard messages. user32/tests: Ignore paint messages in hotkey tests. user32/tests: Add test showing hotkeys change the async key state. user32/tests: Test registering the same hotkey hwnd/id pair twice. user32/tests: Do not check the last error on succeeding hotkey calls. Vitaliy Margolen (1): dinput: Keyboard does not support DIPROP_RANGE property. Łukasz Wojniłowicz (1): loader: Add Polish translation. -- Alexandre Julliard julliard@winehq.org