| This is release 0.9.40 of Wine, a free implementation of Windows on Unix. | 
 |  | 
 | What's new in this release: | 
 |   - Many MSHTML improvements. | 
 |   - A few more sound fixes. | 
 |   - Many Direct3D fixes. | 
 |   - 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.40.tar.bz2 | 
 |   http://prdownloads.sourceforge.net/wine/wine-0.9.40.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.39: | 
 |  | 
 | Alex Villacís Lasso (6): | 
 |       quartz: Fix video rendering sizing/positioning bugs. | 
 |       mciwave: Prevent division by zero when processing non-PCM codec. | 
 |       winealsa: Reduce writeahead to next multiple of psize greater than 512. | 
 |       dsound: Make test recover from failure to preserve primary buffer length after SetFormat(). | 
 |       dsound: Reset device playpos/mixpos on buflen change. | 
 |       winemp3: Announce capability to decode at 48 KHz. | 
 |  | 
 | Alexander Nicolaysen Sørnes (3): | 
 |       wordpad: Use Unicode functions in more places. | 
 |       wordpad: Set default font effects to 0. | 
 |       wordpad: Remove unnecessary toolbar resizing code. | 
 |  | 
 | Alexandre Julliard (22): | 
 |       kernel32: Fix VxD open code for the new NtCreateFile syntax for Unix files. | 
 |       winedos: Fix the device open code for the new NtCreateFile syntax for Unix files. | 
 |       winedbg: Added support for indirect call with absolute address. | 
 |       ntdll: Improved the stub behavior of NtQuerySystemInformation(SystemModuleInformation). | 
 |       server: Don't crash when trying to set a file lock on a device. | 
 |       makefiles: Build programs that link against libwine twice with appropriate rpaths. | 
 |       comctl32: Get rid of CharNextW/CharPrevW. Simplify some string functions. | 
 |       shlwapi: Get rid of CharNextW/CharPrevW. Simplify some string functions. | 
 |       shell32: Get rid of CharNextW. | 
 |       advpack: Get rid of CharPrevW. | 
 |       server: Make crash error message more explicit. | 
 |       ntdll: Use the standard exception handling for vm86 GP faults too. | 
 |       mapi32: Get rid of unneeded CharNextA call. | 
 |       crypt32: Fix incorrect usage of CharNextA. | 
 |       wineps.drv: List source files explicitly in the makefile to make it easier to parse. | 
 |       ddraw: Don't link against X libraries. | 
 |       crypt32: Fix an uninitialized variable compiler warning. | 
 |       msi: Avoid some redundant checks in MsiCloseHandle. | 
 |       wrc: Strip C code based on the name of the include file. | 
 |       wpp: Don't suppress output from C include files, that's up to the user. | 
 |       ntdll: Don't print traces from async I/O callbacks. | 
 |       ws2_32: Don't print traces from async I/O callbacks. | 
 |  | 
 | Andrew Talbot (11): | 
 |       msi: Name all or none of the formal arguments in function prototypes. | 
 |       msvidc32: Constify some variables. | 
 |       netapi32: Constify some variables. | 
 |       d3d9/tests: Fix use of uninitialized variable (Coverity). | 
 |       msi: Fix use of uninitialized variable (Coverity). | 
 |       ntdll: Constify some variables. | 
 |       ntdll: Constify some variables. | 
 |       ntdll: Constify some variables. | 
 |       ntdll: Constify some variables. | 
 |       ntdll: Constify some variables. | 
 |       ole32: Constify some variables. | 
 |  | 
 | Aric Stewart (1): | 
 |       riched20: Make richedit control IME aware. | 
 |  | 
 | Damjan Jovanovic (1): | 
 |       winex11.drv: Added better support for the X file drag protocol. | 
 |  | 
 | Dan Hipschman (13): | 
 |       rpcrt4: Add encapsulated union tests. | 
 |       rpcrt4: Remove inaccurate comments. | 
 |       rpcrt4: Fix bug calculating union switch type. | 
 |       rpcrt4: Fix typo in union buffer size calculation. | 
 |       widl: Add tests for arrays of pointers. | 
 |       widl: Fix warnings about unused function parameters. | 
 |       widl: Check for interface pointers in pointer handling. | 
 |       widl: Check for user types when calculating buffer size. | 
 |       widl: Get simple enums working. | 
 |       widl: Fix crash dealing with anonymous unions. | 
 |       rpcrt4/tests: Wrap a try/except block around tests. | 
 |       rpcrt4: Allow enums as union switch types. | 
 |       widl: Allow enums as union switch types. | 
 |  | 
 | David Adam (1): | 
 |       wordpad: French translation for the view item. | 
 |  | 
 | Detlef Riekenberg (10): | 
 |       winspool/tests: Add tests for AddPortEx. | 
 |       localspl/tests: Add tests for AddPortEx. | 
 |       printui: Add stub for printui.dll. | 
 |       printui: Add version resource. | 
 |       ntprint: Add a stub for ntprint.dll. | 
 |       ntprint: Add version resource. | 
 |       ntprint: Implement PSetupCreateMonitorInfo. | 
 |       ntprint/tests: Add initial test. | 
 |       ntprint: Implement PSetupEnumMonitor. | 
 |       ntprint/tests: Add tests for PSetupEnumMonitor. | 
 |  | 
 | Dmitry Timoshkov (4): | 
 |       user32: Insert menu item only after contents of the passed in menu item info have been verified. | 
 |       user32: When inserting a menu item make sure that MDI system buttons stay on the right side. | 
 |       user32: Make MDI get_client_info checks more strict. | 
 |       shell32: Make SHGetDesktopFolder use a cached instance of IShellFolder. | 
 |  | 
 | Emmanuel Maillard (1): | 
 |       configure: Fix libxml2 detection on Mac OS X. | 
 |  | 
 | Evan Stade (10): | 
 |       gdiplus: Implemented GdipDrawBezier. | 
 |       gdiplus: Implemented GdipDrawPie/GdipFillPie. | 
 |       gdiplus: Implemented GdipDrawArc. | 
 |       gdiplus: Implemented GdipDrawCurve2. | 
 |       gdiplus: Implemented GdipDrawLines. | 
 |       gdiplus: Implemented GdipCreatePath and GdipDeletePath. | 
 |       gdiplus: Fix broken graphics path constructor. | 
 |       gdiplus: Fix erroneous pen error checking. | 
 |       gdiplus: Tidy up graphics constructor. | 
 |       gdi32: Added missing call to GDI_ReleaseObj. | 
 |  | 
 | Francois Gouget (11): | 
 |       regedit: Add missing '\n' to an error message. | 
 |       regedit: Don't allow square-bracketed registry paths on the command line (to match native). | 
 |       regedit: Merge getRegClass() and getRegKeyName() to form parseKeyName(). | 
 |       winapi_check: ULONG_PTR is a 'long --pointer', not a 'long'. | 
 |       shlwapi: Update win32.api to fix the winapi_check warnings. | 
 |       crypt32/tests: Fix compilation on systems that don't support nameless unions. | 
 |       advapi32: Add more RegGetValue() conformance tests, and fix Wine accordingly. | 
 |       winapi: Add support for GDIPCONST. | 
 |       gdi32/tests: Run the GetTextMetricsA() tests on Windows 9x too. | 
 |       ddraw/tests: Fix compilation on systems that don't support nameless unions. | 
 |       dsound: Add missing '\n' to Wine trace. | 
 |  | 
 | H. Verbeet (23): | 
 |       wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for mapped stages. | 
 |       wined3d: Mask texture stage state arguments with WINED3DTA_SELECTMASK when comparing them. | 
 |       wined3d: Use texture2D to sample in pshader_glsl_texdp3tex(). | 
 |       wined3d: Make use of the texUnitMap in drawStridedSlow as well. | 
 |       wined3d: Fix various incorrect uses of GL_LIMITS(texture_stages) and GL_LIMITS(sampler_stages). | 
 |       wined3d: Do not mark texture stages > MAX_TEXTURES dirty, they don't exist. | 
 |       wined3d: Keep track of what stage a texturing unit is mapped to. | 
 |       wined3d: Keep track of what fixed function texture stages are in use. | 
 |       wined3d: Split of the mapping of fixed function samplers from IWineD3DDeviceImpl_FindTexUnitMap(). | 
 |       wined3d: Remove the sharing of mapping code for fixed function and pixel shader samplers. | 
 |       wined3d: Split of the mapping of pixel shader samplers from IWineD3DDeviceImpl_FindTexUnitMap(). | 
 |       wined3d: Rename max_samplers to max_fragment_samplers. | 
 |       wined3d: Add max_vertex_samplers and max_combined_samplers to WineD3D_GL_Info. | 
 |       wined3d: Increase the sizes of texturing related arrays, in order to support vertex textures. | 
 |       wined3d: Map vertex sampler numbers to the correct internal array indices for GetSamplerState and SetSamplerState. | 
 |       wined3d: Map vertex sampler numbers to the correct internal array indices for GetTexture and SetTexture. | 
 |       wined3d: Cleanup GL extension detection. | 
 |       wined3d: Implement texldl. | 
 |       wined3d: Map vertex samplers to a texturing unit. | 
 |       wined3d: Check more thoroughly if a stage references a texture. | 
 |       wined3d: Cleanup device_map_fixed_function_samplers(). | 
 |       wined3d: In device_map_psamplers(), only touch the sampler mapping for samplers that are used by the shader. | 
 |       wined3d: Get rid of the oneToOneTexUnitMap field. | 
 |  | 
 | Hans Leidekker (4): | 
 |       pdh: Add public headers. | 
 |       pdh: Implement PdhOpenQuery{A, W} and PdhCloseQuery. | 
 |       pdh: Implement PdhAddCounter{A, W} and PdhRemoveCounter. | 
 |       pdh: Implement PdhCollectQueryData. | 
 |  | 
 | Huw Davies (5): | 
 |       wineps.drv: Ignore ExtTextOut calls that occur before the job has started. | 
 |       oleaut32: Interfaces that derive from IDispatch should be marshaled as VT_DISPATCH. | 
 |       oleaut32: Implement marshaling of VT_BYREF interfaces. | 
 |       oleaut32: Handle marshaling of VARTYPE-less FADF_VARIANT safearrays. | 
 |       oleaut32: Extend _invoke to cope with more args. | 
 |  | 
 | Jacek Caban (24): | 
 |       mshtml: Don't check out VT in exec_fontsize. | 
 |       mshtml: Move keypress event listener to separated object. | 
 |       mshtml: Move load event listener to separated object. | 
 |       mshtml: Get rid of no longer used nsIDOMEventListener interface in NSContainer. | 
 |       mshtml: Added nsIEmbeddingSiteWindow::SetFocus implementation. | 
 |       mshtml: Added nsIEmbeddingSiteWindow:[Get|Set]Visibility implementation. | 
 |       mshtml: Activate nsWebBrowser after creating document window. | 
 |       mshtml: Notify IOleControlSite about focus changes. | 
 |       mshtml: Set focus to FALSE in InPlaceDeactivate. | 
 |       mshtml: Added IOleControlSite tests. | 
 |       mshtml: Better test of QueryInterface. | 
 |       mshtml: Added IOleInPlaceUIWindow tests. | 
 |       mshtml: Added IHTMLDOMNode::get_nodeName implementation. | 
 |       mshtml: Added beginning DOM tests. | 
 |       mshtml: Added more QueryInterface tests. | 
 |       mshtml: Correctly handle delete key in editor mode. | 
 |       mshtml: Added IDM_DELETE support in QueryStatus. | 
 |       mshtml: Added Exec(IDM_DELETE) implementation. | 
 |       mshtml: Don't use dynamic allocation for connection points. | 
 |       mshtml: Store connection point as a list. | 
 |       mshtml: Move IConnectionPointContainer to the separated struct. | 
 |       mshtml: Make connection points container independent. | 
 |       mshtml: Added IConnectionPointContainer implementation to HTMLBodyElement. | 
 |       mshtml: Add IID_IPropertyNotifySink and DIID_HTMLTextContainerEvents connection points to HTMLBodyElement. | 
 |  | 
 | James Hawkins (20): | 
 |       msi: Forward MsiApplyPatchA to MsiApplyPatchW. | 
 |       msi: Implement MsiApplyPatchW. | 
 |       msi: Patches are applied based on ProductCode, not ProductID. | 
 |       msi: Send the expected data to set_deferred_action_props. | 
 |       msi: Properly delete rows from the table, instead of zeroing out the row. | 
 |       ntoskrnl.exe: Add a stub implementation of KeInitializeTimer. | 
 |       msi: Fetch the volume name when getting disk info. | 
 |       msi: Add a stub implementation of MsiQueryComponentStateA. | 
 |       msi: Add tests for publishing and unpublishing products, features, and components. | 
 |       msi: Add tests for MsiQueryProductState. | 
 |       msi: Validate MsiQueryProductCode parameters. | 
 |       msi: If the user product key exists, the product's state is advertised. | 
 |       msi: Use the correct registry key when detecting a published product. | 
 |       msi: Any value of WindowsInstaller besides 0 means the product is installed. | 
 |       msi: If the UserData product key exists, but the user product key doesn't, the product is absent. | 
 |       msi: Set the WindowsInstaller value of the UserData product key when publishing the product. | 
 |       msi: Add support for remote handles. | 
 |       msi: Reference count the custom action data to avoid freeing the data by another thread. | 
 |       msi: Add tests that show '!=' is not a valid conditional expression operator. | 
 |       msi: Ignore invalid conditional expressions when checking the launch conditions. | 
 |  | 
 | Jason Edmeades (11): | 
 |       cmd.exe: Add basic support for && and (...) syntax. | 
 |       cmd.exe: Pass command structure into WCMD_pipe, not command line itself. | 
 |       cmd.exe: Pass the command list through so it is available to built in commands. | 
 |       cmd.exe: GOTO throws away any preloaded multi part/line command. | 
 |       cmd.exe: Lines starting with REM ignore any multiline/part characters. | 
 |       cmd.exe: EXIT /b skips any residual commands. | 
 |       cmd.exe: Parse multipart FOR statements. | 
 |       cmd.exe: Correctly parse IF ELSE plus multipart/multiline. | 
 |       cmd.exe: Support IF..ELSE processing tolerate multiline/part lines. | 
 |       cmd.exe: Fix FOR so it works as 'well' as before. | 
 |       cmd.exe: for loop by default only matches files. | 
 |  | 
 | Jason Green (1): | 
 |       winscard: Add extended stub for SCardEstablishContext. | 
 |  | 
 | Jeff Latimer (3): | 
 |       hnetcfg: Stub implementation of the dll. | 
 |       crypt32: Fix possible dereference of NULL ptr. | 
 |       cabinet: Fix a potential NULL reference. | 
 |  | 
 | Juan Lang (18): | 
 |       wincrypt: Add missing message flags and parameters. | 
 |       crypt32: Don't return fake HCRYPTMSG from CryptMsgOpenTo*. | 
 |       crypt32: Add basic tests for CryptMsg functions. | 
 |       crypt32: Add basic parameter checking to CryptMsgOpenTo*. | 
 |       crypt32: Add base message type and use it to implement CryptMsgDuplicate and CryptMsgClose. | 
 |       crypt32: Test CryptMsgOpenToEncode for data messages. | 
 |       crypt32: Test CryptMsgUpdate for data messages opened to encode. | 
 |       crypt32: Test CryptMsgGetParam for data messages opened to encode. | 
 |       crypt32: Stub CryptMsgOpenToEncode for data messages. | 
 |       crypt32: Add a get param function, use it to implement CryptMsgGetParam. | 
 |       crypt32: Add an update function, use it to implement CryptMsgUpdate. | 
 |       crypt32: Store stream info in message. | 
 |       crypt32: Add a finalized member to message. | 
 |       crypt32: Implement CryptMsgUpdate for data messages opened to encode. | 
 |       crypt32: Add a stub get param function for data messages and remove stub message from open function. | 
 |       crypt32: Add tests for data message encoding. | 
 |       crypt32: Implement getting bare content for data messages opened to encode. | 
 |       crypt32: Implement getting content for data messages opened to encode. | 
 |  | 
 | Kai Blin (1): | 
 |       ws2_32: Return WSAEINVAL for unhandled address families in WSAStringToAddress. | 
 |  | 
 | Ken Thomases (4): | 
 |       winecoreaudio: Extract loop, wodNotifyClient for WAVEHDRs in list, to separate function. | 
 |       winecoreaudio: Move a variable declaration to narrower scope, reduce whitespace. | 
 |       winecoreaudio: Move notify of completed WAVEHDRs to end of wodReset. | 
 |       winecoreaudio: Make wodReset fail if called on a closed device. | 
 |  | 
 | Kirill K. Smirnov (1): | 
 |       winhelp: Fix popup window style. | 
 |  | 
 | Konstantin Kondratyuk (2): | 
 |       uninstaller: Add Russian resources. | 
 |       programs/winefile: Add Russian resources. | 
 |  | 
 | Kovács András (1): | 
 |       Add dwmapi.dll stub. | 
 |  | 
 | Lei Zhang (6): | 
 |       riched20: Add tests for EM_FORMATRANGE. | 
 |       winex11.drv: Send WM_MOUSEACTIVATE before closing a window. | 
 |       winex11.drv: Reset focus if application does not want to be activated. | 
 |       comctl32: Reduce duplicate code between PropertySheetA/W. | 
 |       comctl32: Reduce duplicate code between PROPSHEET_CollectSheetInfoA/W. | 
 |       comctl32: Determine if PSH_PROPSHEETPAGE is set once. | 
 |  | 
 | Maarten Lankhorst (8): | 
 |       winealsa: Finally get rid of the thread in alsa directsound acceleration. | 
 |       dsound: Give rougher estimates for fraglen to satisfy alsa. | 
 |       dsound: Simplify mixing by removing remixing support, and fix its waveout breakage. | 
 |       dsound: Tune some parameters for alsa waveout. | 
 |       winealsa: Optimize GetPosition() more in dsalsa. | 
 |       dsound/winealsa: Remove writelead for alsa directsound. | 
 |       winealsa: Silence buffer on allocation. | 
 |       dsound: Fix calcplayposition to handle mixed amount > buffer length better. | 
 |  | 
 | Marcus Meissner (1): | 
 |       wined3d: Fixed pointer casting and additions. | 
 |  | 
 | Michael Stefaniuc (34): | 
 |       msvcrt: Move definition of 2 static inline functions up and remove the forward declaration of those. Found by sparse. | 
 |       shlwapi: Do not use wide character constants. | 
 |       winspool.drv/tests: Specify the arguments of the function in the function. | 
 |       winmm: Do not dump the version info when loading drivers. | 
 |       shlwapi: Remove more wide character constants. | 
 |       riched20: Do not use wide character constants. | 
 |       setupapi: Do not use wide character constants. | 
 |       oleaut32: Do not use wide character constants. | 
 |       ole32: Do not use wide character constants. | 
 |       comctl32: Do not use wide character constants. | 
 |       dmloader: Do not use wide character constants. | 
 |       dsound: Fix missing unlock on an error path. Found by Smatch. | 
 |       winealsa.drv: Fix missing unlock on the error path. Found by Smatch. | 
 |       msvcrt: Do not use wide character constants. | 
 |       gdi32: Multi-character character constants aren't portable as their behaviour is compiler dependent according to the C standard. Found by sparse. | 
 |       ddraw: Fix missing unlock on an error path. Found by Smatch. | 
 |       winejack.drv: Fix missing unlock. Found by Smatch. | 
 |       msacm32: Replace malloc/free with HeapAlloc/HeapFree. | 
 |       winmm: Replace malloc with HeapAlloc. | 
 |       cmd: Remove superfluous casts of void pointers to other pointer types. | 
 |       quartz: Remove superfluous casts of void pointers to other pointer types. | 
 |       iccvid: Remove superfluous casts of void pointers to other pointer types. | 
 |       ole32: Remove superfluous casts of void pointers to other pointer types. | 
 |       oleaut32: Remove superfluous casts of void pointers to other pointer types. | 
 |       kernel32: Remove superfluous casts of void pointers to other pointer types. | 
 |       gdi32: Remove superfluous casts of void pointers to other pointer types. | 
 |       wined3d: Remove superfluous casts of void pointers to other pointer types. | 
 |       dbghelp: Remove superfluous casts of void pointers to other pointer types. | 
 |       wininet: Remove superfluous casts of void pointers to other pointer types. | 
 |       winedos: Remove superfluous casts of void pointers to other pointer types. | 
 |       janitorial: Remove superfluous casts of void pointers to other pointer types. | 
 |       winefile: Do not use wide character constants. | 
 |       winefile: Do not use the TEXT() macro on character constants. The implicit cast from char to WCHAR works as well in UNICODE mode. | 
 |       comctl32: Replace malloc() with HeapAlloc(). | 
 |  | 
 | Misha Koshelev (20): | 
 |       shell32: Conform to native in SHELL_ArgifyW for unquoted %1 in registry keys. | 
 |       wine.inf: Quote %1 for Msi.Package shell actions per native. | 
 |       gdi32/tests: Add framework for tests of drawing functions in paths, add test for ArcTo in paths. | 
 |       gdi32: Fix ArcTo to use proper starting and ending points. | 
 |       gdi32: Set current position properly after ArcTo. | 
 |       gdi32: Allow arbitrary start entry types in PATH_DoArcPart, not just PT_MOVETOs. | 
 |       gdi32: Handle ArcTo in paths as native. | 
 |       gdi32/tests: Expand framework for tests of drawing functions in paths, add test for AngleArc in paths. | 
 |       gdi32: Emulate AngleArc using ArcTo. | 
 |       gdi32/tests: Fix test_widenpath to succeed on Win98. | 
 |       setupapi: Simplify code as native setupapi does not handle quoted paths. | 
 |       wine.inf: Fix path to rundll32.exe in inffile/shell/install/command subkey. | 
 |       winemenubuilder: Create/release semaphore only around call to wineshelllink. | 
 |       winemenubuilder: Wait for parent process to finish instead of creating RunOnce entry that may never run. | 
 |       winemenubuilder: Do not WINE_ERR in InvokeShellLinker if we are going to try again. | 
 |       shell32/tests: Allow individual tests in check_lnk to be todo_wine'd. | 
 |       shell32/tests: Add test for shell links to existing non-executable files. | 
 |       shell32/tests: Allow CoCreateInstance to return E_NOINTERFACE to pass on Win98; add skips and display return values. | 
 |       shell32/tests: Fix tests of IShellLinkA_SetPath to conform on both Windows 98 and XP. | 
 |       shell32: Fix shelllink creation to non-executable files and remove unnecessary code. | 
 |  | 
 | Nigel Liang (1): | 
 |       winex11.drv: Remove call to XCreateFontSet. | 
 |  | 
 | Paul Vriens (13): | 
 |       crypt32/tests: Don't crash on Vista. | 
 |       user32/tests: Only do the GetProcAddress once. | 
 |       mscms/tests: Don't crash on Vista. | 
 |       mscms/tests: Fix wrong test for failure. | 
 |       kernel32/tests: Don't crash on Vista. | 
 |       kernel32/tests: Don't crash (on Vista). | 
 |       wintrust/tests: Add tests for CryptCATAdminCalcHashFromFileHandle. | 
 |       advapi32/tests: Add some service related tests. | 
 |       advapi32/service: Use the correct registry key for the service account. | 
 |       advapi32/service: Fix wrong key. | 
 |       advapi32/service: Return (more) correct needed buffersize. | 
 |       advapi32/service: Make sure we fill all struct members. | 
 |       advapi32/service: Don't rely blindly on type. | 
 |  | 
 | Pedro Maia (1): | 
 |       shell32: Update paths in Portuguese resource. | 
 |  | 
 | Rob Shearman (37): | 
 |       rpcrt4: Implement encapsulated union NDR functions. | 
 |       widl: Implement pointer descriptions for all embedded pointer types. | 
 |       widl: Fix detection of structures with non-conformant strings. | 
 |       widl: Write out embedded pointers for the element type when writing out arrays. | 
 |       widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures. | 
 |       rpcrt4: Use the offset to array data in embedded pointer format descriptions. | 
 |       rpcss: Remove lazy timeout mechanism and use __wine_make_system_process instead. | 
 |       msi: Only use the long name for the file source if the file has one. | 
 |       mshtml: The SRC value returned from HTMLElement_getAttribute should be an absolute, not relative URL. | 
 |       mshtml: Implement HTMLElement_setAttribute. | 
 |       mshtml: Fix HTMLDocument3_get_documentElement to get the right nsIDOMNode. | 
 |       mshtml: Notify the Gecko stream listener that we stopped binding, if an error occurs in start_binding. | 
 |       advapi32: Always set the requested fields of the security descriptor according to the info flags in GetNamedSecurityInfoW. | 
 |       mshtml: Implement HTMLElement_get_children. | 
 |       rpcrt4: Don't use add on the sizes of array elements to an open-ended structure; use FIELD_OFFSET with the array index instead. | 
 |       rpcrt4: Add support for ServerAllocSize parameters. | 
 |       rpcrt4: Add a STUBLESS_FREE phase for freeing the allocated memory in the server function. | 
 |       rpcrt4: Return a fault packet if the interface/object pair in a request packet aren't registered. | 
 |       rpcrt4: Close the connection if a protocol error or certain other kinds of errors occur, instead of returning it to the connection pool. | 
 |       rpcrt4: Translate STATUS_ACCESS_VIOLATION exceptions caught whilst executing the stub function to ERROR_NOACCESS to prevent confusing exceptions occurring in the client. | 
 |       rpcrt4: When an exception is raised, return the stored exception code instead of the generic RPC_S_CALL_FAILED. | 
 |       rpcrt4: Store the assoc_group_id field returned from the bind_ack packet and use it when creating further connections in the association group. | 
 |       rpcrt4: Try a lot harder to resuse existing connections by comparing inside the RpcQualityOfService and RpcAuthInfo objects. | 
 |       rpcrt4: Set PointerBufferMark to the buffer location immediately after the non-pointer data in complex struct and array marshaling and unmarshaling to keep to the DCE/RPC specification. | 
 |       rpcrt4: Implement marshalling/unmarshalling for the range NDR type. | 
 |       rpcrt4: Implement marshalling, unmarshalling and buffer sizing for the context handle type. | 
 |       rpcrt4: Dereference the pointer passed to the marshaling/unmarshaling/sizing routines in complex types for interface pointers. | 
 |       msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. | 
 |       msi: Check the return value of VerQueryValueW in msi_get_disk_file_version. | 
 |       msi: Free version after using lpVer in msi_get_disk_file_version as lpVer points inside of version. | 
 |       msi: Fix loading string tables for databases that use 3-byte string references and that have a non-zero codepage (i.e. != CP_ACP). | 
 |       msi: Fix bytes_per_column for binary types when the database is using 3-byte string references. | 
 |       msi: Fix transforms to work when the number of bytes per string reference differs to that of the database it is being applied to. | 
 |       rpcrt4: Remove the unused AuthInfo field from the RpcAssoc structure and Used from RpcConnection. | 
 |       rpcrt4: Make pointers to RPCRT4_BuildBindHeader and RPCRT4_BuildBindAckHeader const. | 
 |       rpcrt4: Store the assoc_group_id in the connections. | 
 |       wine.inf: Add the SystemDrive environment variable. | 
 |  | 
 | Stefan Dösinger (26): | 
 |       d3d9: Hold the lock in IDirect3D9 methods. | 
 |       d3d9: Hold the lock in methods implemented in device.c. | 
 |       d3d9: Hold the lock in cubetexture methods. | 
 |       d3d9: Hold the lock in indexbuffer methods. | 
 |       d3d9: Hold the lock in Pixelshader functions. | 
 |       d3d9: Hold the lock in query methods. | 
 |       d3d9: Release the wined3d query when the d3d9 query is destroyed. | 
 |       d3d9: Hold the lock in stateblock methods. | 
 |       ddraw: Test for incorrect surface desc sizes in GetSurfaceDesc. | 
 |       d3d8: Convert fvfs to vertex declarations. | 
 |       wined3d: Remove the FVF codepath from drawprim. | 
 |       wined3d: Unload texture coords for all supported texture stages. | 
 |       wined3d: Emulate tracking of multiple material properties. | 
 |       ddraw: Add a test for incorrect surface desc sizes for Lock(). | 
 |       ddraw: Check for incorrect rectangles to DDrawSurface::Blt. | 
 |       wined3d: Depthfill blits are allowed between BeginScene and Endscene. | 
 |       d3d9: Hold the lock in suface methods. | 
 |       d3d9: Hold the lock in swapchain methods. | 
 |       d3d9: Hold the lock in Texture methods. | 
 |       d3d9: Hold the lock in Vertexbuffer methods. | 
 |       d3d9: Hold the lock in VertexDeclaration methods. | 
 |       d3d9: Hold the lock in VertexShader methods. | 
 |       wined3d: Move material applying to the state table. | 
 |       wined3d: Clamp material power to 128.0. | 
 |       wined3d: Skip the start offset to the source array in IWIneD3DVertexShaderImpl_SetLocalConstantsF. | 
 |       wined3d: Some point sprite fixes. | 
 |  | 
 | Tim Schwartz (2): | 
 |       net.exe: Add NET STOP. | 
 |       net.exe: Add missing CloseServiceHandle(). | 
 |  | 
 | Vitaliy Margolen (4): | 
 |       dinput: Remove duplicate code. | 
 |       dinput: Move parent dinput reference into base class. | 
 |       dinput: Combine all Release functionality into base class. | 
 |       dinput: Move key state array into object. | 
 |  | 
 | Vitaly Budovski (1): | 
 |       winealsa: Fix incorrect callback private value. | 
 |  | 
 | -- | 
 | Alexandre Julliard | 
 | julliard@winehq.org |