Wine Announcement

The Wine development release 1.1.32 is now available. What's new in this release (see below for details): - Many crypto fixes, particularly on 64-bit. - Improved DVD access on Mac OS. - Several common controls improvements. - Various HTML support improvements. - More DIB optimizations. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.32.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.32.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.32: 2181 Civilization 2: crashes because of WM_SETFOCUS message 3047 CSpy/Tab: Cursor Select & Keyboard Navigation Not Implemente/ Not Working 5259 Delphi 1 app will not minimize with minus icon in desktop mode 6003 Steam: No scroll bars are shown 7042 Crash in Icewind Dale 1 when creating a character 9374 Ricochet Infinity window fills the screen when switching from fullscreen mode 9688 Thief: Deadly Shadows does not render text properly 10435 Portal 1.0: Portals don't always appear correctly (clipping plane / frustum not being respected?) 10525 HLSW 2 crashes at start 10970 Crazy Taxi crashes when "Now Loading" appears 11180 Unhandled exception: unimplemented function ntoskrnl.exe.IoQueryDeviceDescription called in 32-bit code 11424 Canon Digital Photo Professional (DPP) pane refresh 12171 adding popupmenu to itself, then using finditem causes stack overflow 12245 Graphics skip in Deus Ex 12858 winmm: wave.ok test fails in PC-BSD but not Linux 13006 Xfire ListView shows blocks for text or white spaces 13261 Civilization III Crashes When Starting New Game 13422 Age of Conan patcher doesn't draw anything 13501 Rome Total War v1.5: Crashes everytime when entering a battle. 13514 Age of Conan will not start 13547 Warcraft III loses all textures after game window loses focus in OpenGL mode 13576 Black Hawk Down Demo causes wine to exit upon entering map 13800 Examdiff crashes 14005 Debugger Detected [304] 14267 C++ runtime error when playing icewind dale2 15155 Cortex Command builds 20, 21 immediately terminate upon startup 15273 Civilization 4 installer fails with error -5009 15312 Visual Studio 2005 requires SetDIBits to handle a NULL DC and DIB_RGB_COLORS 16033 Metal Gear Solid I Bug 17211 Proteus 6 Lite (Ares.exe & Isis.exe) both crash upon opening a design. 17497 Xfire crashes with latest version (1.104) 17530 netapi32:access crashes if +heap enabled 17584 VB6 Textbox crash 17605 Google Sketchup 7 crashes on file save 17760 CryptAcquireContext: Use MS_ENHANCED_PROV instead of MS_DEF_PROV when pszProvider == NULL 17768 7Zip rebar crash 17777 WinPolis hangs when sound is enabled 17810 Base unittests for chromium don't run to completion under Wine 17813 Net unittests for chromium fail under Wine 17905 PDF-XChange Viewer mouse pointer drop shadow 17964 Red Alert 3 Uprising crashes during install 17974 Garry's mod: screen on toolgun isn't rendered 17994 Failure in D3D8 test in test function texop_test 18000 user32 test run failure 18055 Searching in Steam does not work. 18067 RtlAllocateHeap leaks memory in the small->large path 18297 Easybooks crashes 18438 Installation of ArcGIS 9.3 on Wine 1.1.21 at C:/ArcGIS fails and exit 18480 Civilization III 1.29f will not start game. 18573 Unimplemented function KERNEL32.dll.QueryFullProcessImageNameA 19064 Microsoft Security Essentials Setup crashes missing QueryAllTracesW 19091 Missing background in Civilization 4 main menu. 19188 [Close Combat Iv][CC4] All versions fail to launch 19468 SimCity 4 Deluxe is showing an error messages when starting 19629 BFVietnam 1.1: Fog rendering incorrectly 19702 Atlas der Schweiz does not start anymore 19819 Small bug in TranslateCharsetInfo 19932 Steam web browser scrolls to end when mouse is out of window 20130 CDRoller: Can't start because debugger is detected. 20184 eXperience112 don`t work 20188 MSN Messenger 7.5 hangs while signing in 20212 AutoCAD 2009: unimplemented function dwmapi.dll.DwmGetTransportAttributes 20285 cmd.exe does not treat tabs as parameter delimiters 20304 Warcraft 3 stats lagging very bad in-game after about 10 minutes if you are not host 20310 Game Original War doesn't look well because of broken transparency 20313 Patch "user32: Draw the whole button only if requested" caused uninitialized memory use 20317 Uninitialised memory reference in SetEntriesInAclW() 20325 Month calendar control does not send MCN_SELCHANGE when changing month 20334 SysReAllocStringLen should return null terminated strings 20341 pcsx2 beta: crashes when exiting LilyPad configuraiton dialog 20365 Radio Mobile icons drawn too big 20368 sockaddr_in6 wrong size; causes chromium's net_unittests HostResolverImplTest.NumericIPv6Address test case to fail 20370 chromium net_unittests.exe fail ssl tests because they can't check for root cert 20372 WS2_register_async_shutdown forgets to initialize local_iosb.Information to zero? 20399 MPLAB 8.40 crashes 20430 widl generating proxies and stubs with uninitialized variables? 20437 winemenubuilder produces wrong mimetype files 20440 RM2k3 Event Editor works very slow ---------------------------------------------------------------- Changes since 1.1.31: Alexander Kochetkov (2): oleaut32/tests: Checking null terminator in return value of SysReAllocStringLen. oleaut32: Fix null terminator in SysReAllocStringLen. Alexandre Julliard (51): server: Add support for allocating purely client-side user handles. user32: Add functions for manipulating client-side user handles. user32: Use client-side user handles for DeferWindowPos. user32: Use the generic handle functions for windows too. user32: Use client-side user handles for menus. user32: Get rid of the 16-bit heap support. user32: Set last error in WIN_GetRectangles. oleaut32/tests: Fix some test failures on Win64. winex11: Make all render format pointers const. winex11: Store the device format in the Xrender info structure. ntdll: Use the exception code as exit status when no debugger is present. winetest: Improve the native dll check to catch .NET dlls too. winex11: The xrender tile picture must be used only inside the critical section. kernel32: Use the PWD variable to set the initial current directory. setupapi: Get rid of the code to build fake dlls from existing modules. setupapi: Use a global buffer to read fake dll files and free it only once we are done with all the fake dlls. setupapi: Check that the source is a valid fake dll and skip wrong 32/64 type dlls. setupapi: Abstract the creation of the fake dll destination to a separate function. setupapi: Maintain a list of fake dlls that have been created already. setupapi: Add support for using a wildcard in fake dll creation. setupapi: Add support for specifying a fake dll source as '-' to delete it. user32: Reimplement accelerator functions to use 32-bit user handles instead of 16-bit functions. user32: Move 16-bit resource functions to user16.c. server: Free client-side user handles at process exit. user32: Add a helper to retrieve the dimensions of an icon. ntdll: Assume leaf function when we can't find exception information for an ELF module. widl: Output a pointer description for arrays declared as pointers. widl: Use write_pointer_description_offsets() to output no_repeat descriptors for consistency. widl: Arrays of pointers are always complex on 64-bit. widl: Write a proper type description for pointer array elements. ws2_32: Set Information to 0 upon completion of an async shutdown. gdiplus: Remove a useless inline specifier. netapi32/tests: Don't try to get the size of a freed buffer. user32/tests: Use the correct lparam in the WM_DDE_ACK reply. kernel32: Return the appropriate binary type for 64-bit PE files. kernel32: Make sure the 32/64-bit state of the wineprefix matches the binary we are running. widl: Fix the prototype of generated exception filters. ole32/tests: Set returned pointer to NULL in CreateInstance (Valgrind). advapi32: Fix lookup of the current user SID in SetEntriesInAclW. ntdll: Always set the I/O status information on ioctl completion (Valgrind). kernel32: Store the symlink target directly into the correct buffer in GetVolumeNameForVolumeMountPointW. rpcrt4/tests: Fix a double free (Valgrind). user32: Data chunks in RIFF file must be word-aligned. kernel32: Create the syswow64 directory if necessary. ntdll: Move the window and system dir variables to directory.c ntdll: Abstract the support for comparing file identities. ntdll: Add Windows directory redirections for Wow64. msvcrt: Implement __lconv_init. user32: Don't print CreateWindow warning for HWND_MESSAGE windows. winex11: Do not give focus to a WS_EX_NOACTIVATE window. user32: Fix the return value of EnumThreadWindows. Andrew Eikum (27): ole32: Use rgiidExclude in StorageImpl::CopyTo. ole32/tests: Add tests for IStorage::CopyTo with IID exclusions. mshtml: Fix typo in WARN. mshtml: Fix typo in TRACE. include: Remove redundant #defines in mshtmdid.h. mshtml.idl: Add IHTMLDocumentCompatibleInfo[Collection] dispifaces. mshtml.idl: Add IHTMLDocument6 dispiface. mshtml: Add stub implementation for IHTMLDocument6. mshtml: Add test suite for IHTMLLocation. mshtml: Add helper function get_url_components. mshtml: Implement IHTMLLocation::get_port. mshtml: Implement IHTMLLocation::get_protocol. mshtml: Implement IHTMLLocation::get_host. mshtml: Implement IHTMLLocation::get_hostname. mshtml: Reimplement IHTMLLocation::get_href. mshtml: Reimplement HTMLLocation::get_pathname. mshtml: Implement IHTMLLocation::get_hash. mshtml: Implement IHTMLLocation::get_search. mshtml/tests: Remove todo_wine paths. hlink.idl: Fix typo in comment. hlink: Use HLINKSETF flags in Hlink::fnSetMonikerReference. mshtml.idl: Fix IHTMLImageElementFactory uuid. mshtml: Add stub implementation for HTMLImageElementFactory. mshtml: Implement HTMLImageElementFactory::create. mshtml: Add DispatchEx support to HTMLImageElementFactory. mshtml: Handle DISPATCH_CONSTRUCT flag for DispatchEx objects. mshtml: Add HTMLImageElementFactory::value for constructing IHTMLImgElement objects. Andrey Turkin (5): ntdll: Run TLS callbacks in zero-sized TLS directories. advapi32: Ignore invalid MultipleTrusteeOperation values in SetEntriesInAcl. programs: Update Russian translations. dlls: Update Russian translations. server: Open mem file for write when writing memory. Aric Stewart (1): wininet: Cache basic authentication values based on realm and host. Aurimas Fišeras (1): kernel32/nls: Add genitive forms for Lithuanian locale. Austin English (1): include: fix a compiler warning on GNU/FreeBSD. Charles Davis (13): ntdll: Implement CDROM_ReadQChannel() on Mac OS. ntdll: Implement CDROM_RawRead() on Mac OS. ntdll: Use the parent device for everything when processing a storage IOCTL request on Mac OS. ntdll: Shorten an ERR message and change it to a FIXME. ntdll: Implement DVD_StartSession() on Mac OS. ntdll: Implement DVD_EndSession() on Mac OS. ntdll: Implement DVD_SendKey() on Mac OS. ntdll: Implement DVD_ReadKey() on Mac OS. ntdll: Implement DVD_ReadStructure() on Mac OS. ntdll: Partially implement CDROM_GetControl() on Mac OS. ntdll: Implement CDROM_ScsiGetCaps() on Mac OS. ntdll: Implement DVD_GetRegion() on both Linux and Mac OS. ntdll: Finish implementation of DVD_ReadKey() with key type DvdGetRpcKey on Linux. Christian Costa (3): ddraw: Make SetColorKey handle case where dwColorSpaceHighValue < dwColorSpaceLowValue + tests. d3dxof: Properly initialize nb_childs. d3dxof: Only consider 4 lowest bits in DXFILELOADOPTIONS + tests. Colin Fletcher (1): cmd.exe: Treat tabs as parameter delimiters. Damjan Jovanovic (3): cfgmgr32.h: Define MAX_DEVICE_ID_LEN. usb.h: Add USBD_STATUS codes and the USBD_VERSION_INFORMATION struct. winemenubuilder: Ignore Windows MIME types without a slash. Dan Kegel (1): kernel32: Fix two little leaks in heap test. Detlef Riekenberg (16): include: Add typedef for WNODE_HEADER. include: Add typedef for EVENT_TRACE_PROPERTIES. advapi32: Add stubs for QueryAllTraces[A|W]. advapi32: Add stubs for StartTrace[A|W]. advapi32: Add stub for EnableTrace. advapi32: Add stubs for ControlTrace[A|W]. localspl: Implement fpEnumPrintProcessors. winspool: Implement EnumPrintProcessors[A|W]. winspool/tests: Add tests for EnumPrintProcessors. d3d8/tests: Mark a failure of GetLightEnable on Win9x as broken(). winspool: Fix a copy & paste error in a comment. localspl: Implement fpGetPrintProcessorDirectory. winspool: Use the backend for GetPrintProcessorDirectory and update the tests. winspool/tests: Fix a failure on NT4 for EnumPrintProcessors. localspl: Accept environment 'Windows IA64'. user32: Bump version to XP values. Dmitriy Anisimkov (1): ws2_32: Ignore EINTR poll result code in WS_select. Dmitry Timoshkov (3): user32: Make sure that focus_rect is always initialized. kernel32: Implement HeapQueryInformation, add some basic tests for it. rsaenh: Fix the accepted RC2 key length, based on a test case by Dan Kegel. Eric Pouech (29): mmsystem: Move the 16bit mmio code into a dedicated file (mmio16.c). winmm: Create real 16<>32 thunks for mmio support in MMSystem. winmm: Transform the mmio proc kind into a boolean (to distinguish between ANSI and Unicode). mciwave: Simplify async command management by directly calling the right function instead of going through winmm again. mciwave: Try to synchronize better async commands. winmm: Protect MCI_SYSINFO against null buffers. mmsystem: Move the 16-bit MCI functions to a new mci16.c file. mmsystem: Cleanly separate MCI in MMSystem from WinMM code. winmm: Get rid of WINE_TIMER_IS32 internal flag. winmm: Simplify mciLoadCommandResource by dropping 16bit module support. winmm: Move the 16=>32W MCI map functions to mci16.c. mmsystem: Create a real function for mciExecute. winmm: Create a real function for MMSYSTEM.timeGetTime. winmm: Added partial infrastructure for driver management in mmsystem.c. winmm: Use the new 16=>32 thunks for Aux driver type. winmm: Move the 16bit management of mixer driver type to the new 16=>32 thunking scheme. winmm: Move the 16bit management of midi in driver type to the new 16=>32 thunking scheme. winmm: Move the 16bit management of midi out driver type to the new 16=>32 thunking scheme. winmm: Move the 16bit management of midi stream (for midi out driver type) to the new 16=>32 thunking scheme. winmm: Move the 16bit management of wave in driver type to the new 16=>32 thunking scheme. winmm: Move the 16bit management of wave out driver type to the new 16=>32 thunking scheme. winmm: Get rid of the bFrom32 parameter in MMDRV_Alloc and MMDRV_Message. winmm: Get rid to 16=>32 mappers in winmm (they're now in mmsystem). winmm: Restrict exposure of WINE_MMTHREAD to mmsystem. winmm: Duplicate the 16<>32 time struct conversion functions in both DLLs. winmm: Simply use kernel32.{Release|Restore}ThunkLock instead of using 16bit convolutions. winmm: Get rid of 16bit driver support in mci. winmm: Get rid of 16bit driver support. winmm: Final split of mmsystem. Erich Hoover (2): user32: Test for 'F10' key events. winex11: Send WM_SYSKEYDOWN and WM_SYSKEYUP when the 'F10' key is used. Erik Inge Bolsø (1): wine.inf: Fix NT4 SP6a registry key. Francois Gouget (8): comctl32/monthcal: Fix compilation on systems that don't support nameless unions. crypt32: Fix compilation on systems that don't support nameless unions. ntdll/tests: Fix compilation on systems that don't support nameless unions. ddraw/tests: Fix compilation on systems that don't support nameless unions. shlwapi: Fix compilation on systems that don't support nameless unions. shell32: Fix compilation on systems that don't support nameless unions. comctl32: Add a trailing '

' to a Wine trace. hnetcfg: Make NetFwOpenPort_create() static. Ge van Geldorp (1): winex11.drv: Fix build on systems without libXrender. Gerald Pfeifer (1): winebuild: Add support for PLATFORM_FREEBSD to get_ld_command. Hans Leidekker (25): hnetcfg: Add stub implementations of INetFwOpenPorts and INetFwOpenPort. hnetcfg: Add stub implementations of INetFwServices and INetFwService. iphlpapi: Allow both direct and indirect default routes in GetBestRoute. sti: Return success from the IStillImageW::UnregisterLaunchApplication stub. msi: Define common strings only once. msi: Add some tests for MsiGetTargetPathW. msi: Reorder functions to avoid forward declarations. msi: Use a function to test the UI level instead of passing a boolean around. msi: Eliminate the last parameter from ACTION_PerformActionSequence. msi: Allocate MSISCRIPT structure at package creation time. msi: Get rid of some redundant initializations. msi: Always create a temporary copy of the package. msi: Create the local copy before opening the database. msi: Open the database read/write in MSI_OpenPackageW. mscms/tests: Avoid accessing uninitialized memory. hnetcfg: Improve the stub for INetFwServices::Item. winhttp: Fix a memory leak. winhttp: Correct SSL lock size and make sure we free as many as we allocated. winhttp/tests: Free the certificate context after use. winhttp: Fix two memory leaks. msi: Avoid accessing uninitialized memory. msi/tests: Avoid accessing uninitialized memory. msi/tests: Free the string returned from ConvertSidToStringSid. wininet: Avoid accessing uninitialized memory. msi: Fix calculation of required buffer size in MsiSummaryInfoGetPropertyW. Henri Verbeet (49): d3d9: Only run the vertex/pixel shader constant apply tests when the implementation supports them. d3d8: Cleanup the stateblock test callbacks a bit. d3d9: Cleanup the stateblock test callbacks a bit. d3d10: Explicitly handle D3D10_SVC_STRUCT in set_variable_vtbl(). wined3d: Vertex state stateblocks should also record the vertex declaration. wined3d: Capture on a recorded stateblock doesn't record the vertexdeclaration in d3d9. d3d8: Add some stateblock tests for device resources. d3d9: Add some stateblock tests for device resources. wined3d: Remove some code that doesn't make sense. wined3d: Get rid of stateblock_copy_values(). wined3d: Rename PLIGHTINFOEL to something less awful. wined3d: Remove the useless "changed" and "enabledChanged" fields from struct wined3d_light_info. wined3d: Simplify IWineD3DStateBlockImpl_Capture(). wined3d: Merge some bitfields in struct SAVEDSTATES. wined3d: Don't apply more than num_contained_render_states in IWineD3DStateBlockImpl_Apply(). wined3d: Simplify IWineD3DStateBlockImpl_Apply(). secur32: Recognize the ARC4 cipher in schannel_get_cipher_algid(). secur32: Don't try to cleanup uninitialized handles in SECUR32_deinitSchannelSP(). secur32: Don't bother zeroing the handle table in SECUR32_initSchannelSP(). d3d8: Get rid of some unused variables in IDirect3DDevice8Impl_CopyRects() (LLVM/Clang). ddraw/tests: Check some more return values (LLVM/Clang). d3d8/tests: Check some more return values (LLVM/Clang). d3d9/tests: Check some more return values (LLVM/Clang). wined3d: Printing a FIXME once only works if the relevant BOOL is static (LLVM/Clang). d3d9: Fix some IDirect3DDevice9Ex methods. d3d9/tests: Remove an unused color result. ddraw/tests: Remove some leftover debug code. wined3d: Cleanup IWineD3DDeviceImpl_UpdateTexture(). d3d8: Add traces. d3d9: Add traces. wined3d: Get rid of the useless "isPBuffer" bitfield in struct wined3d_context. wined3d: Validate the D3D context in FindContext(). wined3d: Use context->valid in context_destroy_gl_resources(). wined3d: Destroy FBO entries from the context that created them. dxgi: Free the adapters array in dxgi_factory_Release() (Valgrind). wined3d: Rename WineD3DAdapter to wined3d_adapter. wined3d: Free the adapter's format info in IWineD3DImpl_Release() (Valgrind). wined3d: Free the shader buffer in shader_glsl_free() (Valgrind). winex11.drv: Properly free "visinfo" in get_formats() (Valgrind). wined3d: Fix some GLINFO_LOCATION abuse. wined3d: Get rid of GL_LIMITS. wined3d: Free the blitter private data in arbfp_blit_free() (Valgrind). wined3d: Free the context array in IWineGDISwapChainImpl_Destroy() (Valgrind). d3d9: Free "elements" in a vertexdeclaration_init() error path (Valgrind). d3d8/tests: Properly release the first device in test_depth_stencil_reset(). d3d9/tests: Release the IDirect3D9Ex interface in test_qi_ex_to_base(). wined3d: Replace the "stateLookup" tables with a single "wrap_lookup" table. wined3d: Don't use the stack as cursor mask (Valgrind). wined3d: Compare and copy the actual palette in palette9_changed() (Valgrind). Hib Eris (8): msi/tests: Add tests for merging existing tables. msi: Fix a failure with merging existing tables. msi/tests: Add test for merging string types. msi/tests: Add tests for rows order. msi: Fix merging string type checks. msi: Add function get_table_value_from_record. msi: Fix table rows order. msi: Remove table_find_insert_idx(). Ilya Shpigor (1): programs: Add initial extrac32 utility. Jacek Caban (46): mshtml: Return NULL documentElement in READYSTATE_UNINITIALIZED state. mshtml: Improved IHTMLElement2::doScroll stub. mshtml: Moved QueryService call to hlink_frame_navigate. mshtml: Added IHTMLLocation::put_href implementation. shdocvw: Improved debug messages. mshtml: Added IHTMLWindow2::name property implementation. mshtml: Added IHTMLWindow2::get_length implementation. mshtml: Create nsIDOMEvent in create_event if not available. mshtml: Added IHTMLElement3::fireEvent implementation. mshtml: Added IHTMLElement::click implementation. mshtml: Added more events tests. mshtml: Added IHTMLBaseFrame interface stub implementation. mshtml: Added IHTMLFrameBase IDispatchEx support. mshtml: Use DISPATCH_* macros instead of INVOKE_*. mshtml: Added support for DISPATCH_METHOD|DISPATCH_PROPERTYGET calls to InvokeEx implementation. mshtml: Return failure in GetContentType if content type is not available. jscript: Don't use VARTYPE as is in literal_t. jscript: Separate flags parsing from regexp creating. jscript: Create regexp object when evaluating regexp literal. msxml3: Store xmlnode structure instead of pointer in node implementations. shlwapi: Properly handle ParseURL errors in UrlGetPart[AW]. shlwapi: Make more strict restriction for URL scheme and fix error handling in ParseURLA. shlwapi: Make more strict restriction for URL scheme and fix error handling in ParseURLW. shlwapi: Added ParseURL[AW] tests. jscript: Added SetProperty(SCRIPTPROP_INVOKEVERSIONING) implementation. mshtml: Ignore version bits in grfdex. jscript: Ignore version bits in grfdex. jscript: Pass invoke version to IDispatchEx functions. jscript: Return array length in Array.unshift for invoke version >= 2. jscript: Added Error.toString implementation for invoke version >= 2. jscript: Added invoke version 2 tests. jscript: Use the value returned from constructor in 'new' expression if the value if an object. mshtml: Moved creating new element to separated function. mshtml: Use create_nselem in IHTMLOptionFactory::create. mshtml: Use create_nselem in set_font_size. mshtml: Use create_nselem in exec_hyperlink. mshtml: Use create_nsdoc in exec_indent. mshtml: Moved nsdoc to HTMLDocumentNode object. mshtml: Moved nsIDocumentObserver implementation to HTMLDocumentNode object. mshtml: Moved Wine[Add|Remove]Observer calls to HTMLDocumentNode constructor/destructor. mshtml: Get rid of update_nsdocument call in SetStatus hack. mshtml: Moved HTMLDocumentNode creating to HTMLWindow_Create. mshtml: Initialize iframe windows when added to document. jscript: Fixed a test that depends on time zone. jscript: Fixed replace string parsing. mshtml: Call pop_mutation_queue in MUTATION_IFRAME handler. James Helferty (1): d3d9/tests: Fix position of EndScene in visual test. Jeff Zaroyko (2): wined3d: Fix prototype for set_texture_matrix. d3dxof: Remove unused variable. Jeffrey Morlan (1): netapi32: Fix heap buffer overflows. Juan Lang (79): winegcc: Examine each argument of compile command rather than only the first. netapi32: Improve a trace. crypt32: Pass pointer to structure rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CRL entries rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding cert extensions rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CRL entry extensions rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CRL extensions rather than assuming a particular alignment. crypt32: Simplify CRYPT_AsnDecodeExtensions. crypt32: Let decoder helpers do more sanity checking. crypt32: Simplify CRYPT_AsnDecodeSMIMECapabilities. crypt32: Explicitly pass array pointer when decoding PKCS attribute values rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CMS message certs rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CMS message CRLs rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding name constraints' permitted subtrees rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding name constraints' excluded subtrees rather than assuming a particular alignment. crypt32: Simplify CRYPT_AsnDecodeDistPointName. crypt32: Explicitly pass array pointer when decoding CMS message signers rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CTL entries rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CTL extensions rather than assuming a particular alignment. crypt32: Remove a redundant trace. crypt32: Explicitly pass array pointer when decoding policy qualifier notice numbers rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding basic constraints' subtrees rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding cert policy qualifiers rather than assuming a particular alignment. crypt32: Explicitly pass array pointer when decoding CTL entry attributes rather than assuming a particular alignment. crypt32: Simplify CRYPT_AsnDecodePKCSAttributes. crypt32: Add array descriptor members describing offsets of outer structure. crypt32: Simplify calling CRYPT_AsnDecodeArrayNoAlloc. crypt32: Let CRYPT_AsnDecodeArrayNoAlloc calculate array size rather than requiring every caller to do so. crypt32: Further simplify calling CRYPT_AsnDecodeArrayNoAlloc. crypt32: Pass decode flags to CRYPT_AsnDecodeArrayNoAlloc. crypt32: Convert internal callers of CRYPT_AsnDecodeArray to call CRYPT_AsnDecodeArrayNoAlloc. crypt32: Correct a sequence item size. crypt32: Decode names using CRYPT_AsnDecodeArrayNoAlloc. crypt32: Decode unicode names using CRYPT_AsnDecodeArrayNoAlloc. crypt32: Decode authority info access with CRYPT_AsnDecodeArrayNoAlloc. crypt32: Decode cert policies info using CRYPT_AsnDecodeArrayNoAlloc. crypt32: Decode CRL dist points using CRYPT_AsnDecodeArrayNoAlloc. crypt32: Decode enhanced key usages using CRYPT_AsnDecodeArrayNoAlloc. crypt32: Rename CRYPT_AsnDecodeArrayNoAlloc to CRYPT_AsnDecodeArray, and pass a CRYPT_DECODE_PARA * to it so that it can allocate memory if requested. crypt32: Allocate memory if requested in CRYPT_AsnDecodeArray. crypt32: Let CRYPT_AsnDecodeArray allocate memory for its callers. crypt32: Don't pass CRYPT_DECODE_ALLOC_FLAG to array item decoders. crypt32: Simplify CRYPT_AsnDecodeIntInternal. crypt32: Fix an invalid alignment assumption decoding a subtree's maximum. crypt32: Explicitly pass pointers to blob arrays rather than relying on an invalid alignment assumption. crypt32: Explicitly pass pointers to blob arrays rather than relying on an invalid alignment assumption. crypt32: Use helper function to search for certs. crypt32: Introduce a helper function to search for certificates that doesn't require recreating the search key for every certificate. crypt32: Avoid repeatedly decoding authority key id extensions when searching for a cert's issuer. crypt32: Compare certificates in a consistent order. wintrust: Simplify CRYPT_AsnDecodeInt. ws2_32: Don't overwrite address length before checking it. crypt32: Add a safe default for unsupported critical extensions. rsaenh: Add some traces to key importing. rsaenh: Make the enhanced crypto provider the default. wintrust: Correct sizes of structure members. crypt32/tests: Get rid of a couple of certs unneeded by a test. crypt32: Test CertFindCertificateStore for finding Unicode strings. crypt32: Implement CryptFindCertificateInStore for unicode strings. crypt32: Fix duplicating a NULL CRL context. crypt32: Fix duplicating a NULL CTL context. crypt32: Set an output parameter on the success path. crypt32: Add a helper function to encode a cert's public key. crypt32: Use helper function to encode public keys for hashing. crypt32: Encode public keys with NULL parameters if they're empty (and make tests more restrictive). rsaenh: Store key when algid is a CALG_RSA_* algid, too. crypt32: Check basic constraints extension for end certs too. crypt32: Get CA flag from basic constraints extension of every cert in the chain. crypt32: Add key usage extension to non-root CA certs. crypt32: Add tests for key usage in the base policy. crypt32: Check key usage during chain validation. rsaenh: Add more tests of the RC2 key length. rsaenh: Fail if CRYPT_IPSEC_HMAC_KEY is passed to CryptImportKey. rsaenh: Revert part of d3c482250a8232e9657ecefb3e61fff0194e3fbe. crypt32: Fix test failures on older versions of crypt32. wintrust: Test the pgKnownSubject field of WINTRUST_FILE_INFO. advapi32: Fix a comment typo. wintrust: Make sure item size is at least the min size, and only align sizes that are greater. crypt32: Make sure item size is at least the min size, and only align sizes that are greater. Julius Schwartzenberg (2): user32: Change extra value for standard edit class to 6. user32/tests: Test extra value of standard dialog and edit classes. Jörg Höhle (3): winmm: MCI notification is controlled by keyword only. runtest: -i sets WINETEST_INTERACTIVE=1 and enables even more tests. winecoreaudio: Move ERR&WARN out of OSSpinLock sections. Ken Thomases (15): winecoreaudio: Consolidate formatting of FOURCC values in a function. winecoreaudio: Add more debug logging. winecoreaudio: Remove some unused structure fields. winecoreaudio: Move instance-specific fields of WINE_WAVEOUT to sub-struct. winecoreaudio: Make wodMessage signature match WINEMM_msgFunc32 typedef. winecoreaudio: For WODM_* messages, treat dwUser as a driver instance handle. winecoreaudio: Allow opening multiple wave-out instances. winecoreaudio: Fix declaration of CoreAudio_MIDIRelease to match definition. winecoreaudio: Fix an error check (bad copy-paste). winecoreaudio: Minor grammar fix in comment. winecoreaudio: Quiet a noisy FIXME. winmm/tests: Don't complain for Wine drivers that allow multiple wave-out opens. winecoreaudio: Fix incorrect casts from float to DWORD in wodGetVolume. msacm32.drv: Don't access uninitialized memory. winecoreaudio: Allow getting/setting volume on device as well as instances. Louis Lenders (4): include: Add definition of MilMatrix3x2D. dwmapi: Add stub for DwmGetGraphicsStreamTransformHint. d3d9/tests: Test {IDirect3DTexture9, IDirect3DSurface9}::UnlockRect for rectangles that are not locked. kernel32: Add stub for GetVolumePathNamesForVolumeNameW. Maarten Lankhorst (1): winealsa.drv: Remove call to snd_pcm_drain. Marcus Meissner (7): dsound: Check for NULL listener (Coverity). winmm: Return error on NULL ioProc (Coverity). mciwave: Return on error (Coverity). winmm: Handle NULL szFileName in mmioOpen16 (Coverity). cabinet: Fixed free_decompression_temps/_mem , handle NULL (Coverity). localspl: Check for NULL return from HeapAlloc. reg: Remove wrong and useless check (Coverity). Markus Stockhausen (1): dinput8: Ensure balance of CoInitialize/CoUninitialize. Matteo Bruni (4): wpp: Add I/O callbacks. d3dx9: Add D3DXAssembleShader and related declarations. d3dx9: D3DXAssembleShader and D3DXAssembleShaderFromFile stubs. d3dx9: D3DXAssembleShaderFromResource implementation. Michael Stefaniuc (3): windowscodecs: Remove redundant NULL check before HeapFree (Smatch). user32: Remove a duplicated return statement (Smatch). mshtml: Remove redundant NULL check before HeapFree (Smatch). Nikolay Sivov (54): comctl32/tab: Cache window GWL_STYLE style. comctl32/tab: Remove unnecessary helper parameter, use SDK name for UpDown control. comctl32/tab: Remove dead parameter check code. comctl32/tab: Add more TRACE(), further cleanup. comctl32/tab: Handle item focusing better (including keyboard support). comctl32/tab: Support for TCN_KEYDOWN notification. comctl32/monthcal: Process UpDown year control through subclass procedure. comctl32/monthcal: Reuse existing calls to get day of week. comctl32/monthcal: Handle September 1752 with a special case - it's a 19 day month. comctl32/monthcal: Handle over/underflow while navigation with month menu. comctl32/monthcal: Fix a test skip condition - zero is a valid day of week. comctl32/monthcal: Fix column/row calculation for previous and next month. comctl32/monthcal: Simplify parameter set of day of week calculation helper. comctl32/monthcal: Fix multiselection days painting, including intersections with prev/next months. comctl32/monthcal: Fix selection during navigation with prev/next buttons. comctl32: Don't use additional heap allocated pointer to old window procedure. comctl32/datetime: Get rid of duplicated helper. comctl32/datetime: Fix wrong assumption about DTN_DATETIMECHANGE flags, add DTN_CLOSEUP notifications. comctl32/datetime: It isn't allowed to change DTS_SHOWNONE after creation. comctl32/datetime: Use SDK class name for inner button window. comctl32/monthcal: Fix today link test. comctl32/monthcal: Simplify painting operations, split painting to several helpers. comctl32/monthcal: Implement handler for WM_ERASEBKGND. comctl32/monthcal: Add separate handler for WM_PRINTCLIENT. comctl32/comboex: Handle NULL item text case to avoid crash. comctl32/monthcal: Fix painting selected day, remove unneeded operations. comctl32/monthcal: Reduce update rectangle after updating current selection. comctl32/tooltips: Fix an obviously wrong structure size check. comctl32/tooltips: Test the way structure size field is validated. comctl32/tooltips: Remove redundant code, let handlers deal with A<->W conversions. comctl32/tooltips: Remove unneeded helper parameter. comctl32/monthcal: Get/set unicode format flag using MCM_[GET|SET]UNICODEFORMAT. include: Use unicode neutral SendMessage for DateTime and Monthcal macros. comctl32/treeview: Erase background on WM_PAINT if BeginPaint() tells us to do it. comctl32/header: Process input order array more accurately. comctl32/monthcal: Explicitly set required control size. gdi32: Prevent possible buffer overrun. kernel32/tests: Add tests for LOCALE_RETURN_GENITIVE_NAMES flag for GetLocaleInfoW. kernel32/locale: Add support for LOCALE_RETURN_GENITIVE_NAMES for LOCALE_SMONTHNAME* locale data, update Russian nls resource accordingly. comctl32/syslink: Add a WM_ERASEBKGND handler. comctl32/syslink: Implement LWS_TRANSPARENT style. comctl32/syslink: Implement LWS_IGNORERETURN. user32/edit: Don't leak undo buffer. user32/edit: Properly clean up on failure inside WM_NCCREATE handler. comctl32/header: Don't leak Imagelist handle. comctl32/tests: Release activation context handle when we're done with tests. user32/win: Release scroll window data on window destruction. comctl32/listview: Don't query header if it isn't created. comctl32/listview: Free column data on control destruction. comctl32/listview: Free ID array when removing all items. comctl32: Fix imagelist leak when switching LVS_EX_CHECKBOXES style. gdi32: Always create a context for DIB_RGB_COLORS. kernel32: Fix copied data length. comctl32/tests: Explicitly initialize window handle. Owen Rudge (2): comctl32: Only execute hit test in MouseMove if necessary. comctl32: Ensure listview control has focus when marquee dragging. Paul Chitescu (1): netapi32: Add stub for NetFileEnum(). Paul Vriens (22): comctl32/tests: Fix some test failures on older comctl32 versions. ddraw/tests: Don't crash on older ddraw. shell32/tests: Fix test failure on Cyrillic locales. user32/tests: Fix an intermittent test failure. comctl32/tests: Fix a test failure on older comctl32 versions. advapi32/tests: Make some tests table driven. advapi32: Skip leading spaces when parsing. advapi32/tests: Add some extra tests. advapi32/tests: Fix a test failure on W2K and lower. advapi32/tests: Fix a test failure on Vista and higher. winmm/tests: Fix some test failures in Win9x and WinMe. kernel32/tests: Fix some test failures on Win9x/WinMe. dinput/tests: Fix a few intermittent test failures. comctl32/tests: Fix some test failures on older comctl32. oleaut32/tests: Remove a temp file. winspool.drv/tests: Fix a test failure on Vista. ddraw/tests: Fix a test failure on Win9x/WinMe. shell32/tests: Fix a test failure on some Vista boxes. advapi32/tests: Fix some test failures on several platforms. kernel32/tests: Fix an intermittent test failure on Vista+. user32/tests: Skip some tests on Win9x/WinMe. user32/tests: Fix a typo. Piotr Caban (2): jscript: Fixed Global functions lengths. jscript: Added Global.encodeURIComponent implementation. Ray Hinchliffe (1): kernel32: Correct ullTotalVirtual for GlobalMemoryStatusEx(). Rein Klazes (1): user32: Handle MN_GETHMENU in PopupMenuWndProc. Rico Schüller (4): d3d10: Implement ID3D10EffectVariable::GetElement(). d3d10: Implement ID3D10EffectConstantBuffer::GetParentConstantBuffer(). d3d10/tests: Add variable member test. d3d10/tests: Add ID3D10EffectVariable::GetElement() test. Ričardas Barkauskas (2): comctl32/propsheet: Test and fix for crash processing PSM_INDEXTOHWND with no longer valid handle. dinput: Fix counting non mapped axis as pov. Roderick Colenbrander (4): winex11: Introduce get_xrender_picture for retrieving a Picture from a physDev and allocating a Picture when needed. winex11: Add X11DRV_XRender_SetDeviceClipping for syncing the clipping region with XRender pictures. winex11: Use get_xrender_picture in X11DRV_XRender_GetSrcAreaStretch. winex11: Use get_xrender_picture in X11DRV_AlphaBlend. Sergey Khodych (5): riched20: Cache ES_WANTRETURN style. riched20: Enable the dialog mode after receiving WM_GETDLGCODE message. riched20: Implement handling of WM_KEYDOWN VK_RETURN in the dialog mode. riched20: Implement handling of WM_KEYDOWN VK_ESCAPE in the dialog mode. riched20: Implement handling of WM_KEYDOWN VK_TAB in the dialog mode. Stefan Dösinger (13): configure: Check for ms_hook_prologue attribute support. kernel32: Make some functions hookable. user32: Make some functions hookable. shell32: Make some functions hookable. d3d8: Make Direct3DCreate8 hookable. d3d9: Make some functions hookable. ddraw: Make directdraw create functions hookable. dinput: Make the creation functions hookable. d3d: Make EndScene calls hookable. opengl32: Give wglSwapBuffers a real function, make it hookable. wined3d: Make shader specific constants accessible via GL_LIMITS. wined3d: Use GLSL constant limits in GLSL. wined3d: Use ARB constant limits in ARB. Tommy Schultz Lassen (1): msvcr71: Add _vscprintf and _vscwprintf. Tony Wasserka (2): d3dx9: Implement converting and copying ARGB surface data in D3DXLoadSurfaceFromMemory. d3dx9: Add tests for ARGB pixel format conversion in D3DXLoadSurfaceFromMemory. Vincent Povirk (2): ole32: Add test showing storage objects can't be opened twice. urlmon: Add CoInternetGetSecurityUrl stub. Vitaliy Margolen (1): ntoskrnl: Initialize structure size. Wilfried Pasquazzo (3): oleaut32/tests: Testcase for IPicture_Render with icons, check for drawing size and position. oleaut32: Respect size of icons when drawing with IPicture_Render. oleaut32: Updated IPicture_Render testcase to pass on all older Windows. -- Alexandre Julliard julliard@winehq.org