Wine Announcement

The Wine development release 1.1.35 is now available. What's new in this release (see below for details): - Support for OLE transacted storage. - Better certificate checking on secure connections. - More progress on the 16-bit separation. - Left 4 Dead 2 DRM really supported now. - MSI performance improvements. - 64-bit fixes in debugger support. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.35.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.35.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.35: 5908 Ability Office 4 doesn't start up? 6930 TortoiseSVN fails to install 8394 IMVU 3D Instant Messenger not visible in wine's uninstaller 8895 Circuit Design Suite 10 fails to install 9535 WinPCap 4.0.1 installer does not run at all 10950 Colin McRae Rally 04: picture shifted down by ~1/4 of height 12014 Ability installer crashes in crypt32 12418 parent window getting closed instead of a tool window in KDE 13393 closing one virtual desktop closes other(s) 14378 Issues with maps and character portrait in Morrowind 14390 Gmax 1.2: Fatal Error on Install - Ended Prematurely. 14465 NdrClientCall2 is unaware of comm_status and fault_status variables 14536 FLSynthmaker crashes FL Studio 14995 wined3d regression results in broken rendering for Age of Empires II 15176 Assassin's Creed Install crashes 15278 ApexDC++ cannot connect to users 15624 poivy crashes 15638 Adobe Photoshop CS4 installer crashes on unimplemented GetProductInfo if run in Vista mode 15711 GetHostName and GetHostByName 15940 Ethnic Cleansing crashes: mpegsplit.c assertion 16244 Installer of Age of Empires 3 crashes 16299 IMVU 3D Instant Messenger installer crashes 17666 WinARM make crashes 17911 Gothic 3: Stripe on the right part of the screen is not updated in high resolutions 18120 No text in Qt-4.5.0 and later apps when winver >= 2000 18574 Win92 Radio Scanner does not start 18648 Error unimplemented function snmpapi.dll on start bginfo program 18753 wineboot --shutdown does not close running programs 18786 Minitab doesn't run anymore 19483 crash when launching zattoo 19802 SiSoftware Sandra 2009.SP4 unhandled exception 19898 WinMX: crashes instantly upon start 20013 Exchange Server 2007 fails to start 20224 dlls/d3dx9_36/tests/math.C: Test failed: Expected matrix 20281 Adobe Photoshop CS4 installer unusable 20397 Eclipse (Europa) Welcome window is empty 20492 Adobe CS4 installer hangs in memory and has to be killed 20522 Graphic Glitcheson Game Maker games 20653 Warcraft 3 freezes after successful login into Battle.net 20684 Memory leak in CryptGenKey/CryptDestroyKey? 20727 Characters in Sacred Underworld invisible 20742 Sorted list view control always inserts at the end 20806 Civilization II crashes on startup 20823 Trackmania Nations Forever: really loud crackling / no sound 20850 Write buffer overflow in WidenPath() 20851 Read buffer overflow in CombineRgn, triggered by user32 and imm32 tests 20898 Rayman 2: wine does not render "transparent color" 20913 Multiple games crash on start 20920 Read buffer overflow in StorageImpl_Construct in many msi tests 20923 Crash in mshtml/tests/events.c when run under valgrind 20941 3DMark 2001SE crash on start 20943 Red Alert 3 fails to start 20944 Civilization IV Beyond the Sword crashes after the loading splash screen. 20949 Native d3dx9_27.dll causes crash on save load 20960 Textures missing in demoscene's demo fr-041_debris 20963 CIV4(BTS)/steam crashes at launch after upgrade wine1.2 1.1.33-0ubuntu1~ppa1 to 1.1.34-0ubuntu1 20978 Quicktime 7.1.6.200 installer fails 20991 EnumRfc1766_create return values 20992 Invalid free in oleaut32 / vartype tests in test_VarBstrFromDate 20995 Crysis Demo does not start 20999 installations that were fast in 1.1.34 are very slow now due to ole32 storage changes 21021 F1 Challenge 2007 crash 21044 Platform SDK 2003 install fails? 21045 Memory leak in SECUR32_addPackages ---------------------------------------------------------------- Changes since 1.1.34: Alexander Nicolaysen Sørnes (4): appwiz.cpl: Update Norwegian Bokmål translation. winecfg: Update Norwegian Bokmål translation. oleacc: Add Norwegian Bokmål translation. winedbg: Add Norwegian Bokmål translation. Alexandre Julliard (91): wineps.drv: Add a wrapper function for WriteSpool16. wineps.drv: Duplicate the print job support from 16-bit GDI. wineps.drv: Don't include 16-bit headers in psdrv.h. gdi32: Stop exporting the 16-bit print job functions. gdi32: Make gdi.exe into a stand-alone 16-bit module. gdi32: Don't include wingdi16.h by default. gdi32: Avoid use of some 16-bit types. aclocal.m4: Perform a more exhaustive search of the possible naming combinations for Mingw tools. ntdll: Get rid of a line break in a trace. server: Improve parameter checks when opening a directory. ntdll/tests: Add tests for open directories with NtCreateFile and strange options. ole32: Fix some pointer cast warnings on 64-bit. uxtheme: Fix some pointer cast warnings on 64-bit. d3d8/tests: Fix some pointer cast warnings on 64-bit. d3d9/tests: Fix some pointer cast warnings on 64-bit. msvcrt/tests: Fix the signal handler calling convention. crypt32/tests: Avoid size_t in traces. shlwapi/tests: Avoid size_t in traces. ntdll/tests: Avoid size_t in traces. winex11: Fix a compiler warning. winedbg: Use the explicit name for all A/W function. cmd: Use the explicit name for all A/W function. net: Use the explicit name for all A/W function. clock: Convert to Unicode. ntdll: Search the whole filesystem under the starting directory when opening files by id. winedbg: Fix a number of 64-bit pointer truncation issues. dbghelp: Moved addr_to_linear() to stack.c. dbghelp: Fix an invalid pointer cast. include: Remove useless definitions for nonexistent Win16 messages. server: Simplify computation of file modes from the security descriptor. msi/tests: Fix a handle leak. user32: Add a thunking mechanism for 16-bit edit word break procedures. user32: Split the code that deals with the 16-bit edit buffer handle to separate functions. user32: Store the 16-bit edit handle directly in the window extra bytes. user32: Split the handling of the 16-bit messages out of the edit winproc. user32: Split the handling of the 16-bit messages out of the button winproc. user32: Split the handling of the 16-bit messages out of the combo winproc. user32: Split the handling of the 16-bit messages out of the listbox winproc. user32: Split the handling of the 16-bit messages out of the scrollbar winproc. user32: Split the handling of the 16-bit messages out of the static winproc. user32: Move SystemParametersInfo16 to user16.c. user32: Remove the no longer used WINPROC_CallDlgProc16 function. user32: Move Get/SetWindowLong16 implementation to wnd16.c. gdiplus/tests: Fix parentheses in the expect() macro. winex11: Make GetKeyboardLayoutName() use the same default layout as GetKeyboardLayout(). user32: Return failure in WaitForInputIdle if we can't open the idle event. user32/tests: Add a number of tests for WaitForInputIdle. user32: Implement UserRegisterWowHandlers function and add a handler for the button winproc. user32: Turn the combobox winproc into a Wow handler. user32: Turn the listbox winproc into a Wow handler. user32: Turn the edit winproc into a Wow handler. user32: Turn the scrollbar winproc into a Wow handler. user32: Turn the static winproc into a Wow handler. user32: Add 16-bit translation for parameters of the WM_H/VSCROLL edit messages. user32: Move more 16-bit winproc functions inside the i386 ifdef. user32: Store the 16-bit winproc in a different array from the 32-bit A/W ones. user32: Move 16-bit winproc functions to msg16.c. user32: Move the 16-bit message mapping functions to msg16.c. user32/tests: Fix a number of message test failures on various Windows boxes. user32: Add a Wow handler for the mdi client class. user32/tests: Always reset events when starting a WaitForInputIdle test. server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit. server: Don't reset the idle event when the client stops waiting. server: Any thread can set the idle event, don't treat the first one differently. server: Don't set the idle event when waiting for a message reply. server: Set the idle event when retrieving a timer message. user32: Pre-allocate the window procedure for the button class. user32: Pre-allocate the window procedure for the combobox class. user32: Pre-allocate the window procedure for the edit class. user32: Get rid of the EDIT_winproc_handle variable. user32: Pre-allocate the window procedure for the listbox class. user32: Pre-allocate the window procedure for the scrollbar class. user32: Pre-allocate the window procedure for the static class. user32: Pre-allocate the window procedure for the dialog class. user32: Pre-allocate the window procedure for the MDI client class. user32: Pre-allocate the window procedure for DefWindowProc. mapi32: Fix a heap buffer overflow. user32: Move 16-bit instance normalization to CreateWindowEx16. user32: Move loading of the 16-bit window menu to CreateWindowEx16. user32: Use W structures in window creation code. user32: Move 16-bit window creation functions to 16-bit files. user32: Move the 16-bit menu functions to user16.c. user32: Move EnumProps16 to wnd16.c. user32: Pre-allocate the window procedure for the desktop class. user32: Pre-allocate the window procedure for the icon title class. user32: Pre-allocate the window procedure for the menu class. user32: Pre-allocate the window procedure for the message class. user32: Simplify window procedure allocation for the builtin classes. user32: Make WINPROC_AllocProc take a unicode flag for consistency with the other winproc functions. user32: Move wsprintf16 to user16.c. progman: Don't try to access the internals of an icon object. Alistair Leslie-Hughes (2): shdocvw: Fix test for non-english IE MUI. mshtml: Implement IHTMLImgElement get_Name. Amine Khaldi (6): crypt32: Remove unneeded assignments. crypt32: Remove an unneeded assignment. cryptdlg: Remove an unused variable. inetcomm: Remove an unneeded variable. mciseq: Remove unneeded assignments. mapi32: Remove an unneeded assignment. Andrew Eikum (5): mshtml: Store ns[i]frame reference in HTMLFrameBase. mshtml: Implement IHTMLFrameBase::{get,put}_scrolling. mshtml: Implement IHTMLWindow2::{get,put}_onresize. mshtml: Implement IHTMLFrameBase::get_name. mshtml: Search content_window's properties in HTML[I]FrameBase::get_dispid. Andrew Nguyen (2): dxdiagn: Initialize a structure size member before calling EnumDisplayDevicesW. clusapi: Don't trace the contents of output pointers. André Hentschel (4): xcopy: Fix time acronyms in German translation. gdi32/tests: Also test non-style suffix. msvcrtd: Remove unnecessary trace output. mapi32: Add German resource. Aric Stewart (9): mpr: Initialize handle to NULL on ERROR_NO_NETWORK case in WNetOpenEnum. shlwapi: Rename ConnectToConnectionPoint bAdviseOnly to fConnect as MSDN. shlwapi: Failure in IConnectionPoint_GetConnectionInterface does not prevent Invoking. shlwapi: DISPPARAMS on Invoke are never NULL. shlwapi: Release rgcd.pUnk returned by enumeration. shlwapi/tests: Testing framework and IConnection point tests. shlwapi: Ordinal 196 is SHVerbExistsNA not DnsRecordSetCompare. shlwapi: Beginning implementation of IUnknown_QueryServiceForWebBrowserApp. shlwapi: Implement SHPropertyBag_ReadLONG. Aurimas Fišeras (1): mapi32: Add Lithunian translation. Ben Peddell (1): server: Include user groups in file mode calculation when user is file owner. Chris Schafer (1): msi/tests: Remove some barriers to running msi tests in parallel. David Adam (1): d3dx9/tests: Check a relative error instead of an absolute error. Eric Pouech (25): winedump: Rewrote a bit the COFF symbol table stuff. winedump: Dump PE symbols table if any. dbghelp: For mingw32 (stabs debug info), parse the FileHeader's symbol table to offset properly the global variables. dbghelp: Make the module enumeration process compatible with 64bit platforms. dbghelp: Fix a couple of casts on 64bit platforms. dbghelp: Rewrote the SymRegisterCallback function so that they work on a 64bit platform. dbghelp: Add ELF support but for the current 32 vs 64 bit architecture. dbghelp: Don't return error when validating a 64bit wide address on a 64bit platform. dbghelp: Enforce using 64bit integers for module's address and size. dbghelp: A couple of fixes for dwarf2 support on a 64bit platform. winedbg: Enforce 64bit modules address on 64bit platforms. winedbg: Ensure all addresses passed to break functions are 64bit wide. dbghelp: Force 64bit module enumeration on all platforms. winedbg: Added a couple of tweaks to properly support 32bit vs 64bit wide addresses. winedbg: For the x86_64 backend, fetch all the integral types. winedbg: Force 64bit line number information throughout the code to ease 64bit portability. winedbg: Fix some types for homogenous support on 64bit platform. winedbg: Allow internal (host) integral variables to hold 64bit value on 64bit platforms. winedbg: Added 'a' to the format supported in examine command (a stands for address). dbghelp: Fix module on which GetTypeFromName is done. dbghelp: Wrap the symt* <=> index transformations. dbghelp: Rewrite the symt* <=> index wrappers to that they work on 64bit platforms. winedbg: Implement breakpoint management for x86_64 targets. dbghelp: Fix symt_find_nearest so that it searches for 64bit addresses on 64bit platforms. dbghelp: Move the core of some line related functions to 64bit interface. Eric van Beurden (2): dbghelp: Fix a minidump crash by using the correct variable. usp10: Change the header includes to pull in 'windows.h' instead of the component headers. Erich Hoover (3): ws2_32: Separate out hostent creation from duplication. ws2_32: Return the full list of local IP addresses when gethostbyname() is called on the local hostname. ws2_32: Fix allocating a hostent with no h_aliases list. Francois Gouget (8): winhttp: Fix compilation on systems that don't support nameless unions. mshtml/tests: Fix the get_event_src() macro declaration. wined3d: Don't define nameless structs or unions. crypt32/tests: Fix compilation on systems that don't support nameless unions. winedbg: Use SUBLANG_NEUTRAL for Spanish. shlwapi/tests: Make test_IConnectionPoint() static. mshtml/tests: Make test_UIActivate() static. oleaut32/tests: Make test_DispGetParam() static. Gerald Pfeifer (1): ntdll: Guard debugging code by #ifdef instead of plain #if. Gregor Schneider (2): mlang: Change EnumRfc1766_create return values to error codes. xcopy: Remove unneeded assignment. Hans Leidekker (21): wininet: Cleanup any existing cache file before creating a new one. msi/tests: Loosen check on kernel32 language version. usp10: Fix a memory leak. userenv/tests: Fix some memory leaks. fusion: Fix some memory leaks. netapi32/tests: Fix a memory leak. ntdll/tests: Fix a memory leak. setupapi/tests: Fix a memory leak. ntdll/tests: Fix a memory leak. wininet/tests: Mark behavior of IE5 as broken for some ftp tests. ntdll/tests: Free Unicode string before reuse. gdi32: Implement WineEngGetCharABCWidthsFloat and forward GetCharABCWidthsFloat to it. rpcrt4: Add tests for RPC calls with authentication. rpcrt4: Avoid test failures on win9x. msi: Reject greater than and less than string comparisons in WHERE clauses. msi: Clone the open stream instead of trying to open a stream again. msi: Replace the string table hash with a sorted index. msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp. msi: Reset the ALLUSERS property from to 2 to 1. msi: Avoid a crash in STREAMS_delete. msi: Propagate errors from IStorage_OpenStream again in db_get_raw_stream. Henri Verbeet (50): d3d8: Fix GetDevice() for surfaces that are part of a texture. d3d9: Fix GetDevice() for surfaces that are part of a texture. dxgi: Add a separate function for surface initialization. dxgi: Implement IDXGISurface::GetDevice(). dxgi: Implement IDXGISurface::GetParent(). wined3d: Pass the correct vertex count in DrawIndexedPrimitiveStrided(). wined3d: Rename the wined3d_adapter "num" field to "ordinal". wined3d: Remove the redundant "adapterNo" field from the device. wined3d: Rename the "wineD3D" device field to "wined3d". dxgi: The "unknown0" parameter to DXGID3D10CreateDevice() is a pointer. wined3d: Remove a few redundant assignments. d3d8: Forward the volume's GetDevice() to the texture instead of the wined3d volume. d3d9: Forward the volume's GetDevice() to the texture instead of the wined3d volume. wined3d: Remove unused GetDevice() implementations. wined3d: Only disable blending for offscreen targets. ddraw: Avoid enumerating display modes for formats that arent't supported anyway. wined3d: Don't restore the draw buffer in color_fill_fbo(). wined3d: Rename "wineD3DDevice" to "device". wined3d: Support more formats for display mode enumeration. dxgi: Implement IDXGIOutput::GetDisplayModeList(). wined3d: Properly invalidate the context's draw buffer in color_fill_fbo(). wined3d: Correctly calculate the extended style in IWineD3DDeviceImpl_RestoreWindow(). wined3d: Add a separate function for swapchain initialization. wined3d: Move IWineD3DDeviceImpl_SetupFullscreenWindow() to swapchain.c. wined3d: Move IWineD3DDeviceImpl_RestoreWindow() to swapchain.c. d3d10core: Add a stub ID3D10Query implementation. wined3d: Let the context handle the draw buffer in stretch_rect_fbo(). wined3d: Let the context handle the draw buffer in flush_to_framebuffer_drawpixels(). wined3d: Let the context handle the draw buffer in fb_copy_to_texture_hwstretch(). wined3d: Let the context handle the draw buffer in swapchain_blit(). wined3d: Send window messages through the swapchain before sending them to the application. wined3d: Filter window messages generated by switching to fullscreen and back. d3d9: Add a test to show D3D replaces the window proc. d3d8: Add a test to show D3D replaces the window proc. wined3d: Use surface_is_offscreen() in context_apply_draw_buffer(). wined3d: Use surface_is_offscreen() in fb_copy_to_texture_hwstretch(). wined3d: Use surface_is_offscreen() in read_from_framebuffer_texture(). wined3d: Use surface_is_offscreen() in flush_to_framebuffer_drawpixels(). wined3d: Get rid of the "swapchain" parameter to surface_get_gl_buffer(). wined3d: Mark the draw buffer as dirty in context_create(). ddraw/tests: Add tests for ddraw window proc handling. wined3d: Change an ERR to a TRACE in IWineD3DEventQueryImpl_GetData(). wined3d: Change an ERR to a WARN in IWineD3DVolumeImpl_UnlockBox(). wined3d: Cleanup IWineD3DDeviceImpl_GetBackBuffer(). msi: Remove an unused field from the string table. ddraw: Don't depend on IWineD3DDevice_CreateSurface() not touching the surface parameter on failure. wined3d: Don't touch "ppSurface" on failure in IWineD3DDeviceImpl_CreateSurface(). wined3d: Add a function to destroy dummy textures. wined3d: Add some error handling to create_primary_opengl_context(). wined3d: IWineD3DStateBlockImpl no longer implements IWineD3DBase. Huw Davies (35): winhttp: Load X509_STORE_CTX_get_ex_data from libcrypto not libssl. gdiplus: Fix a couple of memory leaks. inetcomm: Fix memory leak. oleaut32: Fix a couple of memory leaks in the tests. oleaut32: Fix several memory leaks in tests. ntdll: Fix a few memory leaks in tests. setupapi: Fix memory leak. xinput1_3: Don't print the contents of [out] parameters. ntdll: Only free the string if the test succeeded. msxml3: Correctly test the variant returned by get_nodeValue. include: Add a few guids. ole32: Release the error info strings. oleaut32: Fix double-free in tests. fusion: Fix a memory leak in the tests. shdocvw: Fix a memory leak in the tests. oleaut32: Fix a memory leak in the tests. browseui: Fix several memory leaks in the tests. gdiplus: Fix a memory leak. riched20: Fix a memory leak. gdiplus: Fix a memory leak in the tests. gdiplus: Fix a memory leak in the tests. gdiplus: Fix a memory leak in the tests. riched20: Initialise the style flags. oleaut32: Fix a memory leak in the tests. oleaut32: Fix a leak in the tests. qedit: Fix a memory leak. dbghelp: Fix compilation on OSX. ole32: Fix several memory leaks in the tests. oleaut32: Fix memory leaks in the tests. oleaut32: Fix a memory leak. shell32: Fix a memory leak in the tests. riched20: Initialise window size. shell32: Fix a memory leak. oleaut32: Fix several memory leaks in the tests. dsound: Fix a memory leak in the tests. Jacek Caban (30): mshtml: Don't pass fdexNameEnsure flag to script engines in find_global_prop. mshtml: Added test for setting VT_EMPTY event handler. jscript: Don't pass EXPR_NEWREF flag to evaluate member expression in array_expression_eval. jscript: Moved set_last_index call to do_regexp_match_next. jscript: Fixed String.split for missing regexp separator. mshtml: Added IHTMLDocument2::onreadystatechange property implementation. wininet: Correctly handle dwContentRead for gzip encoded requests. wininet: lpszUrlPath should be NULL for URLs in file:///... format. wininet: Make InternetCrackUrlA tests more generic and add more tests. wininet: Set lpszUrlPath in InternetCrackUrlW if its length is 0. urlmon: Include extra info in object name passed to HttpOpenRequest. mshtml: Added IHTMLDOMTextNode::get_length implementation. mshtml: Removed ref count tests that fail on some Windows. jscript: Reorder functions in function.c. jscript: Added Function constructor implementation. jscript: Added Function constructor tests. jscript: Fixed tests on some Windows. mshtml: Added IHTMLStyle::marginTop implementation. mshtml: Added IHTMLStyle2::right implementation. wininet: Directly return error status from HTTP_HttpQueryInfoW. urlmon: Pass flags to test_BindToStorage. urlmon: Added support for BINDSTATUS_REDIRECTING. urlmon: Correctly handle accept ranges in HttpProtocol_open_request. urlmon: Correctly handle INTERNET_STATUS_REDIRECT. urlmon: Added HTTP redirecting test. urlmon: Report redirected URL to object created by BindToObject. mshtml: Added support for redirected binding. urlmon: Fixed race in tests. wininet: Make sure to not read over chunk end in read_gzip_data. mshtml: Don't use necko nsIHttpChannelInternal implementation in nsChannel object. Jaime Rave (1): winedbg: Add Spanish translation. James Hawkins (48): oleaut32: Add tests for DispGetParam. Fix two issues that crashed the tests. oleaut32: Report the parameter index for any failure in DispGetParam. msi: Add more tests for the Installer.OpenPackage method. msi: It's possible to send in more than two parameters to Installer.OpenPackage, but sending in zero parameters should return DISP_E_TYPEMISMATCH. msi: Verify that the first parameter to Installer.OpenPackage is a VT_BSTR. msi: The second parameter to Installer.OpenPackage is optional, so set a default value of 0 if the parameter is not provided. msi: Make sure to free the extra row data when deleting a row. msi: Free the column info data when updating the table column info. msi: Add a NULL terminator to file->dest after reallocation. msi: Fix a handle leak in the record tests. msi: Close the original record before copying new data into it. msi: Stub out a few more Installer object methods. msi: Refactor the Installer.CreateRecord method into InstallerImpl_CreateRecord. msi: Refactor the Installer.OpenPackage method into InstallerImpl_OpenPackage. msi: Refactor Installer.OpenProduct and Installer.OpenDatabase into respective functions. msi: Refactor the Installer.SummaryInformation method to InstallerImpl_SummaryInformation. msi: Refactor the Installer.UILevel method into InstallerImpl_UILevel. msi: Refactor the remaining Installer object stub methods into respective functions. msi: Refactor the Installer.InstallProduct method into InstallerImpl_InstallProduct. msi: Refactor the Installer.Version method into InstallerImpl_Version. msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue. msi: Refactor the Installer.ProductState method into InstallerImpl_ProductState. msi: Refactor the Installer.ProductInfo method into InstallerImpl_ProductInfo. msi: Refactor the Installer.Products method into InstallerImpl_Products. msi: Refactor the Installer.RelatedProducts method into InstallerImpl_RelatedProducts. msi: Wine fails the test and passes us a Session object back, so free it in this case. msi: Make sure we don't access pcchValueBuf when szBuffer is NULL, as pcchValueBuf is not required to be initialized in this case. msi: Don't free str until the last instance of its use. msi: Free each stream name when deleting the streams view. msi: Store the number of types we queried. We were leaking these types because we didn't have the correct count. msi: Free each storage name when deleting the storages view. msi: Fix a record handle leak. msi: Implement DROP_delete that deletes the drop view. We were leaking the view before. msi: Free the Streams and Storages view object in their respective delete methods. msi: Free each table object when deleting the join view. msi: Free the enumeration data returned by IEnumSTATSTG_Next. msi: Keep track of the current view in the sql parser. msi: Free the join view if we fail to create the table view. msi: Fix a leaking record handle. msi: Free the columns view if check_column_exists fails. msi: Simplify ITERATE_WriteEnvironmentString. msi: Refactor freeing the import sql strings. msi: Free the temp buffer if we haven't assigned it to *appValue. msi: Free the cached streams when closing the database. msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods. kernel32: Free the resource data if a matching resource exists and we choose not to overwrite the existing resource. msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW. msi: Free the current filename if we choose to not extract the file. Jeremy White (6): usrmarshal: Add a test for marshalling a SAFEARRAY of VT_BSTR. oleaut32/tests: Avoid a memory leak; spotted by Valgrind. oleaut32/tests: Check the actual size of safe arrays marshaled, not just projected size. oleaut32: Use wire sizes for marshaled safe arrays of bstrs and variants; fixes a test failure on win64. winspool: Add tests for paths returned in GetPrinterDriver. oleaut32/tests: Adjust new tests to pass on win9x platforms. Juan Lang (51): winhttp: Use sk_ functions rather than accessing an OpenSSL stack type directly. crypt32/tests: Don't pass as a parameter a variable that could be local. rsaenh: Fix memory leak in CPSignHash. crypt32/tests: Fix memory leak in test. rsaenh/tests: Fix memory leaks. wintrust: Fail to load a certificate from a PE file if the certificate entry isn't a known type. inetmib1: Don't claim a value is dynamic when it isn't. inetmib1: Return error value from MIB copy functions. inetmib1: Return SNMP_ERRORSTATUS_NOSUCHNAME for an interface's physical address if it has none. snmpapi: Add stub for SnmpSvcGetUptime. wininet: Trace more parameters to HTTP_GetCustomHeaderIndex. wininet: Fix an apparent typo. winhttp: Fix test error when run as non-administrator. crypt32: Compare CRL's authority key identifier against the certificate's subject key identifier property, which also decodes the certificate's extension if necessary. rsaenh/tests: Fix memory leak. inetmib1: Return SNMP_ERRORSTATUS_NOSUCHNAME for an interface's description if it has none. inetmib1: Copy an IP net row's physical address using a type-specific helper function, rather than using a generic helper function which made an invalid alignment assumption. rsaenh: Use helper function to release and install a key into a crypt provider. rsaenh: Free a verify context's keys when it's destroyed. winhttp/tests: Only free a certificate context if retrieving it succeeded. rsaenh: Fix memory leak reading stored keys. crypt32: Trace chain final error status. crypt32: Don't dereference an output pointer which may be NULL. crypt32: Fix CertAddCRLContextToStore for CERT_STORE_ADD_USE_EXISTING add disposition. crypt32: Fix CertAddCTLContextToStore for CERT_STORE_ADD_USE_EXISTING add disposition. advapi32/tests: Fix memory leaks in tests. crypt32: Accept end certificates with no extended key usage extension if a particular key usage is requested. winhttp: Free OpenSSL error strings at unload. winhttp: Don't call a function whose result is never used. winhttp/tests: Skip secure connection tests if the request fails. wininet: Don't unnecessarily convert hostname to ANSI to check it. wininet: Free OpenSSL error strings at unload. wininet: Store hostname for secure connection in its SSL context. wininet: Set callback to verify hostname with peer's certificate. wininet: Check the certificate in an https connection using the crypto api. winhttp: Return error directly from netconn_verify_cert. winhttp: Set error and fail if a secure connections certificate couldn't be verified. wininet: Return error directly from netconn_verify_cert. wininet: Set error and fail if a secure connection's certificate couldn't be verified. cryptnet: Use helper function to verify a certificate's revocation. cryptnet: Change guard variable to simplify loop. cryptnet: Use helper function to check a cert against a CRL. cryptnet: If the caller specifies the location of a CRL, check a cert's revocation status against it. cryptnet: Make sure an issuer certificate can sign CRLs before looking for a CRL. cryptnet: Use helper function to get a URL from a CRL distribution points extension. cryptnet: Use helper function to check revocation with a CRL distribution points extension. cryptnet: Add stub for verifying revocation via OCSP. ole32: Fix a memory leak. crypt32: Check authority key identifer extension to determine if a certificate is self-signed. wintrust: Check authority key identifer extension to determine if a certificate is self-signed. setupapi: Fix a comment typo. Jörg Höhle (3): mciwave: MCI Capability returns number of wave devices. mciavi: Complete MCI GetDevCaps/capability. mciavi: Do not stub unsupported recording or editing functions. Ken Thomases (3): kernel32: On Mac, construct locale string from language and country codes. kernel32: Mac lang. pref. overrides LANG, but not LC_ALL or LC_MESSAGES. kernel32: Consolidate some related code closer together. Kirill K. Smirnov (1): comctl32/treeview: Avoid a NULL pointer dereference. Lei Zhang (1): secur32: Fix memory leak in SECUR32_addPackages. Luke Benstead (1): ddraw: Fix an incorrect refcount test. Maarten Lankhorst (18): include: Add some definitions to ks.h. include: Fix typo in audiopolicy. dsound: Move buffer property sets to buffer.c. include: Add mmdeviceapi.idl. dsound: Implement DSPROPERTY_WaveDeviceMappingA on top of *W. dsound: Clean up DSPROPERTY_DescriptionW. dsound: Clean up DSPROPERTY_EnumerateW. dsound: Clean up DSPROPERTY_EnumerateA. dsound: Clean up DSPROPERTY_Enumerate1. dsound: Clean up DSPROPERTY_DescriptionA. dsound: Clean up DSPROPERTY_Description1. dsound: Only initialize one guid for capture and renderer. mmdevapi: Add initial mmdevapi dll. mmdevapi: Add some initial tests. mmdevapi: Add more tests. mmdevapi: Add class factory. dsound: Remove refcounting in classfactory. include: Add endpointvolume.idl. Marcin Baczyński (5): gdiplus: Add missing declarations for image.c. gdiplus: Add missing declarations for imageattributes.c. gdiplus: Add missing declarations for gdiplus.c. gdiplus: Add missing declarations for pen.c. gdiplus: Add missing declaration for customlinecap.c. Marcus Meissner (10): rpcrt4: Fixed array_compute_and_size_conformance on strings (Coverity). reg: Fixed 2 functionality bugs in REG DELETE (Coverity). winhttp: Check for endCert being NULL (Coverity). dbghelp: Add a missing NULL check (Coverity). jscript: Fixed uninitialized usage of i (Coverity). dmime: Actually get a pCLSID stream before using it (Coverity). dmloader: pObject NULL checks are not necessary (Coverity). dbghelp: Check for NULL return from process_find_by_handle (Coverity). ntdll: Check for NULL attr in NtOpenKey (Coverity). rpcrt4: Exit on unknown confirmance type (Coverity). Michael Stefaniuc (1): winex11: Fix missing unlock & free on an error path (Smatch). Nathan Gallaher (1): ole32: Fix invalid memory access in storage32. Nicolas Le Cam (2): ddraw/tests: Get rid of a carriage return in a trace. winedbg: Fix Norwegian translation warning by adding UTF-8 pragma. Nikolay Sivov (26): kernel32/tests: Fix test failures on NT4. comctl32/treeview: Free items pointer array and root item on control destruction. comctl32/tests: Free imagelist after use. comctl32/tests: Don't forget to free array after tests. comctl32/datetime: Free internal data completely on control destruction. gdiplus/tests: Free brush pointer after test. gdiplus/tests: Additional test to show that custom cap isn't created without stroke path. gdiplus/tests: Free created iterator in tests. gdiplus/tests: Delete Pen object after use. msvcrt/tests: Free temporary file name after test. windowscodecs/tests: Release decoder after use. gdiplus/tests: Fix a matrix leak in test. comctl32/listview: Update item width every time new item is inserted. shell32: Fix some trace typos. comctl32/treeview: Use additional helper for item invalidation. comctl32/treeview: Remove some forward declarations. comctl32/tests: Get rid of static handles, split tests finally. comdlg32/filedlg: Fix a lookin combo data leak. comdlg32/filedlg: Fix a find file handle leak. oleaut32/tests: Fix a couple of leaks in tests. comctl32/treeview: Fix mouse tracking request code. comctl32/treeview: Fix default colors set on creation. comctl32/treeview: Draw +/- signs with text color, not the lines' one. comctl32/treeview: Implement NM_SETCURSOR notification. kernel32/tests: Fix few context leaks. kernel32: Fix typo in a comment. Owen Rudge (11): imagehlp: Implement ImageRemoveCertificate. imagehlp/tests: Add tests for adding/removing multiple certificates. imagehlp: Check for 64-bit PE files in CheckSumMappedFile. imagehlp: Recalculate PE checksum after file modification. include: Redefine LHANDLE as ULONG_PTR. mapi32: Correct the Simple MAPI parameters. winemapi: Add skeleton for new Wine MAPI provider. winemapi: Add Simple MAPI functions. winemapi: Implement MAPISendMail. wine.inf: Add winemapi.dll to the mail clients section. mapi32: Remove fallback procedure in MAPISendMail and replace with error message. Paul Chitescu (3): advapi32: Reduce registry access to MAXIMUM_ALLOWED wherever possible. services.exe: Reduce Registry access to KEY_READ or MAXIMUM_ALLOWED wherever possible. server: Only check if permission bits changed before calling fchmod(). Paul Vriens (26): advapi32/tests: Fix some test failures when the computername is fully qualified. mshtml/tests: Skip some tests on older IE. adapi32/tests: Fix test failures when the computername is fully qualified on W2K3 and earlier. winspool.drv/tests: Fix test failures on XP+ with long printer names. shell32/tests: Cope with non-English Vista+ and short names in the title bar of explorer windows. shell32/tests: Decide whether to use CSIDL_PROGRAMS or CSIDL_COMMON_PROGRAMS by checking admin rights. shell32/tests: Removed an unused define. shell32/tests: Remove a now unused define. shell32/tests: Remove a useless string. imagehlp/tests: Run tests again on Win95. ole32/tests: Don't crash on Win9x/WinMe by using more A-functions. ddraw/tests: Fix some test failures on Vista+. comctl32/tests: Fix a test failure on older comctl32. shell32/tests: Fix a test failure on a default Windows 7 system. kernel32: Add a define for UNICODE_STRING_MAX_CHARS. kernel32/tests: Only set the size ourselves if we are on W2K. comctl32/tests: Fix some test failures on older comctl32. rpcrt4/tests: Don't crash on NT4. rpcrt4/tests: Skip more tests on Win9x/WinMe. gdiplus/tests: Fix some test failures on older gdiplus. cryptnet/tests: Fix some test failures on W2K with just SP3 or SP4. ntdll/tests: Fix a test failure on NT4/W2K. ntdll/tests: Fix a memory leak (Valgrind). kernel32: Fix a crash with GetLongPathNameW and UNC path names. kernel32/tests: Add some tests for GetLongPathNameW. gdiplus/tests: Fix a test failure on XP/W2K3. Piotr Caban (22): msxml3: Fix VARIANT_from_xmlChar implementation. mshtml: Added PersistStreamInit_InitNew implementation. mshtml: Added OleObject_Advise implementation. mshtml: Added OleObject_Unadvise implementation. mshtml: Added OleObject_EnumAdvise implementation. mshtml: Added OleObject_Advise tests. mshtml: Added Advise handling to OleObject_Close. mshtml: Improved OleDocumentView_UIActivate implementation. mshtml: Added more OleDocumentView_UIActivate tests. urlmon: Added ProxyStub implementation. urlmon: Added InternetSecurityManager marshalling test. mshtml: Added ViewObjectEx stub implementation. mshtml: Added IObjectWithSite stubs. oleaut32: Fix SysReAllocStringLen implementation. mshtml: Added IElementBehavior{Site,Factory} to idl file. shlwapi: Allow ' ' in hostname and password in UrlGetPart. shlwapi: Added special case for URL_PART_HOSTNAME in UrlGetPart. urlmon: Added PARSE_DOMAIN to CoInternetParseUrl. urlmon: Added PARSE_ROOTDOCUMENT to CoInternetParseUrl. urlmon: Added CoInternetGetSecurityUrl implementation. urlmon: Added tests for CoInternetGetSecurityUrl. urlmon: Remove some CoInternetParseUrl tests. Rob Shearman (21): ole32: Initialise all of position variables in test_save_load_filemoniker. ole32: Add tests for HGLOBAL stream ignoring the HighPart of the offset for seeks. netapi32: Fix off-by-one errors in ACCESS_QueryAdminDisplayInformation and ACCESS_QueryGuestDisplayInformation. hlink: Fix more memory leaks in tests. secur32: Fix memory leak in NTLM's FreeCredentialsHandle. rpcrt4: Fix some memory leaks in the cstub tests. rpcrt4: Add support for context handles in stubless servers. rpcrt4: Handle [out]-only non-conformant strings in stubless servers. rpcrt4: Implement RpcServerRegisterAuthInfoA/W. rpcrt4: Fix rpcrt4_conn_tcp_read and rpcrt4_conn_tcp_write for reading/writing zero-sized data. rpcrt4: Add support for server-side authentication. rpcrt4: Process control packets in the server synchronously to avoid races when using 3-factor authentication. rpcrt4: Allow the connection to override the authentication mechanism for a connection type. rpcrt4: Override authentication functions for ncalrpc protocol to do nothing. rpcrt4: Implement client impersonation. rpcrt4: Allow the authentication details of the client to be transport-specific. rpcrt4: Override inquire_auth_client for ncalrpc transport to always indicate that the connection is authenticated. gdi32: Fix memory leaks on EMF_Create_HENHMETAFILE failure. msvcrt: Free memory allocated in TLS slot on module unload as well as thread exit. cabinet: Fix memory leaks on failure in FDICopy. ntdll: Ignore the hole in the FILE_PIPE_WAIT_FOR_BUFFER structure passed into NtFsControlFile before writing the structure to the server. Roderick Colenbrander (4): ws2_32: Use winediag for socket failures. iphlpapi: Use winediag for icmp failure. winex11: Move X11 display failure MESSAGE to winediag. wined3d: Fix a bug in BtlFast which was uncovered by the 32-bit dibsection support. Stefan Dösinger (10): wined3d: Add a function for initializing surface sysmem. wined3d: A function for checking if a surface is offscreen. wined3d: Use GL_COLOR_ATTACHMENT0 as offscreen buffer with FBOs. wined3d: Infrastructure to render swapchains to a FBO. wined3d: Render to a FBO if the window size is changed. Render to fbo when the size mismatches at creation time. wined3d: Frontbuffers are onscreen. wined3d: Properly release client storage memory. wined3d: Don't render single buffered swapchains to a FBO. wined3d: Fix VBO buffer usage. Stefan Leichter (2): setupapi32/tests: More tests for SetupGetInfFileListW. setupapi: Implement SetupGetInfFileListW. Vincent Povirk (50): windowscodecs: Accept GIF files with no trailer. ole32: Make CreateDirEntry a virtual method. ole32: Change WriteDirEntry return type to HRESULT. ole32: Change ReadDirEntry return type to HRESULT. ole32: Add WriteDirEntry to the storage vtable. ole32: Add ReadDirEntry to the storage vtable. gdiplus: Implement GdipCloneBitmapArea. gdiplus: Fix cleanup after errors in GdipCloneImage. ole32: Change the base IStorage filename to a pointer type. ole32: Take a StorageBaseImpl in insertIntoTree. ole32: Take a StorageBaseImpl in removeFromTree. ole32: Add DestroyDirEntry to the storage vtable. ole32: Use the storage vtable to read streams. ole32: Use the storage vtable to write to streams. ole32: Use the storage vtable to resize streams. ole32: Don't track the stream size in storage stream objects. ole32: Store the parent of internal storage objects. ole32: Add an attribute to StorageBaseImpl to track its reverted status. ole32: Add a test for modifying read-only substorage objects. ole32: Don't use ancestorStorage to decide if a storage is transacted. ole32: Make findElement take a StorageBaseImpl. ole32: Make IEnumSTATSTGImpl reference the parent storage. ole32: Remove the ancestorStorage attribute. wineboot: Do not force --kill when --end-session is set. wineboot: Terminate processes immediately after WM_ENDSESSION. ole32: Create internal storage objects with a refcount of 1. ole32: Add Invalidate to the storage vtable. ole32: Add a stub transacted storage type. ole32: Implement transacted storage. ole32: Implement Revert for transacted storage objects. winex11.drv: Use the old method to delete the desktop window. include: Add PaletteFlags enumeration. gdiplus: Implement GdipSetImagePalette. gdiplus: Implement GdipGetImagePaletteSize. gdiplus: Implement GdipGetImagePalette. gdiplus: Initialize the palettes of new indexed bitmaps. gdiplus: Add test for image palette functions. ole32: Fix a memory leak in StorageBaseImpl_CopyTo. ole32: Remove an unnecessary special case in StorageBaseImpl_CopyTo. ole32: Properly free temporary objects when StorageBaseImpl_CopyTo fails. shell32: Fix an uninitialized memory access in SHGetFileInfoW. shell32: Fix a memory leak in a test. windowscodecs: Fix a memory leak in a test. gdiplus: Explicitly copy the bits from dib sections to new bitmaps. gdiplus: Support reading image data from device-dependent bitmaps. ole32: Add a cache for block chain streams in StorageImpl. ole32: Compare upper character values directly in entryNameCmp. ole32: Fix memory leaks in the storage test. shell32: Fix a memory leak in SHFileOperationW. gdiplus: Add tests for the other frame functions, for memory bitmaps. Vladimir Pankratov (1): setupapi: Add stub for CM_Get_Device_ID_ExW. Wolfram Sang (1): ntoskrnl: Add IoAllocateErrorLogEntry stub. -- Alexandre Julliard julliard@winehq.org