Wine release 0.9.56

Alexandre Julliard julliard at
Fri Feb 22 10:15:51 CST 2008

This is release 0.9.56 of Wine, a free implementation of Windows on Unix.

What's new in this release:
  - Proper handling of OpenGL/Direct3D windows with menu bars.
  - Stubs for all the d3dx9_xx dlls.
  - Several graphics optimizations.
  - Many installer fixes.
  - Improved MIME message support.
  - 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:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git or CVS
repositories. Check respectively or for details.

If you fix something, please submit a patch; instructions on how to do
this can be found at

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.55:

Alexander Dorofeyev (8):
      ddraw: Fix executebuffer branching with non-zero offset.
      ddraw/tests: Add test for branch instruction with non-zero offset.
      ddraw: Fix palette handling in IDirect3DTexture_Load.
      ddraw/tests: Split d3d1 initialization and destruction into separate functions.
      ddraw/tests: Add test for palette handling in IDirect3DTexture_Load.
      wined3d: Take alpha from device palette entry for d3d 8 and later.
      ddraw: Release interfaces when exiting with error.
      ddraw/tests: Add a test of D3DTBLEND_MODULATE with P8 texture.

Alexandre Julliard (33):
      comctl32: Process messages while waiting for the animation thread to finish.
      msi/tests: Fix test that depends on the order of the files in a directory.
      ntdll: Store the unhandled exception filter at startup to avoid race conditions.
      kernel32: Don't save the signal mask in sigsetjmp.
      shell32: Add support for the NoDrives registry key.
      libwine: Abstract part of the utf8 char decoding to a separate function.
      libwine: Add option for Unicode composition in utf-8 -> wchar conversion.
      kernel32: On Mac OS, recompose the Unicode strings we get from the OS.
      browseui: Remove WINAPI from functions that don't need it.
      comctl32: Remove unnecessary \n in trace.
      gdi32: Export the DC hook functions as 32-bit functions.
      winex11: Use GetDCHook to retrieve the dce pointer instead of storing it in the physdev structure.
      kernel32: Fixed the active processor mask on Mac OS.
      winedbg: Avoid using size_t in an error message.
      user32: Rewrite SWP_DoOwnedPopups to take into account topmost windows.
      winex11: Move the raising of windows on SetFocus to the X11 driver where it belongs.
      gdi32: Reimplemented IsGDIObject16 and moved it to gdi16.c.
      gdi32: Reimplemented GetObject16 and moved it to gdi16.c.
      gdi32: Get rid of the 16-bit GetObject functions.
      gdi32: Move a few more gdiobj functions to gdi16.c.
      gdi32: Avoid calling GetObject16 from 32-bit code.
      wineboot: Delete files from dllcache once they have been installed.
      Avoid the nounistd option that doesn't exist on older flex, define YY_NO_UNISTD_H instead.
      server: Don't access the process after send_client_fd as it may have been killed.
      dxguid: Add a few more iids.
      uuid: Remove a few iids that don't belong here.
      uuid: Fixed the CLSID_Picture_EnhMetafile definition.
      user32: Pass the modified SetWindowPos flags to the set_window_pos server request.
      winex11: Re-introduce a separate X11 window for the client area of top-level windows.
      winex11: Make the BitBlt short-cuts more generic to apply to all possible ROPs.
      winex11: Keep track of the window colormap and free it on destroy.
      winex11: Re-create the client window when setting the pixel format on a top-level window.
      winex11: Force the client dimensions to at least 1x1 in sync_gl_drawable.

Alistair Leslie-Hughes (28):
      msxml3: Corrected tests for msxml service packs versions.
      msxml3: Implement IXMLDOMProcessingInstruction target.
      msxml3: Implement IXMLDOMAttribute name property.
      msxml3: Support functions for typelib.
      msxml3: Implemented IDispatch for IXMLDOMText.
      msxml3: Implemented IDispatch for IXMLDOMSchemaCollection.
      msxml3: Implemented IDispatch for IXMLDOMProcessingInstruction.
      msxml3: Implemented IDispatch for IXMLDOMCDATASection.
      msxml3: Implemented IDispatch for IXMLDOMComment.
      msxml3: Implemented IDispatch for IXMLDOMDocumentFragment.
      msxml3: Implemented IDispatch for IXMLDOMElement.
      msxml3: Implemented IDispatch for IXMLDOMEntityReference.
      msxml3: Implemented IDispatch for IXMLDOMNamedNodeMap.
      msxml3: Implemented IDispatch for IXMLDOMParseError.
      msxml3: Implemented IDispatch for IXMLDOMNodeList.
      msxml3: Implemented IDispatch for IXMLElement.
      msxml3: Implemented IDispatch for IXMLDocument.
      msxml3: Implemented IDispatch for IXMLDOMDocument2.
      msxml3: Implement IXMLDOMText length property.
      msxml3: Implemented IDispatch for IXMLDOMAttribute.
      msxml3: Implement put_dataType.
      slc: Initial stub DLL.
      msxml3: Correct get_nodeValue for PI Nodes.
      msxml3: Implement get_data for PI Nodes.
      msxml3: Added PI tests.
      msxml3: Implement IDispatch for IXMLDOMImplementation.
      msxml3: Implement IDispatch for IXMLDOMNodeList.
      slc: Added stub for SLGetWindowsInformationDWORD.

Andrew Riedi (1):
      user32: Test LoadImage() to load an icon as a cursor.

Andrew Talbot (14):
      winejoystick.drv: Remove unneeded casts.
      wineoss.drv: Remove unneeded casts.
      atl: Assign to structs instead of using memcpy.
      avifil32: Assign to structs instead of using memcpy.
      cabinet: Assign to structs instead of using memcpy.
      comctl32: Assign to structs instead of using memcpy.
      comdlg32: Assign to structs instead of using memcpy.
      dbghelp: Assign to struct instead of using memcpy.
      d3d9: Assign to struct instead of using memcpy.
      comdlg32: Rename some identifiers to reflect their width.
      crypt32: Assign to structs instead of using memcpy.
      dmband: Assign to struct instead of using memcpy.
      dmcompos: Assign to structs instead of using memcpy.
      dmband: Rename identifiers to remove false implications of type.

Aric Stewart (6):
      imm: More correctly handle the presence of the default IME input window on IME open and close.
      imm: Implement ImmGenerateMessage.
      version: Check for 16-bit file format before returning ERROR_RESOURCE_DATA_NOT_FOUND.
      imm: Ensure hCompStr handle is not NULL and check for empty composition strings properly.
      gdi32: Japanese Windows had a default fallback Font SystemLink of Microsoft Sans Serif. Implement that for Japanese.
      coreaudio: Set mDataByteSize of the buffer to the amount data provided. Greatly helps reduce audio corruption on buffer underflows.

Austin English (1):
      README: Update some outdated information.

Chris Robinson (1):
      winemp3: Don't keep unused data buffered.

Christian Authmann (1):
      explorer: Add meaningful titles to virtual desktop windows.

Dan Hipschman (1):
      widl: Allow is_string_type to work for typedef'd types.

Dan Kegel (1):
      msvcrt: Fix EOF behavior on read from pipe or console.

David Adam (1):
      d3dx8: Fix a typo in d3dx8math.h.

Detlef Riekenberg (1):
      ddraw/tests: Avoid endless loop, when T&L is not supported.

Divan Burger (1):
      comdlg32: Fix memory leak in colour dialog.

Dmitry Timoshkov (4):
      user32: Add a couple of tests for WS_EX_TOPMOST.
      user32: Use custom window procs instead of DefWindowProcA/W in the IsWindowUnicode test.
      user32: Add a z-order test for owned popup windows.
      winex11.drv: Add an optimized path for BitBlt(SRCINVERT).

Eric Pouech (1):
      dbghelp: Fix erroneous access to dwarf symbol cache.

Erich Hoover (2):
      kernel32: Implement ReplaceFileA.
      kernel32: Add tests for ReplaceFileA and ReplaceFileW.

Francois Gouget (19):
      user32/tests: Add the trailing '\n' to ok() calls.
      tests: Avoid InterlockedExchangeAdd() as it is not supported on Windows 95.
      UTF-8 resource files must explicitly say so with a pragma.
      kernel32: Add prototypes for [GS]etDynamicTimeZoneInformation().
      kernel32/tests: Fix the time tests when 'Automatically adjust clock for daylight saving changes' has been unset.
      mscms: [GS]etColorSpace() are not supposed to be defined in icm.h.
      advapi32: Add some missing CRED_TYPE_XXX constants.
      advapi32: Add a rudimentary implementation of CredGetSessionTypes().
      advapi32/tests: Factorize the password constants.
      advapi32/tests: Check that a credential type is supported before testing it. Test CRED_TYPE_DOMAIN_VISIBLE_PASSWORD credentials. Factorize the CredentialBlob checks.
      Assorted spelling fixes.
      mscms/tests: EnumColorProfiles() should not fail even if there are no ICM files in the 'color directory'.
      mscms/tests: The presence of an ICM file in the color directory has nothing to do with the presence of a registered RGB profile.
      inetcomm: Fix compilation on systems that don't support nameless unions.
      msi: Use 'HKCU\Software\Microsoft\MS Setup (ACME)' as a source for the default user and company names before falling back to the RegisteredXXX values. Fix the conformance test accordingly.
      advapi32/tests: Remove an obsolete comment: Wine's on-disk registry format now supports string values with no trailing '\0'.
      advapi32/tests: Check whether RegGetValue() '\0'-terminates the buffer when retrieving a zero-byte string value.
      wininet: Document HttpAddRequestHeadersW()'s handling of the trailing '\0'. Fix tracing of the corresponding header strings as they may not be '\0' terminated.
      wininet/tests: Don't include the trailing '\0' in dwHeadersLength otherwise HttpSendRequestEx() sends it too which some servers object to.

Frans Kool (29):
      comdlg32: Added Dutch translations.
      shell32: Added Dutch translations.
      oleview: Added Dutch translations.
      winefile: Added Dutch translations.
      regedit: Added Dutch translations.
      taskmgr: Corrected Dutch translations.
      cmd: Added & corrected Dutch translations.
      winecfg: Added missing Dutch translations.
      cmdlgtst: Added missing Dutch translations.
      mpr: Added Dutch translations.
      notepad: Added missing LGPL License in Dutch translations.
      oledlg: Added missing Dutch translations.
      shdoclc: Added missing Dutch translations.
      mshtml: Added missing Dutch translations.
      progman: Added missing LGPL-license in Dutch translations.
      wineconsole: Added missing Dutch translations.
      winhelp: Added missing Dutch translations.
      localui: Created Dutch translations.
      xcopy: Created Dutch translations.
      browseui: Created Dutch translations.
      credui: Created Dutch translations.
      net: Created Dutch translations.
      msvfw32: Created Dutch translations.
      write: Created Dutch translations.
      wineboot: Created Dutch translations.
      msvidc32: Created Dutch translations.
      localspl: Created Dutch translations.
      iccvid: Created Dutch translations.
      crypt32: Created Dutch translations.

Gerald Pfeifer (4):
      gdi32: For unsigned types, directly use INTERNAL_YDS
      shell32: Adjust a format specifier and remove a redundant range check in ILGetDisplayNameExW().
      msi: Adjust the signedness of three variables.
      msi: Remove unused parameter to msi_comp_find_prodcode().

Hans Leidekker (3):
      wininet: Honour the version override in HttpOpenRequest.
      wininet: Handle the "100 Continue" response by ignoring it.
      wininet: Rename a function to better match what it does.

Huw Davies (20):
      inetcomm: Add the beginnings of IMimeMessage_Load.
      inetcomm: Partial implementation of IMimeBody_GetData.
      inetcomm: Create the root body in IMimeMessage_Load.
      inetcomm: Implement IMimeMessage_BindToObject.
      inetcomm: Added missing initialization.
      inetcomm: Add a sub-stream implementation.
      inetcomm: Create a body tree for multipart messages.
      inetcomm: Implement IMimeMessage_GetBody.
      inetcomm: Implement IMimeMessage_CountBodies.
      inetcomm: Implement IMimeMessage_Find{First,Next}.
      inetcomm: Forward a few IMimeMessage functions to the appropriate IMimeBody functions.
      inetcomm: Implement IMimeMessage_GetTextBody.
      inetcomm: Implement IMimeMessage_GetAttachments.
      inetcomm: Implement IMimeBody_GetProp for the primary context type.
      inetcomm: Stub IMime{Message, Body}_GetCharset to return a NULL charset.
      inetcomm: Stub for MimeOleGetCharsetInfo.
      inetcomm: Implement IMimeMessage_GetMessageSource.
      inetcomm: Improve some TRACEs.
      inetcomm: Add IStream_CopyTo to the sub-stream implementation.
      user32: Add a test for CS_OWNDC windows that are created invisible.

Jacek Caban (25):
      mshtml: hr element is not a space element for moving functions.
      mshtml: Fixed bound_pos handling in move_prev_chars.
      mshtml: Mode range tests.
      wininet: Added beginning support for HTTP cache files.
      wininet: Added correct InternetQueryOption(INTERNET_OPTION_DATAFILE_NAME) implementation.
      wininet: Added cache test.
      wininet: Code clean up.
      urlmon: Reimplement URLDownloadToFileW on top of URL moniker.
      urlmon: URLDownloadToFileA code clean up.
      urlmon: Added TYMED_FILE support to CopyStgMedium.
      urlmon: Added URLDownloadToFile tests.
      urlmon: E_PENGING returned by Start is not an error.
      urlmon: Added audio/basic MIME filter.
      urlmon: Use BindToStorage hack only for binding to IStream.
      mshtml: Don't mix nsresult with HRESULT.
      browseui: Code clean up.
      mshtml: Added nsINetUtil interface to nsIOService.
      mshtml: Report true scheme for about:blank URL.
      urlmon: Fixed crash on old IE.
      urlmon: Optimize registering urlmon protocols.
      urlmon: Optimize get_protocol_info for urlmon protocols.
      urlmon: Make session object thread safe.
      urlmon: Correctly handle creating object failure.
      urlmon: 0x800c0008 is INET_E_DOWNLOAD_FAILURE.
      browseui: Code clean up.

James Hawkins (35):
      msi: Add tests for not using quotes in SQL queries.
      msi: Handle the special table _ForceCodepage in MsiDatabaseExport.
      msi: Don't check for the existence of the msi package when running a concurrent install.
      msi: Successfully return an empty string when requesting a record index beyond the record's size.
      msi: Add tests for MsiGetProductInfo.
      msi: Return ERROR_INVALID_PARAMETER if szProduct is invalid.
      msi: Test the remaining installer properties returned by MsiGetProductInfo.
      msi: Reimplement MsiGetProductInfo.
      msi: Read the language info from the file.
      msi: Use MsiViewModify instead of building a SQL query when adding rows to the table.
      msi: Handle carriage returns in MsiDatabaseImport.
      msi: Add tests for source folder resolution.
      itircl: Add a stub implementation of itircl.dll.
      tools/wine.inf: Create a fake file for hh.exe.
      tools/wine.inf: Create fake dlls for itircl.dll and itss.dll.
      msi: Set the UserLanguageID property.
      msi: Convert REG_DWORD properties to strings in MsiGetProductInfo.
      msi: Add tests for the MSIMODIFY_REFRESH command.
      msi: Implement the MSIMODIFY_REFRESH command of MsiViewModify.
      msi: Add tests for enumerating the source list after publishing.
      msi: Add tests for MsiSourceListEnumSources.
      msi: Add tests for MsiSourceListSetInfo.
      msi: Validate the szProduct parameter of MsiSourceListSetInfo.
      msi: Return ERROR_UNKNOWN_PATCH if dwOptions contains MSICODE_PATCH.
      msi: Return the results from OpenSourceKey.
      msi: Simplify the MEDIAPACKAGEPATH and DISKPROMPT cases.
      msi: Validate the dwOptions parameter of MsiSourceListSetInfo.
      msi: Return ERROR_INVALID_PARAMETER if the context is machine and szUserSid is non-NULL.
      msi: Remove invalid FIXMEs.
      msi: Forward MsiSourceListEnumSourcesA to a stub implementation of MsiSourceListEnumSourcesW.
      msi: Implement MsiSourceListEnumSources.
      msi: Publish a few SourceList properties.
      msi: Allow enumerating the sources without querying the source name.
      msi: Fix the INSTALLPROPERTY_LASTUSEDSOURCE case of MsiSourceListSetInfo.
      msi: Fix the size of the data sent in to RegSetValueExW.

Jeff Latimer (4):
      pdh/tests: Add test for size > 0 but no buffer.
      pdh: Check for size > 0 but no buffer.
      pdh: Remove unnecessary test done in PdhLookupPerfNameByIndexW.
      pdh: Pass parameters through to PdhLookupPerfIndexByNameW for checking.

Juan Lang (6):
      advapi32: Fix CryptVerifySignatureW test failures on Win98SE and NT4.
      crypt32: Fix test failures on NT4.
      crypt32: Add to error message to track down NT4 failures.
      crypt32: Fix a test failure on Vista, and make Wine match the newer (and saner) behavior.
      crypt32: Allow some last errors set by Vista.
      crypt32: Vista doesn't actually add duplicate usage identifiers; fix tests and change Wine to match.

Kirill K. Smirnov (3):
      systray: Avoid modifying non-existent tooltip windows of non-existent icon windows when application updates tip of hidden icon.
      systray: Correctly handle icon addition/deletion.
      systray: Better validate icon owner.

Lei Zhang (8):
      qedit: Skeleton implementation of qedit.dll.
      qedit: Add the DirectShow ClassFactory.
      include: Generate qedit.h, add ISampleGrabberCB interface.
      include: Add ISampleGrabber interface.
      include: Add IMediaDet interface and MediaDet class.
      qedit: Add MediaDet registration.
      qedit: Add tests directory and a simple test.
      qedit: Add stub implementation of MediaDet.

Louis Lenders (1):
      shdocvw: Pretend success in WebBrowser_get_RegisterAsDropTarget.

Maarten Lankhorst (12):
      include: Add IRunnableTask interface.
      browseui: Add undocumented Component Category Cache Daemon stub.
      user32: Fix a message test that would only pass on wine.
      cryptdlg: Add initial stub dll.
      gpkcsp: Add initial stub dll.
      initpki: Add initial stub dll.
      mssip32: Add initial stub dll.
      sccbase: Add initial stub dll.
      slbcsp: Add initial stub dll.
      softpub: Add initial stub dll.
      dssenh: Add initial stub dll.
      advapi: Check if service really exists before bombing out in CreateService.

Marcus Meissner (12):
      dinput: Make _dump_mouse_state static.
      include: Added some defines for EnumDevicesBySemantics.
      dinput: Add a dumper for LPDIACTIONFORMAT.
      dinput: Add debug output for IDirectInput8A::EnumDevicesBySemantics.
      dinput: Removed superflous < 0 check.
      msi: Fixed error reporting of add_streams_to_table.
      taskmgr: Make stuff static.
      user32: Handle error returns from ImmGetCompositionString.
      dinput: Some debug output for BuildActionMap.
      wintab32: Mark some signed entities as LONG.
      winedump: Check return value of fetch_block (Coverity).
      netapi32: Added some return value checking.

Michael Stefaniuc (4):
      gdi32: Move two 16bit function stubs to gdi16.c.
      gdi32: Move EnumFonts16 and EnumFontFamilies16 to gdi16.c.
      ddraw: Add missing unlock on error path. Found by Smatch.
      gdi32: Move EnumFontFamiliesEx16() to gdi16.c and reimplement it based on EnumFontFamiliesExW().

Mikołaj Zalewski (16):
      winhelp: Update Polish translation.
      credui: Update Polish translation.
      browseui: Add Polish translation.
      wineboot: Add Polish translation.
      write.exe: Add Polish translation.
      wordpad: Update Polish translation.
      wordpad: File > New now opens a dialog so there should be an ellipsis at the end.
      browseui/tests: make the ACLMulti test pass under Windows Vista.
      browseui: aclmulti: Follow the Windows Vista behavious in Expand.
      browseui: Implement PROGDLG_NOMINIMIZE.
      devenum: Convert resource file to UTF-8.
      devenum: Add Polish translation.
      oleview: Add Polish translation.
      oleview: Add ellipsis to menu items that show dialogs.
      oleview: Move the TypeLib open dialog filter message into a resource.
      Make Italian, Spanish, Dutch and German resources use SUBLANG_NEUTRAL.

Paul Vriens (15):
      advpack/tests: Show errors in hex.
      crypt32/tests: Skip test if we don't have enough rights.
      wintrust/tests: Use GetModuleHandleA instead of LoadLibraryA.
      wintrust/tests: Change test_RegPolicyFlags to use the same logic as the rest of the tests.
      rpcrt4/tests: Vista uses the same status values as Windows 2003.
      wintrust/crypt: Fix some test failures for a NULL parameter.
      rpcrt4/tests: Don't crash on WinXP SP3.
      opengl32/tests: Only use functions if they are implemented.
      advapi32/tests: Only use functions if they are implemented.
      kernel32/tests: ReplaceFile[AW] doesn't exist on win9x.
      shell32/tests: GetLongPathNameA is not implemented on win95.
      advapi32/tests: CryptVerifySignatureW is not implemented on win98.
      netapi32/tests: Adding a user with a too long name succeeds on NT4.
      msi/tests: Services are not available on win9x.
      advapi32/tests: Skip tests when our language isn't LANG_ENGLISH.

Peter Oberndorfer (1):
      user32: Fix caption bar being drawn 1 pixel too high.

Reece H. Dunn (3):
      winecfg: Fixed reading in colour data from a theme file.
      winecfg: Allow theme colour names to be case insensitive when reading them from a file.
      user32: Improve the combo tests to check when the CBN_SELCHANGE notification is sent.

Rico Schüller (1):
      wined3d: Fix memcpy with wrong size parameter to simple assignment in GetScissorRect.

Rob Shearman (75):
      mshtml: Fix inserting a hyperlink when text is already selected.
      kernel32: Implement ReplaceFileW.
      libport: Use configure guards for include files that may not be present.
      include: Fix some typos in dpaddr.h.
      ole32: Fix reference count leak in BindMoniker.
      ole32: Fix local-variable shadowing in apartment_hostobject_thread.
      ole32: Remove an assert that is useless and triggers warnings elsewhere in static analysis tools.
      ole32: Fix a potentially confusing combination of conditional and bitwise or operators by adding extra brackets.
      ole32: Fix potential NULL dereference of qiresults in ClientIdentity_QueryMultipleInterfaces.
      mshtml: Remove extra semi-colons after cpp_quote in nsiface.idl.
      mshtml: All interfaces in nsiface.idl are local.
      mshtml: Add a dummy member to nsMargin as empty structs aren't valid in C89.
      avifil32: Pass the number of characters to LoadStringW, not the number of bytes.
      rpcrt4: Add some traces to async_notifier_proc.
      mshtml: Fix a typo in nsiface.idl.
      ntdll: Add an exception handler around calls to module entry points.
      msi: Add stub implementation of MsiIsProductElevatedA/W.
      advapi32: The lpcbSecurityDescriptor parameter to RegGetKeySecurity isn't optional, so don't complicate the code by treating as though it is.
      dbghelp: Fix a typo in SymLoadModuleExW that caused the wrong number of characters to be passed to lstrcpynW.
      dxdiagn: Fix the character count passed to snprintfW in DXDiag_AddFileDescContainer and DXDiag_InitDXDiagDisplayContainer.
      msrle32: Fix the character count passed into LoadStringW in About.
      hhctrl.ocx: Fix the character count passed to GetFullPathNameW in OpenCHM and NavigateToChm.
      ole32: Fix the character count passed to GetClipboardFormatNameW in WriteFmtUserTypeStg.
      shlwapi: IID_IInternetSecurityMgrSite is now defined so remove the local definition from IUnknown_GetWindow.
      user32: Fix incorrect character count passed to GetWindowTextW in ICONTITLE_Paint.
      shell32: Memory allocated by CommandLineToArgvW should be that got from LocalAlloc/LocalReAlloc, not from GlobalAlloc.
      crypt32: Fix function declaration - WINAPI should come after the return type.
      widl: Remove unused headers.
      widl: Guard the inclusion of unistd.h.
      comctl32: Fix the character count passed into LoadStringW from propsheet functions.
      comctl32: Remove a useless assert from TREEVIEW_GetItemIndex.
      comctl32: Fix the character count passed to GetWindowTextW in TREEVIEW_Command.
      comctl32: Remove some more useless asserts.
      shell32: Fix the character count passed into LoadStringW in ISFHelper_fnAddFolder.
      shell32: Fix character count passed into lstrcpnA in SHGetDataFromIDListA.
      urlmon: Fix the character count passed into MultiByteToWideChar in HttpProtocol_Start.
      wininet: Fix an off-by-one error in the boundary checks in HTTP_DecodeBase64.
      wininet: Fix the return value check of SHGetSpecialFolderPathW in URLCacheContainers_CreateDefaults.
      urlmon: Check the return value of ReadFile and return INET_E_DOWNLOAD_FAILURE is it fails.
      Don't use GetExceptionCode and GetExceptionInformation in exception filter functions.
      user32: Fix MonitorFromRect to cope with the absence of the MONITOR_DEFAULTTONEAREST flag.
      Add a new convenience macro for an exception handler that handles all exceptions.
      include: Fix the C_ASSERT macro to not generate an unused variable warning when compiling with gcc.
      cabinet: Replace strcasecmp call with lstrcmpiA as strcasecmp isn't portable and doesn't take into account the current codepage.
      kernel32: Fix handle leak in start_console_renderer_helper.
      shell32: Fix incorrect character count passed into RegEnumKeyExW in CreateDesktopEnumList.
      msi: Fix the character count passed into RegSetValueExA in test_MsiQueryFeatureState.
      winspool: Fix character count passed to RegQueryValueExW in get_local_monitors.
      advapi32: Add tests for RegSetValueA/W.
      advapi32: Document that the cbData parameter of RegSetValueA/W is ignored.
      advapi32: Add tests for the off-by-one fixing behaviour of RegSetValueExA and RegSetValueExW.
      shell32: Fix the logic in Control_LoadApplet determining when to use CPL_INQUIRE and when to use CPL_NEWINQUIRE.
      wininet: Fix potential buffer overrun in HttpQueryInfoA.
      browseui: Fix typo in declaration of empty_string in set_buffer.
      comdlg32: Fix potential buffer overrun of lpxx->lfFaceName in CFn_WMCommand.
      comdlg32: Fix the character length passed into GetDlgItemTextW in PRINTDLG_PS_UpdateDlgStructW.
      advapi32: Fix the AccessCheck tests so that the ACCESS_SYSTEM_SECURITY test now runs (when the user has the Security privilege).
      mciwave: Fix the character count passed to GetTempPathW in create_tmp_file.
      msi: Remove some unused functions.
      advpack: Fix buffer overrun in convert_file_list.
      Add the nounistd option to all lex source files.
      avifil32: Simplify a comparison in AVIBuildFilterW.
      d3d9: Fix copy and paste error in reset_enum_callback.
      shdocvw: The WINAPI modifier on function pointers should become before the '*' for portability.
      ntdll: Fix the use of oldSize in RtlReAllocateHeap as both the size of the old block and the number of bytes used in the old block.
      ntdll: When using HEAP_ZERO_MEMORY in heap allocation functions, don't clear the whole block.
      include: Include excpt.h from wine/exception.h.
      dbghelp: VARIANT unions are accessed by name in msc.c so define NONAMELESSUNION.
      dbghelp: Fix read beyond end of field in module_get_debug.
      dplayx: Fix incorrect check in DirectPlay3AImpl_EnumConnections.
      dplayx: Fix incorrect check in DirectPlayLobbyAImpl_EnumLocalApplications and IDirectPlayLobbyAImpl_EnumAddressTypes.
      Revert "winspool: Fix character count passed to RegQueryValueExW in get_local_monitors".
      winspool: Fix the character count passed into RegEnumKeyExW in get_local_monitors.
      gdi32: Optimise StretchBlt for the case where no stretching is being done and the whole image is being set.
      winex11.drv: Optimise getting the bits of a DIB after calling SetDIBits.

Roderick Colenbrander (17):
      wined3d: Add read_from_framebuffer_texture which combines code from read_from_framebuffer (drawpixels) and LoadLocation.
      wined3d: Add SURFACE_BUSY support to *_Blt.
      wined3d: Add SURFACE_BUSY support to *_BltFast.
      wined3d: Add separate alpha blend support.
      gdi32: GetPaletteEntries should not filter peFlags (test included).
      wined3d: When DDCAPS_ALLOW256 is set, palette entry 0 and 255 are filled with black and white.
      wined3d: Add a GDI version of RealizePalette.
      wined3d: Add a GL specific RealizePalette which also updates the drawable.
      wined3d: The base RealizePalette isn't needed anymore.
      wined3d: Fix lack of indent in PreLoad.
      wined3d: Let flush_to_framebuffer_drawpixels use a valid rect.
      wined3d: Don't flush in GDI RealizePalette without a palette.
      wined3d: Don't flush in D3D RealizePalette without a palette.
      wined3d: In DirectDraw a palette is a property of a surface while in d3d8/9 it is a property of a device.
      wined3d: Unify p8 render target detection code.
      wined3d: Use the color key in glAlphaFunc in case of index_in_alpha.
      ddraw: Add yv12 detection support.

Roy Shea (3):
      qmgr: Implement DLL server registration.
      qmgr: Add ServiceMain.
      qmgr: Add some tests.

Royal Chan (1):
      gdiplus: draw_polyline never sets status from GenericError to Ok on successful calls.

Stefan Dösinger (12):
      wined3d: Add a test for the vFace register.
      wined3d: Switch the visual tests back to D3DDEVTYPE_HAL.
      wined3d: Extend out anti-spam database a bit.
      wined3d: Do not change the texture unit when binding surfaces.
      wined3d: Add a test for fixed function bump mapping.
      wined3d: Fix a syntax error in the ARB vertex program offset shader.
      wined3d: Detect and work around the MacOS Geforce 8 PBO brokeness.
      wined3d: Create a VBO before returning memory.
      wined3d: Enable the texcoord init workaround on radeon HD cards on MacOS.
      d3d9: Add a stencil+culling test.
      d3d9: Do not expect consistent failures.
      d3d9: Some Windows drivers do not like reversed fog.

Stefan Leichter (2):
      user32: Add some tests for GetMouseMovePointsEx.
      user32: Fix a test of GetMouseMovePointsEx failing on platforms winxp and win2k3.

Steven Edwards (1):
      quartz: Bump the amount of time in the referenceclock test slightly.

Tony Wasserka (9):
      d3dx9: Start implementation of d3dx9_24.
      d3dx9: Start implementation of d3dx9_25.
      d3dx9: Start implementation of d3dx9_26 and d3dx9_27.
      d3dx9: Start implementation of d3dx9_28, d3dx9_29 and d3dx9_30.
      d3dx9: Start implementation of d3dx9_31.
      d3dx9: Start implementation of d3dx9_32, d3dx9_33, d3dx9_34 and d3dx9_35.
      d3dx9.h: Include d3dx9math.h before d3dx9core.h.
      d3dx9: Complete d3dx9core.h.
      d3dx9: Implement D3DXGetDriverLevel.

Vitaliy Margolen (3):
      dinput: Skip old mouse movement events.
      Revert "dinput: Skip old mouse movement events.".
      dinput: Don't use event times, report current tick count instead.

Alexandre Julliard
julliard at

More information about the wine-announce mailing list