This is release 0.9.50 of Wine, a free implementation of Windows on Unix.
What's new in this release: - Completed I/O completion. - Improved user credentials management, including Mac Keychain support. - More Valgrinding. - 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.50.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-0.9.50.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.49:
Alex Villacís Lasso (6): user32: Fix returned value of LB_DIR. user32: LB_DIR with standalone DDL_DRIVES implies DDL_EXCLUSIVE. user32: DlgDirSelect tacks on a period on filenames without ext. user32: Conformance tests for LB_DIR on listboxes. user32: DlgDirList converts path specification to uppercase. user32: Conformance tests for DlgDirList and DlgDirSelectEx.
Alexander Nicolaysen Sørnes (5): wordpad: Refer to main menu using IDM_MAINMENU. wordpad: Fix print preview bar. wordpad: Move printing functions to a separate file. user32: Change to modern Windows colours. winecfg: Some fixes for Norwegian translation.
Alexandre Julliard (19): oleaut32: Fixed asm proxys to support more than 128 methods. user32: Remove a few traces that only duplicate the relay information. include: Added definition for SEE_MASK_NOASYNC. shell32: Pass some of the ShellExecute flags through InvokeCommand. shell32: Don't wait for the command to terminate in ShellLink_InvokeCommand. winedbg: Print a backtrace in --auto mode. comctl32: Fixed handling of monochrome icons in image lists. wine.inf: Some dlls need to be registered before the others. wine.inf: Register inetcomm.dll. ntdll: Initialize the PEB LoaderLock pointer. ntdll: Send the exit code to the server on failed initialization. ntdll: Unblock signals in process init only after the dlls have been imported. libport: Work around Mac OS execve() breakage. kernel32/tests: Don't crash the test if GetThreadContext fails. winex11.drv: Make sure to erase the dragging frame before moving the window. wsock32: Forward AcceptEx and GetAcceptExSockaddrs to mswsock. server: When merging mouse messages ignore the window if it isn't set. wined3d: Add printf format checking to the shader_addline function and fix resulting warnings. libwine: Work around the Mac OS dynamic loader support for PE files.
Alistair Leslie-Hughes (10): clusapi: Corrected value in GetNodeClusterState. msxml3: Return E_INVALIDARG on bad parameter. msxml3: Enable test for bad argument / fix memory leak. msxml: Allow insertBefore to have a NULL output parameter. msxml: Test for insertBefore with a NULL output parameter. msxml: Added test for get_text. msxml: Always return a string in get_text. msxml: Implement createTextNode. msxml: Tests for createTextNode. urlmon: The callback parameter can be null, check pointer before using.
Anatoly Lyutin (1): msi: Fix invalid SQL query.
Andrew Talbot (12): user32: Constify some variables. user32: Constify a variable. user32: Constify a variable. user32: Constify some variables. user32: Constify some variables. user32: Constify some variables. comctl32: Fix a typo. user32: Fix a typo. comdlg32: Use logical OR not bitwise OR. dinput: Use bitwise NOT not logical NOT. gdi32: Fix a typo. advapi32: Fix a typo.
Andrey Turkin (5): ntdll: Add some I/O completion tests. server: Allow async i/o operations to send completion messages. ws2_32: Make certain winsock functions generate i/o completion messages. ntdll: Make async i/o functions generate completion messages. server: Pass Information field from async I/O APCs.
Aric Stewart (3): winecoreaudio: Implement WIDM_GETPOS. winmm: Correct check for MIXER_GETLINECONTROLSF_ONEBYTYPE in mixerGetLineControlsA. coreaudio: Verify valid lineId in MIXER_GETLINECONTROLSF_ONEBYTYPE.
Bang Jun-young (1): olecli32: Fix invalid syntax.
Dan Kegel (2): advapi32: Fix buffer overrun in tests/registry.c:wine_debugstr_wn(). user32: Implement return value for DdeClientTransaction for XTYP_EXECUTE.
David Adam (27): d3dx8: Implement D3XMatrixInverse. d3dx8: Implement D3XMatrixMultiplyTranspose. d3dx8: Implement D3XMatrixVec3Project. d3dx8: Implement D3DXVec3Unproject. d3dx8: Implement D3DXMatrixAffine Transformation. d3dx8: Implement D3DXPlaneNormalize. d3dx8: Implement D3DXPlaneIntersectLine. d3dx8: Implement D3DXMatrixShadow. d3dx8: Implement D3DXMatrixReflect. d3dx8: Implement D3DXPlaneFromPointNormal. d3dx8: Implement D3DXPlaneFromPoints. d3dx8: Implement D3DXPlaneTransform. d3dx8: Implement D3DXColorAdjustSaturation. d3dx8: Implement D3DXColorAdjustContrast. d3dx8: Implement D3DXQuaternionMultiply. d3dx8: Implement D3DXQuaternionInverse. d3dx8: Implement D3DXQuaternionSlerp. d3dx8: Implement D3DXQuaternionSquad. d3dx8: Implement D3DXQuaternionBaryCentric. d3dx8: Implement D3DXQuaternionToAxisAngle. d3dx8: Implement D3DXQuaternionRotationAxis. d3dx8: Implement D3DXQuaternionRotationMatrix. d3dx8: Implement D3DXQuaternionRotationYawPitchRoll. d3dx8: Implement D3DXQuaternionLn. d3dx8: Implement D3DXQuaternionExp. d3dx8: Implement D3DXMatrixTransformation. include: Header files for d3dx9_xx.
Detlef Riekenberg (2): shell32: Some undocumented defines and functions are now in the PSDK. comctl32: Fix a typo in a debug message.
Divan Burger (3): user32: Fix colours to match exactly with Windows 2000. user32: Change the desktop colour and pattern to match win2k. user32, wine.inf: Enable title bar gradients and match colours with win2k.
Dmitry Timoshkov (5): winex11.drv: Get rid of unused variables. server: Make timer id allocation algorithm conform to the Windows one. kernel32: Set last error to ERROR_ALREADY_EXISTS if CreateFile succeeds and file existed before for CREATE_ALWAYS and OPEN_ALWAYS. kernel32: Mask out FILE_ATTRIBUTE_NOT_CONTENT_INDEXED to prevent a test failure under Windows. winex11.drv: Use display device guid managed by explorer.
EA Durbin (4): kernel32: Add stub implementation of GetConsoleInputExeNameA. kernel32: Add stub implementation of GetConsoleInputExeNameW. kernel32: Add stub implementation of GetConsoleKeyboardLayoutNameA. kernel32: Add stub for GetConsoleKeyboardLayoutNameW.
Francois Gouget (17): wined3d: Add trailing '\n's to two shader_addline() calls. ntoskrnl: Remove trailing spaces in Wine traces. acledit: Add wfext.h. d3dx8: Make d3dx8math.h C++ compatible. rpcrt4: Add an API documentation stub to make winapi_check happy. cfgmgr32: Flesh out cfgmgr32.h a bit more and fix the corresponding functions. ctapi32: Use quotes to include our headers. Fixes winapi_check warnings. user32/tests/msg: Don't mess up lParam as it is passed on to DefWindowProcA(). advpack: Skip some tests if not in interactive mode because they pop up dialogs. rpcrt4: Add some missing prototypes and better match the PSDK types. kernel32/tests: Fix a signed/unsigned warning. winex11: Add the trailing '\n' to a Wine trace. d3d9/tests: Fix the trailing '\n' in an ok() call. user32/tests: Add the trailing '\n' to an ok() call. ntdll/tests: Fix compilation on systems that don't support nameless unions. crypt32/tests: Get the tests running on Windows 98. d3dx8/tests: Fix compilation on systems that don't support nameless unions.
Gerald Pfeifer (21): ws2_32/tests: Fix error checking. comctl32: Remove check which never triggers. taskmgr: Move out-of-domain checking into PerfDataGetProcessorUsage() and PerfDataGetProcessorSystemUsage(). winedbg: Fix type of loop variable in types_udt_find_element(). rsaenh/tests: Fix const-ness of parameters to printBytes(). configure: Fix typos in warning messages. advapi32: Remove untriggerable check. user32: Fix variable type in SCROLL_HandleScrollEvent(). Remove useless check in SCROLL_SetScrollInfo(). oleaut32: Simplify two conditions based on the fact that unsigned variables cannot be negative. oleaut32: Simplify two conditions based on the fact that unsigned variables cannot be negative. ntdll: Simplify condition in RtlGetAce() based on variable (un)signedness. netapi32: Remove one tests and simplify another based on the limited range of unsigned. winedos: Use DWORD instead of long for return values of SetFilePointer. itss: Avoid checking an unsigned value for < 0. wined3d: Rewrite condition in vshader_program_add_param() to actually distinguish between two cases. inetcomm: Fix error check in InternetTransport_Connect(). ntdll: Fix computation in enumerate_key(). kernel32: Handle default case in Local32_FromHandle(). winedbg: Warning fixes. user32: Reduce scope of variable in ICO_ExtractIconExW() and initialize it. gdi32: Fix the type of two loop variables.
Hans Leidekker (8): pdh: Make two tests pass on Vista. snmpapi: Make a test pass on Vista. wininet: Fix two handle leaks in the test. kernel32: Loosen requirements on what QueryDosDevice returns. wininet: Fix a number of problems with InternetSetCookie. wininet: Fix a number of problems with InternetGetCookie. wininet: Initialize path buffer in InternetSetCookie. kernel32: Add stub implementations for FindFirstVolume{A, W}.
Huw Davies (12): inetcomm: Register a couple more classes. inetcomm: Add a stub MimeBody implementation. inetcomm: Add a class factory for MimeBody. inetcomm: Add a test for MimeBody. msxml3: Don't leak an interface on failure. inetcomm: Copy RFC822 headers into a memory block for later parsing. inetcomm: Parse headers into a list. inetcomm: Unfold headers. inetcomm: Store a header's parameters as a list. inetcomm: Implement IMimeBody:IsContentType. inetcomm: Implement IMimeBody:[G|S]etCurrentEncoding. inetcomm: Implement IMimeBody:SetData.
Jacek Caban (34): mshtml: Reset focus after loading the page in edit mode. mshtml: Remove nsIWebBrowserFocus_Activate useless call. hlink.idl: Added Hlink[Get|Set]SpecialReference declaration. shlwapi: Added SHPackDispParamsV implementation. shlwapi: Added SHPackDispParams implementation. shlwapi: Added SHPackDispParams test. shlwapi: Reimplement IUnknown_CPContainerInvokeParam on top of SHPackDispParams. shlwapi: Fixed SHPackDispParamsV spec declaration. hlink: Added HlinkGetSpecialReference implementation. include: Added isguids.h. shdocvw: Register CLSID_InternetShortcut. shdocvw: Set default home and search page. mshtml: Fixed handling channels without container and necko channel. shdocvw: Added WebBrowser::get_Application implementation. shdocvw: Return correct error from WebBrowser::Quit. mshtml: Move IOleInPlaceFrame::SetActiveObject call to separated function. mshtml: Use call_set_active_object in exec_editmode. mshtml: Always initialize output in exec_fontname. mshtml: Reload page in exec_editmode if available. mshtml: Added more loading tests. mshtml: Change FIXME that is usually invalid to TRACE. hlink: Added HlinkUpdateStackItem stub. hlink: Move common includes and function declarations to header file. hlink: Wrap heap functions. hlink: Added HlinkCreateExtensionServices implementation. hlink: Added HlinkCreateExtensionServices tests. urlmon: Wrap heap functions. mshtml: Store nsIDOMCSSStyleSheet in HTMLStyleSheet object if available. mshtml: Added IHTMLStyleSheetsCollection::item implementation. mshtml: Added IOleCommandTarget implementation to HTMLTxtRange. kernel32: Terminate child process in virtual tests. shdocvw: Silence common invalid QueryInterface FIXMEs. mshtml.idl: Added IHTMLTable declaration. mshtml: Added IHTMLTable interface stub implementation.
James Hawkins (25): msi: Test the default tables added by MsiOpenDatabase. msi: Create the _Tables table when creating a database. msi: Return a remote interface to the database in a custom action. msi: Delete the uninstall key when the product is removed. msi: Test the Uninstall registry entries. msi: Implement the VolumeSelectCombo control. msi: Set the file to NULL when running the directory search. msi: Fix the condition for checking a drive. msi: Simplify ready_media. msi: Add tests for situations involving missing cabinets. msi: Only check the presence of the cabinet if the file is compressed. msi: Don't ignore the error returned by ready_media. msi: Don't check for a cabinet's existence if it's embedded in the package. msi: Check the cabinet's full path for existence, not just the cabinet name. msi: Add tests for MsiGetFileHash and clean up the existing tests. msi: Verify the szFilePath parameter of MsiGetFileHash. msi: Set the file contents of the file hash test file explicitly. msi: Check the destination file's hash and skip that file if the hash matches. msi: Only check the volume label if it's different than the first media's volume label. msi: Downgrade a FIXME to a WARN. msi: Downgrade an ERR to a WARN. msi: Fix the condition of a FIXME. msi: Downgrade an ERR to a WARN. msi: Make sure attr is valid before checking for the directory bit. msi: Don't check for the media or cabinet if the cabinet is internal.
Jonathan Ernst (12): shell32: Updated French translation. cmd: Updated French translation. regedit: Updated French translation. credui: Updated French translation. localui: Updated French translation. net: Updated French translation. xcopy: Updated French translation. avifil32: Updated French translation. wine.desktop: Updated French translation. wordpad: Updated French translation. cmd: Updated French translation. credui: Updated French translation.
José Manuel Ferrer Ortiz (1): winefile: Spanish resource file updated.
Juan Lang (32): rsaenh: Check pad bytes for consistency when decrypting. iphlpapi: Default to a default gateway when choosing the best route. iphlpapi: Don't override return value from getTcpTable. iphlpapi: Don't allocate gobs of memory when the TCP entry table is empty. iphlpapi: Don't allocate gobs of memory when the route table is empty. iphlpapi: Don't allocate gobs of memory when the ARP table is empty. iphlpapi: Don't allocate gobs of memory if the UDP table is empty. iphlpapi: Don't allocate gobs of memory if interface table is empty. iphlpapi: Don't allocate gobs of memory if the IP address table is empty. iphlpapi: Don't allocate gobs of memory if there are no non-loopback interfaces. iphlpapi: Avoid HEAP_ZERO_MEMORY where it isn't needed. iphlpapi: Correct copy/paste error in GetTcpTable. iphlpapi: Correct confusing indentation in GetTcpTable. shell32: Dynamically allocate buffer for command parameters. shell32: Use a helper function for executing a class. shell32: Use helper function to translate ID list. shell32: Dynamically allocate directory buffer. shell32: Use a helper function for executing a found executable. shell32: Dynamically allocate buffer for quoted command. shell32: Don't overwrite the caller's buffer when doing a dde connection. shell32: Constify some parameters. shell32: Dynamically allocate buffer for command. shell32: Use helper function to execute a URL. shell32: Dynamically allocate memory for executing an URL. shell32: Use more restricted registry rights when quering values. shell32: Remove a bad comment. crypt32: Implement finding an existing certificate in a store. crypt32: Add CERT_STORE_ADD_NEWER support to CertAddCertificateContextToStore. rsaenh: Empty container names are allowed for CRYPT_VERIFYCONTEXT contexts. wincrypt.h: Add values for KP_PADDING key param. crypt32: Support getting and setting the KP_PADDING key param. crypt32: Support setting the salt value through KP_SALT_EX.
Kai Blin (1): ws2_32: Cope with buggy apps passing setsockopt optval as a value instead of a pointer.
Kirill K. Smirnov (1): wineconsole: Do not show "Apply" button - it is not used anyway.
Lauris Kaplinski (1): wined3d: Fixed potential reference of freed backBuffer array in IWineD3DDeviceImpl_SetFrontBackBuffers.
Lei Zhang (4): shell32: rename My Video to My Videos. shell32: Don't crash if $HOME is not set. shell32: Perform copy in UnixFolder_ISFHelper_CopyItems. shell32: Only notify immediate parent.
Lionel Debroux (4): msvcrt: Fix memory leak (found by Smatch). ntdll: Trace arena magics (may help debugging some heap corruptions). msvcrt: Fix _Aligned_offset_realloc (move correct block of memory); add a comment to explain why. msvcrt: Test more offsets for _aligned_offset_realloc (especially offset > alignment).
Louis Lenders (1): advapi32: Add stub for CreateProcessWithLogonW.
Maarten Lankhorst (4): dsound: Implement AngleBetweenVectorsDeg as a call to AngleBetweenVectorsRad. dsound: Make AngleBetweenVectorsRad when vectors have no magnitude. dsound: Reassign pointers back to null when destroying structure. dsound: Return primary_done when no mixing needs to be done instead of 0.
Marco Schuster (1): wined3d: Added a card ID for a 8600 Mobile GT.
Marcus Meissner (1): shell32: GetModuleFileNameW gets number of WCHARs not bytes.
Michael Stefaniuc (17): msvcrt/tests: Remove redundant NULL check before free(). Found by Smatch. netapi32: Remove redundant NULL check before HeapFree(). Found by Smatch. localspl/tests: Use ANSI function declarations. shell32: Fix a mem leak on an error path. Found by Smatch. qcap: Fix a mem leak on an error path. Found by Smatch. quartz: Fix memory leaks on error paths. Found by Smatch. comdlg32: Remove duplicate includes. ntdll: Remove duplicate includes. kernel32: Remove duplicate includes. setupapi: Remove duplicate includes. dlls: Remove duplicate includes. tools: Remove duplicate includes. wininet/tests: Do not compare the return value of socket() with 0. Use INVALID_SOCKET instead. rpcrt4: socket() returns -1 on error so check the return value against that. shdocvw: Rename the wrappers around HeapAlloc() &Co to use the new standard naming. dnsapi: Rename the wrappers around HeapAlloc() &Co to use the new standard naming. urlmon: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.
Misha Koshelev (6): urlmon: Release IInternetProtocolSink and BindInfo on request handle closure, not on first handle closure. urlmon: Fix PROTOCOLDATA message passing in IInternetProtocolSink interface of Binding. msi: automation: Fix automation object reference counts when objects are created. msi/tests: Close opened service handles. msi/tests: automation: Add missing VariantClear. msi: automation: Fix ITypeInfo leak.
Patrick Moran (1): msiexec: Fix atou() return value mistake.
Paul Millar (1): libwine: Fix naked getuid() to allow compilation under MinGW.
Paul Vriens (3): dsound/tests: Fix tests after addition of 24/32 bits buffer tests. dsound/tests: Fix test failures on WinXP. dsound/tests: Better check to see if class is not available.
Peter Beutner (2): ntdll: Don't try to handle kill(SIGTRAP). ntdll: Better trap exception handling.
Rob Shearman (85): ole32: Add a missing IStream_Release to test_CoMarshalInterThreadInterfaceInStream. ole32: Add a missing IStream_Release to test_same_apartment_unmarshal_failure. ole32: Fix memory leak in ItemMonikerImpl_Save. ole32: Add a missing IMoniker_Release to test_MkParseDisplayName. ole32: Store the InterfaceList object in the IEnumMoniker object. ole32: Fix a memory leak in get_moniker_comparison_data. ole32: Fix a leak of the IBindCtx object in FileMonikerImpl_IsEqual. ole32: Fix a memory leak of moniker in RunningObjectTableImpl_Register. ole32: Fix a memory leak in DataCacheEntry_Save. ole32: Fix a leak of a moniker object in test_default_handler. ole32: Initialise data_cf in DataCacheEntry's to zero to indicate no data present on creation. ole32: Free the memory associated with the open DLL list on unloading of ole32. shell32: Fix the length calculation of the pidl in ILSaveToStream by using the helper function ILGetSize. shell32: Fix a memory leak in Stream_WriteLocationInfo. ole32: Disconnect the IRemUnknown stub buffer before destroying it to release the reference on the IRemUnknown object. oleaut32: Handle non-byref safe arrays in VARIANT_UserFree. server: In set_user_object_info len is in bytes, not WCHARs. ntdll: Initialise the part of the buffer to be written to a file in the file test. kernel32: Implement GetThreadId. ole32: Fail before constructing an object in CreateStreamOnHGlobal to avoid a memory leak. ole32: Release the stream in COM_RevokeRegisteredClassObject. ole32: Fix a memory leak in the HGLOBAL stream tests by telling CreateStreamOnHGlobal to free the memory it allocates, as we don't free it ourselves in this test. ole32: Fix the condition in HMETAFILEPICT_UserFree to match that in METAFILEPICT_UserMarshal. ole32: Use asynchronous I/O for the named pipe server for local servers. ole32: Wait forever on the ready_event in the local server tests. rpcrt4: Implement RpcCancelThread for the ncacn_ip_tcp protocol sequence. ole32: Validate the parameters to DataCache_Cache. ole32: Release the correct pointer in test_MkParseDisplayName. rpcrt4: Fix a copy and paste mistake in declaring threaddata_cs_debug. msxml3: Fix some memory leaks of name in test_xmldoc. msxml3: Don't leak node in xmldoc_createElement in the wrong type was specified. ole32: Intialise some out parameters in ProxyCliSec_QueryBlanket. mapi32: Add a stub for DllGetClassObject. include: Add definitions used for AllowSetForegroundWindow and LockSetForegroundWindow. credui: Add support for saving the credentials input using CredUIPromptForCredentials by calling CredWriteW. credui: Split CredDialogProc out into separate functions. credui: Increase the dropped-down size of the username combo box. credui: Enumerate saved credentials and use these to populate the combo box. credui: Check for and don't add duplicates when filling the username combo box. credui: Ensure that the foreground window doesn't get changed while the user is typing in their password. credui: Make sure not to leave the password in memory when no longer in use. shell32: Add a stub for LinkWindow_RegisterClass. shell32: Add a stub for LinkWindow_UnregisterClass. rpcrt4: Hold the thread-data's critical section while cancelling a call. credui: Override the default banner if the caller specifies one to CredUIPromptForCredentialsW. comctl32: Unify the implementation of TOOLTIPS_Show and TOOLTIPS_TrackShow to give tracked tooltips balloon support. comctl32: Fix the tooltips behaviour when TTF_ABSOLUTE isn't specified. comctl32: Forward the WM_GETTEXTLENGTH message from ComboEx controls to its edit control. explorer: Add a fixme to show when applications are trying to show a balloon tip in the taskbar notification area. urlmon: Fix a reference count leak in RegisterBindStatusCallback. credui: Show a balloon tip in the credential dialog if CREDUI_FLAGS_INCORRECT_PASSWORD was specified. credui: Display a warning balloon if the user has Caps Lock on. server: Change the get_dll_info server request to allow retrieving the image file name of a process. server: Fix a typo in the enumeration of the ACE's in sd_to_mode. server: Fix incorrect translation of the World SID to and from Unix file permissions. rpcrt4: Raise an exception if a NULL ref-pointer is passed in to PointerMarshall or PointerBufferSize. ole32: Fix a race in find_proxy_manager. comctl32: Update the version in the created version to the highest current version present on XP. ntdll: Shared manifests should have a less-strict version check performed when loading them as dependencies. kernel32: Change the shared manifest test to depend on a build number that isn't currently published on at least XP, showing that assemblies with higher build numbers can be used. advapi32: Move credential registry reading code to separate functions. advapi32: Fix a typo in CredEnumerateW. ole32: Store the dispatch parameters in the message state structure to allow them to be initialised earlier in the sequence of IRpcChannelBuffer calls. ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails. ole32: Add tests for WdtpInterfacePointer_* functions. advapi32: Add support for using the Mac Keychain services as a backend for the credential functions instead of the registry. credui: Fix a test failure on Windows XP. rpcrt4: Fix the tests for up_enum16. wininet: Don't clear the auth data for Basic authentication in HTTP_InsertAuthorizationForHeader. oleaut32: Free the correct custom data inside ITypeInfo_fnRelease. oleaut32: Introduce a new helper function, TLB_FreeCustData, for freeing custom data. oleaut32: Handle integer overflow of len in SysReAllocStringLen and SysAllocStringByteLen. advapi32: Use the open_for_write parameter to open_cred_mgr_key and fix get_cred_mgr_encryption_key to not need KEY_WRITE access to the key passed in. advapi32: Make the credential registry key stay around if a persist value longer than session is specified. rpcrt4: Check for integer overflows when increasing the buffer length. rpcrt4: Check there is enough space in the buffer and that the size doesn't cause an overflow when copying data to it. rpcrt4: Fix some more potential buffer overflows. rpcrt4: Fix an integer overflow in NdrConformantStructMarshall and NdrConformantStructUnmarshall. ole32: Fix description of what is being test in ok calls in the WdtpInterfacePointer tests. ole32: Fix a test in the WdtpInterfacePointer tests. rpcrt4: Errors in sending or receiving packets should result in RPC_S_CALL_FAILED being returned, not RPC_S_PROTOCOL_ERROR. rpcrt4: EmbeddedPointerUnmarshall doesn't need to change the address of the allocated memory, so reduce the level of indirection of the memory parameter by one. rpcrt4: Move forcing of fMustAlloc to NULL to the callers of EmbeddedPointerUnmarshall. rpcrt4: Improve PointerUnmarshall to cope with keeping the non-NULL source pointer of a client unmarshall. rpcrt4: Fix NdrSimpleStructUnmarshall to cope with [in, out] embedded pointers.
Roderick Colenbrander (3): wined3d: Flush GL calls after drawing to the drawable. This fixes apps that use multiple GL contexts. wined3d: Prevent unneeded context switches. wgl: Add wglCopyContext support.
Stefan Dösinger (51): wined3d: Align the gl function table. wined3d: Load extension functions after finding the supported extensions. wined3d: Extend the gl extension function loading table with ext info. wined3d: Load GL functions from core if needed. wined3d: Mark extensions supported which are included in the gl core. wined3d: Load GL_EXT_texture3D from gl 1.2 if the extension is not there. wined3d: Hardcode local constants into the shader if possible. wined3d: Get rid of a few Nvidiaisms in glsl shaders. wined3d: Partially revert "Get rid of the conditionals in shader_glsl". wined3d: Depth stencil fixes. wined3d: Read the framebuffer size from the surface, not the window. wined3d: Apply matrices when switching from transformed vertices to shaders. wined3d: Non power of two texture fixes. wined3d: Fix ATI video memory detection typo. wined3d: Do not call PreLoad in surface_download_data. wined3d: Remove a hack that slipped in. wined3d: Destroy GL contexts before changing the screen resolution. msvcrt: Implement strcpy_s. msvcrt: Implement strcat_s. msvcrt: Implement _mbsnbcpy_s. d3d8: Release the vertex declarations array when destroying the device. wined3d: Move IUnknown functions to IWineD3DBaseShader. wined3d: Free the shader function when freeing the shader. wined3d: Use standard wine lists for the resource list. d3d8: Destroy the window after the visual test. d3d9: Free the converted declaration data after creating the declaration. wined3d: Do not cap fragment samplers to 8. wined3d: Move destroying the glsl vshader into a separate function. wined3d: Move glsl shader destruction to the glsl shader backend. wined3d: Track vertex declaration changes on vertex shaders. wined3d: Bool constants aren't vectors. d3d9: Add a test for vertex shader input matching. wined3d: Make SRGB write correction working with 1.x shaders in arb. wined3d: Fog is applied after sRGB correction. wined3d: Downgrade an ERR to a WARN. wined3d: Correctly handle the y offset with offscreen rendering. wined3d: Inform the texture about filtering changes. wined3d: Work around nvidia beta driver bug. wined3d: Add some missing checkGLcall calls. wined3d: Do not try to disable unsupported texture units. wined3d: Report some more geforce 7 cards as geforce 7. wined3d: Allow using a different internal format for fbos. wined3d: Fix a sign mistake in the code creating the sorted attrib. wined3d: Disable GL_TEXTURE_2D in the standard blit setup. wined3d: Avoid hardcoding GL_TEXTURE_2D. wined3d: Add GL_ARB_texture_rectangles to our opengl extensions. wined3d: Make the code aware of GL_ARB_texture_rectangle. wined3d: Refuse to create a mipmapped conditional np2 texture. wined3d: Activate GL_ARB_texture_rectangle. wined3d: Remove the X channel fixup in render target unlocking. user32: Destroying the current cursor results in an error.
Stefan Leichter (2): d3dx8: Add WINAPI to the prototypes of D3DXMatrixTransformation. kernel32: Added stub for FindVolumeClose.
Sven Paschukat (1): ctapi32: Added null terminator to library name.
Thomas Weidenmueller (1): comctl32: Fix handling of CB_RESETCONTENT in ComboBoxEx.
Tony Wasserka (7): d3dx8: Implement the C++ stuff of the D3DXVECTOR2 structure. d3dx8: Implement the C++ stuff of the D3DXVECTOR3 structure. d3dx8: Implement the C++ stuff of the D3DXVECTOR4 structure. d3dx8: Implement the C++ stuff of the D3DXMATRIX structure. d3dx8: Implement the C++ stuff of the D3DXQUATERNION structure. d3dx8: Implement the C++ stuff of the D3DXPLANE structure. d3dx8: Implement the C++ stuff of the D3DXCOLOR structure.
Vijay Kiran Kamuju (4): rsaenh: Add a few more tests which check the decryption strings. rsaenh: Add tests for RSA_AES provider. rsaenh: Add implementation of Enhanced RSA AES Provider. include: Add missing definitions for DSS in wincrypt.h.
Vitaliy Margolen (1): dinput: Fix dead zone handling.
-- Alexandre Julliard julliard@winehq.org