Wine Announcement

The Wine development release 1.1.33 is now available. What's new in this release (see below for details): - Gecko now installed at wineprefix creation time. - Better support for certificates in crypt32. - Improved sound support in mciwave. - Some more Direct3D 10 functions. - Many cleanups for issues spotted by Valgrind. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.33.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.33.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.33: 2329 DrawText() with DT_CALCRECT incorrect in MM_HIENGLISH mode 5395 Windows Vista Upgrade Advisor beta won't install 6208 Diamond Mind Baseball used to work now does not 6481 Bada janggi korean chess application hangs 8436 Port Royale II - Crashes at start-up 9575 IBExpert need windows native ole32.dll to run 9682 NVDVD fails to start due to saxxml error 9856 winecfg freezes when alt+ certain keys are pressed in certain places 9895 Alzip crashes: Invalid float operation 11423 Canon Digital Photo Professional (DPP) upgrader crash 12003 foobar2000-0.9.4.4 status bar not updated 12074 The conformance tests fail on Windows 12297 Movie Magic Screenwriter 6: Initialization Error requiring installation of a device driver 12453 Bad performance in Source based games 12578 err:mshtml:init_xpcom NS_InitXPCOM2 failed: 80004005 in htmlhelp 12721 Various cygwin executables fail with Exception: STATUS_ACCESS_VIOLATION 13029 winetest should make it possible to just extract the individual tests 13100 Sanitarium - D3D fails to create DIB section and page fault 13345 Mr Robot: silently fails to start 13488 pixel shader does not work after update 13571 Direct-buy & play tool for EA games does not work 13630 Crash when clearing ie6 cache - needs FreeUrlCacheSpaceA 13647 DSM Plugin for UltraVNC 1.0.4 Doesn't Work 13822 Excel 2002/2003/2007 can't save over OpenOffice created files. A "Disk full" error message appears. 13948 Glossomatheia crashes on startup 14427 widl crashes in dlls/rpcrt4 14541 WinExec() fails when starts Unix binaries 15036 'Gift' game crash with a D3D/OpenGL error 15060 MCI_WAVE_SET_SAMPLESPERSEC not implimented, patch (needs cleanup) 15272 Pipes (PeekNamedPipe, NtQueryInformationFile) crash Wine 15367 "Using help" or "Help on help" crashes winhlp32 15421 go.exe does not work 15469 windows in a virtual desktop only get keyboard focus when the mouse is on them 15599 S.T.A.L.K.E.R. - no sound with OpenAL 15706 iphplapi: iphplapi.ok test fails in OpenSolaris but not Ubuntu 15755 Some applications do not correctly detect administrative privileges 15839 Games for Windows Live fails to initialize, resulting Fallout 3 crash 15935 Carbide c++ 1.3 crashes 16202 Counter-Strike 1.6 makes wineserver run busy 16688 tests/rsaenh: array size smaller than bound length 16939 NASA WorldWind renders everything black, unless ran with native oleaut32. 17034 IBExpert hung up with wine gecko 0.9.0 17412 oleaut32/tmarshal tests fail with +heap enabled 18092 Race Driver: GRID - not rendered correctly 18112 Long time play of Assasine's Creed Ver. 1.02 18134 Drawing artifact in Lotus Notes 5.0.10 18139 WineD3D: add version information to DLL 18168 cmd fails when passing environment variables in a batfile 18183 Crazy Machines with CD-ROM: no mouse, no exit 18264 AutoCAD 2008: QuickCalc doesn't show up 18337 CertVerifyCertificateChainPolicy doesn't implement CERT_CHAIN_POLICY_SSL 18636 All source games crash on exit 18711 Digsby pagefaults when accessing Preferences => Skins 18743 UltraEdit setup: Some text is hidden 18861 GameZone Downloader: Window is partly blacked-out 19031 Alpha Centauri failes with GLXBadDrawable/X_GLXMakeCurrent 19352 Windows Live Messenger 2009 installer doesn't start 19383 [Monkey Island Special Edition] Version Hotswap does not work 19391 HxD hides a List 19450 Notation Composer: toolbar and menu icons missing or white 19489 WinHttpSendRequest does not support empty string ("") as headers argument 19490 WINHTTP_QUERY_VERSION not implemented in WinHttp query_headers() 19878 TrackMania UnitedForever - mouse does not work 19931 winedbg crashes entering an infinite self-launch loops 19948 Starscape OpenGL mode - screen stays black 20160 iexplore: automatic gecko installer crashes 20201 winetest64 no longer runs on 64-bit wine 20227 msi: Table Join on two tables that have same (non-join) column name causes only first column data to be returned. (Affects Visual Studio 2008 Standard Edition.) 20263 Fifa 09 Demo crash while starting 20348 Cannot install Mirror's Edge 20353 chromium ipc_tests.exe fails when KERNEL32.GetQueuedCompletionStatus() hangs on peer disconnect of named pipe? 20358 chromium's base_unittests.exe fails on RSAPrivateKeyUnitTest.* 20371 SolidWorks 2008: Installation fails 20417 Uninstall software list 20452 Particle Systems' Pog Compiler crashes when outputting debug info 20477 Dragon NaturallySpeaking MSI installer fails 20503 ref counting bug in crypt32 20518 winetest-1.1.32 Can't enumerate test files: 998 after refusing to install Gecko 20523 Installing Internet Explorer fails due to problem in setupapi 20567 Uninitialised memory reference in RSAENH_CPImportKey 20619 chromium's unit_tests.exe's RenderViewTest.PrintLayoutTest fails with FATAL:image.cc(211)] Check failed: rect.x() == 0 (-1 vs. 0) 20626 Chromium's unit_tests.exe's DownloadManagerTest.TestDownloadFilename fails 20627 chromium's base_unittests's StackTrace.OutputToStream fails (RtlCaptureStackBackTrace unimplemented) 20641 Problems loading dispatch and dual types in SLTG TypeLibs 20642 Installing codecs fails due to insufficient administrator rights ---------------------------------------------------------------- Changes since 1.1.32: Alexander Nicolaysen Sørnes (3): include: Add defines for GetProductInfo. ntdll: Add RtlGetProductInfo stub. kernel32: Implement GetProductInfo on top of ntdll stub. Alexandre Julliard (51): winetest: Refuse to submit results if we are using native dlls. ole32: Specify the full application path when starting rpcss.exe. rpcrt4: Specify the full application path when starting rpcss.exe. shell32: Specify the full application path when starting winemenubuilder.exe. shdocvw: Specify the full application path when starting winemenubuilder.exe. user32: Specify the full application path when starting builtin apps. explorer: Specify the full application path when starting winefile.exe. oleview: Specify the full application path when starting regedit.exe. shdocvw: Specify the full path to iexplore.exe. wine.inf: Specify the full path to iexplore.exe and winemenubuiler.exe. setupapi: Create fake dlls before performing dll registration. kernel32: Make GetQueuedCompletionStatus return failure for I/O errors, as per MSDN. libwine: Reserve some low memory space even without a preloader. ntdll: The meaning of the flag is inverted between RtlWow64EnableFsRedirection and RtlWow64EnableFsRedirectionEx. kernel32: Specify the full application path when starting wineboot.exe. kernel32: Add a structure to store all the information about an executable. kernel32: Retrieve the executable information as soon as we open the file. kernel32: Set the 64-bit flag for builtin executables based on their load directory. libwine: Fix handling of precision argument in vsnprintfW. kernel32/tests: Add some tests for width and precision formatting in FormatMessage. kernel32: Reimplement the formatting of inserts in FormatMessageA. kernel32: Reimplement the formatting of inserts in FormatMessageW. kernel32: Propagate the error result from RtlFindMessage in FormatMessage. kernel32: Fix handling of width and precision arguments and remove assumptions about va_list implementation in FormatMessage. kernel32/tests: Use __ms_va_list in the FormatMessage test. kernel32: Replicate the MS bug with va_list argument counting in FormatMessage. kernel32/tests: Fix FormatMessage test failures on various Windows versions. kernel32: Make sure the codepage registry keys are set correctly on wineprefix creation. setupx: Use the correct field index for string substitutions. wia: Force specifying the correct header version in Wine code. ntdll: Reject VirtualAlloc blocks in NtUnmapViewOfSection. gdi32: Don't update the metafile bounding box in ExtTextOut if there's no rectangle. ntdll: Moved RtlCaptureStackBackTrace stub to the cpu-specific files. ntdll: Implemented RtlCaptureStackBackTrace for i386. mshtml: Move some Content-Type registry keys to mshtml.inf. mshtml: Register a few more MIME types. comdlg32: Reimplement the 16-bit font dialog on top of the 32-bit one. comdlg32: Reimplement the 16-bit print dialog on top of the 32-bit one. comdlg32: Reimplement the 16-bit color dialog on top of the 32-bit one. comdlg32: Reimplement the 16-bit file dialog on top of the 32-bit one. comdlg32: Create a 32-bit dialog for find/replace. comdlg32: Make commdlg.dll into a stand-alone 16-bit module. winmm: Use PeekMessageW instead of UserYield. mmsystem: Use PeekMessageW instead of UserYield. kernel32: Use PeekMessageW instead of UserYield. user32: Reimplement UserYield using PeekMessageW. user32: Move driver support to mmsystem and replace it with stubs in user.exe. ctl3d: Stub out Ctl3dDlgFramePaint16 to avoid calling DefWindowProc16. user32: Reimplement DefDlgProc16 using message mapping functions. user32: Use the correct type for the return value of DefDlgProcA/W. user32: No longer export the 16-bit dialog and message functions. Andrew Eikum (1): mshtml: Fix typo in TRACE. André Hentschel (7): ntdll: Stub for RtlNumberGenericTableElements. ntdll: Implement KeyNameInformation. appwiz: Ignore apps without title in the list. msvcrt: Do not overlap in strcpy (Valgrind). ws2_32: Fix a comment. ws2_32/tests: Test for initial state of SIOCATMARK. jscript: Update German translation. Aric Stewart (1): msctf/tests: Handle an occasional unexpected SetFocus from wine. Aurimas Fišeras (2): cryptui: Fix Lithuanian translation. jscript: Update Lithuanian translation. Austin English (5): configure: preloader is Linux specific, don't build it elsewhere. ntdll: Add support for Windows 7 version. mshta: Add a stub program. wininet: Add stubs for FreeUrlCacheSpace. wined3d: Add version resource. Chris Robinson (1): openal32: Use the correct prototype for function pointers. Damjan Jovanovic (6): wia: Add rudimentary wia headers. sti: Marshal WIA COM interfaces. wiaservc: Add wiaservc.dll and implement its svchost entrypoint. wiaservc: Add the class factory and IWiaDevMgr stubs. wiaservc: Add self registration. winemenubuilder: Escape XML special characters in MIME types. Dan Kegel (3): crypt32/tests: CryptUnprotectData: test zero-length payload. user32: Fix uninitialized variable so first call to DdeGetLastError isn't undefined. wininet: FTP_FtpOpenFileW: initialize dwInternalFlags. Detlef Riekenberg (2): msi/tests: MsiSetExternalUIRecord not present before Installer 3.1. ntdll/tests: GetVolumePathnameW is not present before w2k. Dmitry Timoshkov (2): msi: Limit the progress to its maximal value, use MulDiv for better results. msi: Add support for msidbControlAttributesProgress95. Eric Pouech (11): msvfw32: Remove 16bit driver references (now that they no longer exist in winmm). winedump: Ensure all PDB fields are printed. winedump: Correctly handle the constant fields. winedump, dbghelp: In .pdb files (>= VC2005), handle the case where the codeview_linetab2_file structure is not the first one. mmsystem.dll16: Fix the callback function. richedit: Only increment objects' reference by one when inserting an OLE object. richedit: When inserting an OLE object from an RTF stream, don't force update as the stream is not fully read. winhlp32: Added support for macros as hotspots' target. winedbg: In proxy mode, correctly init the wine_segs fields. mmsystem.dll16: Correctly send messages up to winmm.dll. dbghelp: Fix the threads stream size. Erich Hoover (1): wineconsole: Fix Alt+F10 sent when F10 pressed. Francois Gouget (9): winapi_check: Add support for the new architectures in the spec files. mmsystem.dll16: Reorder the thread and time functions to avoid the need for forward declarations. mmsystem.dll16: Make MMSYSTEM_MMTIME16to32() static. msi/tests: Make the handler_xxx() functions static. cryptui: Remove WINAPI on the cert_mgr_sort_by_text() static function that does not need it. winmm/tests: Add a trailing '

' to an ok() call. winmm: WINMM_CheckForMMSystem() is not used, remove it. mshtml/tests: Fix a trailing '

' in an ok() call. Assorted spelling fixes. Frédéric Delanoy (1): jscript: Update French translation. Gerald Pfeifer (1): winex11: Handle error situation earlier in X11DRV_GetDIBits(). Hans Leidekker (24): wininet: Avoid accessing uninitialized memory. winhttp: Implement HTTP_OPTION_PARENT_HANDLE for connection handles. wininet: Avoid accessing uninitialized memory in ConvertUrlComponentValue. wininet: Avoid accessing uninitialized memory in HttpSendRequestExW. winhttp: Clean up locks after closing libssl and libcrypto. wininet: Clean up locks after closing libssl and libcrypto. msi/tests: Fix a couple of user SID string leaks. msi: Avoid accessing uninitialized memory in ACTION_AppSearchReg. ws2_32: Avoid accessing uninitialized memory in GetAddrInfoW. ws2_32: Add a test for GetAddrInfoW. winhttp: Accept empty headers parameter in WinHttpSendRequest. winhttp: Implement WinHttpQueryHeaders(WINHTTP_QUERY_VERSION). msi: Add support for the Unicode version of the global UI handler. msi: Unicode and ANSI global UI handlers are mutually exclusive. msi: Implement MsiSetExternalUIRecord. rpcrt4: Correct spelling of RPC_C_QOS_IDENTITY_STATIC and RPC_C_QOS_IDENTITY_DYNAMIC. rpcrt4: Add a test for the ncalrpc protocol sequence. ole32: Return success from OleLockRunning when the object does not support IRunnableObject. include: Add protocol sequence constants. rpcrt4: Implement RpcBindingInqAuthClient{, Ex}. rpcrt4: Implement RpcBindingInqAuthInfo{, Ex}. rpcrt4: Add tests for RpcBindingInqAuthInfo. msi: Handle environment strings without a value. msi: Test more variations of environment string prefixes. Henri Verbeet (44): wined3d: Remove a redundant ActivateContext() call. wined3d: Add a separate structure for driver info. wined3d: Refuse to parse shaders with an invalid version token. wined3d: Fix a typo. wined3d: Print an ERR instead of crashing in context_check_fbo_status(). wined3d: Store PCI IDs in wined3d_driver_info instead of wined3d_gl_info. wined3d: Apply PCI ID overrides in init_driver_info() instead of IWineD3DImpl_GetAdapterIdentifier(). wined3d: Set a driver name appropriate for the vendor in init_driver_info(). wined3d: Restore the wglMakeCurrent() call in context_destroy_gl_resources(). wined3d: Restore the thread's previous GL context in WineD3D_ReleaseFakeGLContext(). wined3d: Restore the thread's previous GL context in context_destroy_gl_resources(). wined3d: Keep better track of where we're using wined3d contexts. wined3d: Call context_release() for wined3d contexts made current by context_create(). wined3d: Restore the thread's GL context on context_release() if it wasn't created by wined3d. wined3d: Rename DestroyContext() to context_destroy(). wined3d: Remove some unused GLINFO_LOCATION definitions. wined3d: Introduce a separate structure for various OpenGL implementation limits. wined3d: Get rid of the GL_SUPPORT macro. wined3d: directly pass gl_info to stream_info_element_from_strided(). wined3d: Don't depend on uninitialized data in the CreateSurface() thunks (Valgrind). wined3d: It's not an error to request multisampling. wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT. d3d10core: Add a separate function for d3d10_geometry_shader initialization. d3d10core: Add a separate function for d3d10_rendertarget_view initialization. d3d10core: Fix a small whitespace error. d3d10core: Add a stub ID3D10DepthStencilView implementation. d3d10core: Add a stub ID3D10ShaderResourceView implementation. d3d10core: Add a stub ID3D10DepthStencilState implementation. d3d10core: Add a stub ID3D10RasterizerState implementation. d3d10core: Add a stub ID3D10SamplerState implementation. d3d10core: Add a stub ID3D10BlendState implementation. d3d10: Add a D3D10GetVertexShaderProfile() stub. d3d10: Add a D3D10GetGeometryShaderProfile() stub. d3d10: Add a D3D10GetPixelShaderProfile() stub. wined3d: Initialize "context[0]" in IWineD3DDeviceImpl_CreateSwapChain() when not using OpenGL (Valgrind). d3d8/tests: Only run the vertex/pixel shader constant apply tests when the implementation supports them. d3d8/tests: Don't require dynamic usage for textures in the stateblock tests. d3d9/tests: Don't require dynamic usage for textures in the stateblock tests. wined3d: Report a driver version appropriate for the reported OS. server: Store the Unix name in the fd. ntdll: Implement the FileNameInformation class for NtQueryInformationFile(). ntdll/tests: Add some tests for the NtQueryInformationFile() FileNameInformation class. ntdll: Fix the FileNameInformation info size. wine.inf: Create the mui directory. Huw Davies (31): rpcrt4: Move the full pointer table init to after a potential call to NdrServerInitializeNew(). widl: Add support for parsing the annotation attribute. include: Remove comments around annotation attributes. include: Flesh out dbs.idl a bit. include: Add access.idl. msdaps: Implement CreateAccessor Proxy and Stub. msdaps: Implement ReleaseAccessor Proxy and Stub. include: Add cmdbas.idl. include: Add cmdtxt.idl. msdaps: Implement SetCommandText proxy and stub. include: Add rstinf.idl. msdaps: Implement IRowsetInfo_GetProperties proxy and stub. oledb32: Add CanConvert support for DBTYPE_FILETIME. oledb32: Add a couple of conversions to DBTYPE_FILETIME. oledb32: Add a few simple conversions to DBTYPE_GUID. oledb32: Add some conversions to DBTYPE_UI1. oledb32: Add some conversions to DBTYPE_UI4;. oledb32: Add some conversions to DBTYPE_R4. oledb32: Add some conversions to DBTYPE_CY. oledb32: Add some conversions to DBTYPE_UI8. include: Add rstbas.idl. include: Add rstloc.idl. include: Add row.idl. include: Add rowchg.idl. oledb32/tests: Fix some failing tests on win98. ntdll/tests: Fix spelling of succeeded. include: Add asynot.idl. include: Add asysta.idl. msctf: Correctly initialize the description field. msctf/tests: Don't convert past the end of a nul terminated string. gdi32/tests: Test the return value of GetClipBox before trying to access the rect. Ilya Shpigor (3): extrac32: Add command-line parsing. user32: Fix switching focus to parent after child hiding. extrac32: Implementation of the CAB archive extraction. Jacek Caban (41): mshtml: Fail to create HTMLDocument if Gecko is not available. mshtml: Store window reference in nsURI. mshtml: Use HTMLWindow in AsyncOpen implementation. mshtml: Moved bscallback to HTMLWindow. mshtml: Moved url and mon to HTMLWindow. mshtml: Allow task queue to be used for different targets. mshtml: Moved binding list to HTMLDocumentNode. mshtml: Moved nsIDOMEventListener implementations to HTMLDocumentNode. mshtml: Moved event_vector to HTMLDocumentNode. mshtml: Avoid crash in nsIURI:Equals if other_url is NULL. mshtml: Added HTML frames support. jscript: Store a copy of code in parser_ctx_t. mshtml: Improve debug traces. mshtml: Inherit scriptmode from parent window. mshtml: Added IHTMLDOMNode::nextSibling implementation. jscript: Pass global object as this if 'this' argument is null or undefined in Function.call. jscript: Pass global object as this if 'this' argument is null or undefined in Function.apply. mshtml: Moved whole element initialization to HTMLElement_Init. mshtml: Moved IHTMLFrameBase to separated object to allow sharing implementation with HTMLFrame. mshtml: Store content window on HTMLIFrameElement creation. mshtml: Moved content_window to HTMLFrameBase. mshtml: Associate HTMLWindow with HTMLIFrame. mshtml: Added HTMLFrameElement object and associate it with frame window. mshtml: Return NS_OK for empty aRef in nsIURL::SetRef. mshtml: Added InvokeEx(DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYPUTREF) implementation. mshtml: Added fdexNameCaseInsensitive support. mshtml: Don't create dynamic property if alloc arg is false. mshtml: Moved global property allocation to separated function. mshtml: Added support for accessing elements id by global properties. mshtml: Return NULL ownerDocument for document node. mshtml: Moved readystate changes to separated function. mshtml: Handle EndLoad via script runner. mshtml: Moved add_script_runner call to push_mutation_queue. mshtml: Moved readystate to HTMLWindow. jscript: Don't return function value it's unless explicitly returned. mshtml: Split parse_complete to handle_load and mutation observer. mshtml: Correctly handle NULL nschannel in channelbsc_load_stream (Coverity). mshtml: Get rid of no longer needed bind_complete in set_moniker. mshtml: Moved GeckoUrl registry to mshtml.inf. mshtml: Download Gecko in DllRegisterServer. mshtml: Update description in Gecko installer dialog. Jeremy White (4): oleaut32: StructArg tests cannot rely on an unpacked structure memcmp. oleaut32: Implement the ability to marshall VT_CARRAY's of user defined types. advapi32/tests: Prevent test failure when computer name and user name are the same. advapi32/tests: Only release providers and free keys if we've had success creating them. Jerome Leclanche (2): msvcirt: Implement MSVCIRT_operator_sl_callback. msvcirt: Make sure a FIXME doesn't overflow. Juan Lang (126): crypt32: Move tracing of key usage extension to common extension tracing location. crypt32: Fix a test failure on systems with no c: drive. cryptui: Support sorting columns by clicking on their headers. cryptui: Sort certificates by subject name by default. cryptui: Display <None> for a cert's friendly name if no friendly name property is set. crypt32: Trace enhanced key usage extension. crypt32: Trace cert policies extension. crypt32: Trace name constraints extension. crypt32: Trace the alt name extensions. crypt32: Accept either the subject alt name 2 or subject alt name extensions, and prefer the former when both are present. crypt32: Correct a prototype. crypt32: Trace directory name of alt name entries. crypt32: Trace netscape cert type extension. crypt32: Support IPv6 addresses in name constraint comparison. crypt32: Add the Google website's cert to tests. crypt32: Allow the caller of checkChainPolicyStatus to specify the date to test with and additional policy parameters. crypt32: Add some tests of the SSL policy. crypt32: Implement CertVerifyCertificateChainPolicy for CERT_CHAIN_POLICY_SSL. cryptui: Fix German translation. crypt32: Add basic constraints and key usage to chain0_0. crypt32: Add basic constraints and key usage to chain2_0. crypt32: Add basic constraints and key usage to chain5_0. crypt32: Add basic constraints and key usage to chain8_0. crypt32: Add basic constraints and key usage to chain12_0. crypt32: Add basic constraints to chain14_0. crypt32: Add basic constraints to chain15_0. crypt32: Remove redundant if clause. crypt32: Add basic constraints to chain quality selection algorithm. crypt32: Only permit v1 or v2 CA certificates without a basic constraints extension if they're installed locally. crypt32: Add key usage extension to chain4_0. crypt32: Use a helper function to find an existing cert by hash. crypt32: Only permit v1 or v2 CA certificates without a key usage extension if they're installed locally. crypt32: Check CA certificates for the enhanced key usage extension. crypt32: Create a V1 certificate if it doesn't have extensions. crypt32: Trace policy error status in CertVerifyCertificateChainPolicy. crypt32: Partially implement CryptBinaryToStringW. crypt32: Add support for the CRYPT_STRING_NOCRLF flag to CryptBinaryToStringA/W. crypt32: Trace contents of CERT_CHAIN_PARA. crypt32: Allow errors in locally installed root certs. crypt32: Abstract function used to read from reading a serialized store. crypt32: Support reading a serialized store object from memory in CryptQueryObject. crypt32: Fix a memory leak querying a message object. crypt32: Fix a memory leak reading trusted root certs. crypt32: Fix a memory leak in a test. crypt32: Add stub for CryptGetIntendedKeyUsage. crypt32: Correct spec entries for certificate stores. rsaenh: Test exporting an RSA private key with the most significant bit set. crypt32: Add tests for CertGetIntendedKeyUsage. crypt32: Implement CryptGetIntendedKeyUsage. crypt32: Add stub for CertAddCertificateLinkToStore. crypt32: Implement CertAddEncodedCertificateToSystemStoreA/W. wintrust: Only close a file in SoftpubCleanup if the WINTRUST_DATA contains a WINTRUST_FILE_INFO. crypt32: Add return value to Context_Release to allow detecting reference counting errors. crypt32: Propagate errors from CertFree*Context to CertDelete*FromStore. crypt32: Correct reference counting when deleting contexts from collections. crypt32: When removing contexts from a list, make sure the context no longer references the list. crypt32: When add-ref'ing a context, add-ref its linked contexts too. crypt32: When creating a link context, call Context_AddRef to add-ref it so its children get add-ref'd too. crypt32: Release a link context's linked context on every release, not just when it reaches 0. crypt32: Trace whenever a reference count changes, and change default debug channel to quiet the main crypt channel. crypt32: Add an error if the ref count is invalid when releasing a context. crypt32: Don't delete a context when removing it from a list. crypt32: Release contexts when removing them from the mem store. crypt32: Rename a function to reflect its behavior better, and return whether it succeeds. crypt32: Eliminate a double free in the tests. crypt32: Add tests of committing a collection store. crypt32: Add an implementation of CertControlStore for memory stores. crypt32: Implement CertStoreControl for collection stores. crypt32: Fix a test failure on NT 4. wintrust: Fix a test failure on Win2008. crypt32: Don't copy past end of buffer when removing the last string in a multistring. crypt32: Add a warning if a store's ref count is invalid. crypt32: Don't free a file store's mem store, it's already freed by the provider store. cryptui/tests: Remove a double free. cryptui/tests: Fix typos. rsaenh: Explicitly clear unused memory when exporting a private key. rsaenh: Explicitly clear unused memory when exporting a public key. rsaenh/tests: Add round-trip test of RSA. rsaenh: Only reverse the significant bytes of an exported private key. rsaenh: Only reverse the significant bytes of an exported public key. crypt32: Permit lack of key usage extension on root certificates. crypt32: Permit lack of basic constraints extension on root certificates. crypt32: Add more tests of cert encoding/decoding. crypt32: Fix encoding cert issuer/subject unique ids. crypt32: Fix decoding cert issuer/subject unique ids. crypt32: Add tests for encoding/decoding cert policy mappings. crypt32: Implement encoding cert policy mappings. crypt32: Implement decoding cert policy mappings. crypt32: Add tests for encoding/decoding cert policy constraints. crypt32: Implement encoding cert policy constraints. crypt32: Implement decoding cert policy constraints. crypt32: Fix test failures on Win9x/NT4. wincrypt.h: Define szOID_INHIBIT_ANY_POLICY. crypt32: Fix decoding unicode names when CRYPT_DECODE_ALLOC_FLAG is not specified. crypt32: Fix decoding names when CRYPT_DECODE_ALLOC_FLAG is not specified. crypt32: Forbid minimum or maximum fields in name constraints. crypt32: Reject certificates whose fields don't match their versions. crypt32: Test encoding and decoding name values with embedded NULLs. crypt32: Test decoding alternate names with embedded NULLs. crypt32: Disallow embedded NULLs in alternate names. crypt32: Test more chains against different policies. crypt32: Add more tests of name constraints. crypt32: Check the issued certificate for name constraint violations, not the issuing certificate. crypt32: Correct error when the subject alternate name can't be decoded. crypt32: Use helper function to find the subject alternate name extension wherever it's needed. crypt32: Correct error when a constrained, permitted name type isn't found in the subject name. crypt32: Update a comment to reflect a fixed vulnerability. rsaenh/tests: Fix some test failures. crypt32: Fix some test failures on older crypt32 versions. crypt32: Fix test failures across Windows versions. rsaenh/tests: Fix a couple typos. crypt32: Trace cert version. crypt32: Stop reading a serialized store if a non-context prop ID appears before a context prop ID. crypt32: Correct error when a matching name constraint is found. crypt32: Fix test failures on multiple Windows versions. crypt32/tests: Fix test failures. crypt32: Fix more test failures on older crypt32 versions. crypt32: Fix more test failures on older crypt32 versions. rsaenh/tests: Fix length of copied buffer. crypt32: Add openssl.org's cert to the tested chains. crypt32: Test matching a certificate with a wildcard in its name. crypt32: Implement matching a certificate with a wildcard in its name. crypt32: Use broken() to mark an expected result from a broken version of crypt32. crypt32: Add tests for cs.stanford.edu's chain. crypt32: Accept any matching dNSName in a subject alternate name. crypt32: Fix test failures. Jörg Höhle (29): mciwave: Pause/resume is not accepted from every state. mciwave: Do not lie about state when winmm fails in Pause or Resume. mciwave: Do not transition via Resume from Record into Play. mciwave: Send notification after everything else. winmm: Time formats hms/tmsf use leading zeroes as in 00:00:00. mciwave: Fix wave format first, then compute position. mciwave: Default wave format is 11025x8x1. mciwave: Update message and comments. mciwave: waveaudio does not support the shareable flag. mciwave: Correct MCI return codes. winmm/tests: Add MCI waveaudio tests. winmm: Do not crash on NULL MCI Sysinfo command output buffer pointer. mciwave: Set wave format PCM is the only one accepted. mciwave: Allow (again) to set wave format parameters prior to recording. winmm/tests: Fix MCI test failure on Win9x/WinME. mciwave: Return on error in Seek. mciwave: Stop must not reset current position. winmm: MCI Close all causes one notification per open driver. winmm/tests: Give flaky progress test more time. mciwave: Favour return over ExitThread. mciwave: Rework MCI notification system. mciwave: Implement Cue as no-op. mciwave: Allow MCI to Save non-PCM formats, obtained via Open. mciwave: Seek stops and rounds position down modulo nBlockAlign. mciwave: Play/Record return MCIERR_OUTOFRANGE as required. mciwave: Store only slots from OpenParms that we need. mciwave: Use the current device ID for notification. msg711: Correct wave format parameters to remove stuttering. mciwave/tests: Fix a few tests including one hang on Win9X. Kai Blin (2): netapi32: Implement NetUserGetGroups stub. secur32: Use empty credentials when cached creds fail. Ken Thomases (3): winex11: Assign OEM virtual key codes in a separate loop. winex11: Use a table of available OEM virtual key codes. winex11: Allow assigning non-OEM virtual key codes for remaining keys. Kirill K. Smirnov (1): gdiplus: Avoid deleting non-existent object. Louis Lenders (4): wuaueng: Add stubbed wuaueng.dll. wuaueng: Add version resource. kernel32/tests: Add more tests for FormatMessageA. d3d9: Quiet a few noisy fixme's. Luca Bennati (3): cmd: Add Italian translation. start: Update Italian translation. clock: Update Italian translation. Maarten Lankhorst (13): winealsa.drv: Fix underrun recovery. include: Add audiosessiontypes header. include: Add some more defines to winerror.h. include: Add avrt header. include: Add SHCOLSTATE to shtypes.idl. include: Add partial structuredqueryexception header. include: Add PROPERTYKEY to wtypes.idl. include: Add DEFINE_ENUM_FLAG_OPERATORS to winnt.h. avrt: Add initial stub implementation. include: Fix REFPROPVARIANT definition. include: Add propkeydef header. avrt: Add stub for Av(Set,Revert)MmThreadCharacteristics. include: Add partial propsys header. Marcus Meissner (7): mapi32: Check folder for NULL (Coverity). wined3d: Check for NULL before context_release (Coverity). ws2_32: Use correct buffer for 17 byte write. d3d8: Removed superflous NULL checks (Coverity). crypt32: Pass the correct pointer into CertificateFindStore. rpcrt4: Compare network options correctly (Coverity). mciavi32: Removed duplicate strlen/NULL check (Coverity). Markus Stockhausen (1): ddraw: Avoid memory overwrite in GetDeviceIdentifier(). Matteo Bruni (1): d3dx9: Add D3DXAssembleShader tests. Michael Martin (1): kernel32/tests: Additional tests for CopyFile/MoveFile used on mapped files. Michael Stefaniuc (1): mshtml: Free the right variable (Smatch). Mikey Alexander (1): shell32/tests: Add Program Manager DDE conformance tests. Nate Gallaher (2): msi: Add tablename tracking to VIEW_find_column. msi: Test that a query on a join of two tables returns data from the correct table. Nicolas Le Cam (1): winmm/tests: Skip tests when running on non-english locale. Nikolay Sivov (6): comctl32/toolbar: Don't leak button strings. comctl32/tests: Release Imagelist handles when no needed anymore. comctl32/toolbar: Use single handler for TB_SETBUTTONINFOW/TB_SETBUTTONINFOA pair. comctl32/toolbar: Use single handler for TB_GETBUTTONTEXTW/TB_GETBUTTONTEXTA. comctl32/toolbar: Call handlers in more general way. comctl32/treeview: Collapse some message handlers. Owen Rudge (9): mapi32: Use separate pointer for drafts folder when sending via extended MAPI. mapi32: Pass several extended MAPI functions through to provider. comctl32: Add absolute version of iterator_frameditems. comctl32: Move marquee logic into separate function. comctl32: Cancel marquee selection if we lose focus in listview. comctl32: Add support for scrolling during marquee selection. shell32: Add Unicode version of GetFileNameFromBrowse. comctl32: Add basic structure for IImageList interface. comctl32/tests: Add IImageList creation test. Paul Bolle (1): dbghelp: elf_load_file: return if elf_map_file fails. Paul Chitescu (7): sccbase: Stubs for DllRegisterServer() and DllUnregisterServer(). mssip32: Stubs for DllRegisterServer() and DllUnregisterServer(). dssenh: Stubs for DllRegisterServer() and DllUnregisterServer(). initpki: Stubs for DllRegisterServer() and DllUnregisterServer(). slbcsp: Stubs for DllRegisterServer() and DllUnregisterServer(). gpkcsp: Stubs for DllRegisterServer() and DllUnregisterServer(). crypt32: Check the result of CryptAcquireContextW() when initializing default provider. Paul Vriens (27): advapi32/tests: Add some basic eventlog tests. advapi32/tests: Add some input parameter checks. advapi32/tests: Cope with empty servername. advapi32/tests: Add a input parameter check (CloseEventLog). advapi32/tests: Add some GetEventLogInformation tests. advapi32: Add a stubbed GetEventLogInformation with input param checking. comctl32/tests: Use A-functions. advapi32/tests: Add some GetNumberOfEventLogRecords tests. advapi32: Add some input parameter checks to GetNumberOfEventLogRecords. advapi32/tests: Add some GetOldestEventLogRecord tests. advapi32: Add some input parameter checks to GetOldestEventLogRecord. advapi32/tests: Add some BackupEventLog tests. advapi32: Add some input parameter checks to BackupEventLog. advapi32/tests: Add some ReadEventLogA tests. advapi32/tests: Add some OpenBackupEventLog tests. advapi32: Add some input parameter checks to OpenBackupEventLog. ddraw/tests: Fix a test failure on systems with no DirectDraw7. advapi32/tests: Add some ClearEventLog tests. advapi32: Add a input parameter check to ClearEventLog. advapi32/tests: Add some tests for handling a backup file. advapi32/tests: Fix a test failure on Vista+. advapi32/tests: Run tests on Win9x/WinMe again. kernel32/tests: Fix some test failures on Win9x/WinMe. shell32/tests: Run tests again on NT4. setupapi/tests: Fix some test failures on Win9x/WinMe. comctl32/tests: Remove unused parameter. advapi32/tests: Add tests for reading and writing to a real eventlog. Peter Urbanec (1): winex11: Implement AlphaBlend mode for the case where SourceConstantAlpha is combined with source alpha. Piotr Caban (2): jscript: Fix Error.toString() test. jscript: Throw URIError in encodeURI function. Rico Schüller (35): d3d10: Improve d3d10_variable_type(). d3d10: Add matrix column major parsing. d3d10: Improve parse_fx10_type(). d3d10: Parse local_variables. d3d10: Implement ID3D10Effect::GetVariableByIndex(). d3d10: Improve ID3D10Effect::GetVariableByName(). d3d10: Add ID3D10EffectBlendVariableVtbl. d3d10: Add ID3D10EffectDepthStencilVariableVtbl. d3d10: Add ID3D10EffectRasterizerVariableVtbl. d3d10: Add ID3D10EffectSamplerVariableVtbl. d3d10: Add ID3D10EffectStringVariableVtbl. d3d10: Add ID3D10EffectShaderResourceVariableVtbl. d3d10: Add ID3D10EffectRenderTargetViewVariableVtbl. d3d10: Add ID3D10EffectDepthStencilViewVariableVtbl. d3d10: Add ID3D10EffectShaderVariableVtbl. d3d10: Improve set_variable_vtbl(). d3d10: Fix a HeapFree() in d3d10_effect_Release(). d3d10: Implement ID3D10EffectVariable::AsString(). d3d10: Implement ID3D10EffectVariable::AsShaderResource(). d3d10: Implement ID3D10EffectVariable::AsRenderTargetView(). d3d10: Implement ID3D10EffectVariable::AsDepthStencilView(). d3d10: Implement ID3D10EffectVariable::AsConstantBuffer(). d3d10: Implement ID3D10EffectVariable::AsBlend(). d3d10: Implement ID3D10EffectVariable::AsDepthStencil(). d3d10: Implement ID3D10EffectVariable::AsRasterizer(). d3d10: Implement ID3D10EffectVariable::AsSampler(). d3d10: Implement ID3D10EffectVariable::AsShader(). d3d10: Mark annotation variable as annotation. d3d10: Improve constant buffer stride and size_unpacked calculation. d3d10: Initialize *->buffer for all effect variables. d3d10/tests: Add effect variable type and class test. d3d10/tests: Add IsValid() checks to effect variable type and class test. d3d10/tests: Add GetParentConstantBuffer() checks to effect variable type and class test. d3d10/tests: Add constant buffer stride test. user32: Add argument check for PTITLEBARINFO in GetTitleBarInfo(). Rob Shearman (26): secur32: Output extra data in NTLM sign & seal test to diagnose failures seen on some Windows machines. msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control. winhlp32: Restore the original window proc for the richedit control before freeing the winhelp window memory. advapi32: Implement CheckTokenMembership. msdaps: Implement IDBProperties_GetProperties_Proxy and IDBProperties_GetProperties_Stub. oledb32: Add test for marshalling IDBProperties. Revert "widl: A structure that contains an embedded interface ptr in an array is a BOGUS_STRUCT.". widl: Enhance the IDL grammar to support unnamed arguments to functions. widl: Implement [range] attribute. widl: Check for [string] attribute being applied when the elements are ranged. widl: Rename set_type to declare_var. widl: Implement __int3264 keyword. include: Declare the *_PTR types on top of the __int3264 intrinsic IDL types for widl in basetsd.h. widl: Add support for bit-fields in non-remote structures. widl: Add support for varargs functions. widl: Allow pointers, type-qualifiers and other more complicated constructions in sizeof and cast expressions. advapi32: Fix CheckTokenMembership test on Windows. advapi32: Use a duplicate of the process token if a NULL token is passed into CheckTokenMembership and there is no thread token. rpcrt4: The get_ranged_enum test doesn't work on Windows, so don't execute it for the moment. rpcrt4: Support multiple interfaces and transfer syntaxes in bind and bind ack messages. oledb32: Fix IDBProperties::GetProperties test on Windows. oledb32: Fix style of accessing prgPropertySets in Test_DBProperties_GetProperty. rpcrt4: Stop searching through transfer syntaxes in process_bind_packet when one has been found. rpcrt4: Replace sizeofs with FIELD_OFFSET in RPCRT4_BuildBindNackHeader to avoid relying on ANYSIZE_ARRAY being 1. widl: Include range types in constant BufferLength calculation for server function. Revert "rpcrt4: The get_ranged_enum test doesn't work on Windows, so don't execute it for the moment.". Roderick Colenbrander (6): winex11: Make sure the formats are the same instead of the depths since the bit ordering can be different. winex11: Check format in XRender_GetSrcAreaStretch instead of depth. wgl: Fix a violation of the GLX specs in ConvertAttribWGLtoGLX. winex11: Fix a regression when the same depth was used but in a different bit-ordering. wgl: None of the WGL_render_texture attribute values makes sense for GLX_X_RENDERABLE, so get rid of it. wgl: Make sure we set a valid value for GLX_DRAWABLE_TYPE. Right now we default to 0 which is illegal. Stefan Dösinger (17): wined3d: Use the shader backend reported constant limit outside the shader backend. wined3d: Get rid of the general shader constant limit. wined3d: Use the ARB native constant limit in the GLSL-ARB constants quirk. wined3d: Take native constants into account when reporting ARB limits. wined3d: Remove dead code. wined3d: Use the native constant limit for fitting private constants. wined3d: Add a parameter for SetRenderTarget viewport setup. wined3d: Add a usage flag for vertex buffer optimization. wined3d: Add a usage flag for static buffer declarations. d3d8: Fix device creation error handling. d3d: Handle the pointsize_min default difference in d3d8. d3d8: Read the backbuffer in the visual test. d3d8: Run the visual tests in a window. d3d9: Make the visual test read the backbuffer. d3d9: Run the visual tests in a window. wined3d: Create clip coords only if they are used. d3d9: Abort the x8l8v8u8 test if the format is not supported. Stefan Leichter (1): setupapi: Add stub and some tests for SetupGetInfFileListW. Sunil Mohan Adapa (4): oleaut32: Fix SLTG parser so that dispatch interface can inherit another interface. oleaut32: Fix SLTG parser so that dual interfaces are returned as IDispatch first. oleaut32: Do no check for dispatchable flag on dual interfaces. oleaut32: Update comment about a newly seen value in SLTG TypeLib. Viliam Lejcik (1): kernel32: Fix GetCurrencyFormat grouping. Vincent Povirk (42): ole32: Clarify the timestamp fields in StgProperty. ole32: Rename previous/nextProperty to left/rightChild. ole32: Don't use IEnumSTATSTG to search for elements of storages. ole32: Fix the LEFTCHILD and RIGHTCHILD offset defines. ole32: Don't use IEnumSTATSTGImpl to search for a parent directory entry. ole32: Reduce duplicated code in adjustPropertyChain. ole32: Further simplify adjustPropertyChain and fold in findPlaceholder. ole32: Move the low-level functionality of ReadProperty to a new function. ole32: Move the low-level functionality of WriteProperty to a new function. ole32: Use the raw directory entry functions in getFreeProperty. ole32: Split the data conversion functions out of WriteProperty. ole32: Write the new data in getFreeProperty and rename the function. ole32: Remove directory entries from the tree before we free them. ole32: Convert adjustPropertyChain into real binary tree removal. ole32: Take a StorageBaseImpl in updatePropertyChain. ole32: Rename StorageImpl_CreateStorage to StorageBaseImpl_CreateStorage. ole32: Don't call internal functions from OLECONVERT_GetOLE20FromOLE10. ole32: Don't call internal functions from OLECONVERT_WriteOLE20ToBuffer. ole32: Rename StorageImpl_CopyTo to StorageBaseImpl_CopyTo. ole32: Rename StorageImpl_MoveElementTo to StorageBaseImpl_MoveElementTo. ole32: Rename StorageImpl_DestroyElement to StorageBaseImpl_DestroyElement. ole32: Rename StorageImpl_SetElementTimes to StorageBaseImpl_SetElementTimes. ole32: Rename StorageImpl_SetStateBits to StorageBaseImpl_SetStateBits. ole32: Remove uses of This->base.ancestorStorage in createDirEntry. ole32: Remove uses of This->base.ancestorStorage in removeFromTree. ole32: Add and use a destroyDirEntry function for deleting directory entries. ole32: Adjust updatePropertyChain signature and name to match removeFromTree. ole32: Simplify RenameElement by using the same entry in the file. ole32: Add tests for IStorage_RenameElement. ole32: Remove the term "property type", it's just an STGTY. ole32: Rename the StgProperty structure to DirEntry. ole32: Rename StorageImpl_ReadProperty to StorageImpl_ReadDirEntry. ole32: Rename StorageImpl_WriteProperty to StorageImpl_WriteDirEntry. ole32: Rename StorageUtl_CopyPropertyToSTATSTG. winex11.drv: Allow windows in a virtual desktop to have X focus. winex11.drv: Allow explorer to focus other process windows. winex11.drv: Ignore FocusOut events on virtual desktop windows. ole32: Rename PROPERTY_NULL to DIRENTRY_NULL. ole32: Rename PROPERTY_NAME_*_LEN to DIRENTRY_NAME_*_LEN. ole32: Rename PROPSET_BLOCK_SIZE to RAW_DIRENTRY_SIZE. ole32: Rename dirProperty to dirRootEntry. ole32: Rename PROPERTY_RELATION constants to DIRENTRY_RELATION. Vladimir Pankratov (2): setupapi: Update Russian translation. jscript: Update Russian translation. Yann Droneaud (3): libwine: Test against __linux__ define instead of just linux. loader: Use __asm__ keyword instead of asm. ntdll: Use __asm__ keyword instead of asm in signal_sparc.c. -- Alexandre Julliard julliard@winehq.org