Wine release 0.9.46

Alexandre Julliard julliard at
Fri Sep 28 10:35:39 CDT 2007

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

What's new in this release:
  - A variety of fixes to improve Photoshop CS2 support.
  - More complete support for device installation in setupapi.
  - New Bidi text implementation that doesn't depend on libicu.
  - The usual assortment of Direct3D improvements.
  - Beginning of I/O completion ports 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.45:

Alex Villacís Lasso (8):
      iccvid: Guard against null pointer reference.
      riched20: Prevent overflow on richedit debug channel.
      riched20: Tests show WM_GETTEXT change \r to \r\n.
      riched20: Fix WM_GETTEXT to change \r to \r\n.
      riched20: EM_SETCHARFORMAT must return 1 on success, not 0.
      riched20: EM_SETCHARFORMAT must return 0, not assert, on invalid struct size.
      riched20: EM_SETCHARFORMAT must fail and return 0 with  TM_PLAINTEXT and SF_SELECTION.
      riched20: Minimal fix for WM_SETTEXT without ES_MULTILINE style.

Alexandre Julliard (62):
      wininet/ftp: There's no need to query the file size before retrieving a file.
      ntdll: Fix an error message.
      user32/tests: Properly flush events in the update rect tests.
      comctl32: We can now store binary files in the repository.
      comdlg32: We can now store binary files in the repository.
      user32: We can now store binary files in the repository.
      shell32: We can now store binary files in the repository.
      ole32: We can now store binary files in the repository.
      msi: We can now store binary files in the repository.
      cards: We can now store binary files in the repository.
      comctl32/tests: We can now store binary files in the repository.
      user32/tests: We can now store binary files in the repository.
      itss/tests: We can now store binary files in the repository.
      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the clipping functions.
      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the painting functions.
      gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the bitmap functions.
      gdi32: Replace remaining instance of DC_GetDCUpdate by get_dc_ptr+update_dc.
      gdi32: Update the DC in most OpenGL functions.
      winex11.drv: Invalidate the DCE when the window format is changed.
      cmd.exe: We can now store binary files in the repository.
      cmdlgtst.exe: We can now store binary files in the repository.
      msiexec.exe: We can now store binary files in the repository.
      oleview.exe: We can now store binary files in the repository.
      regedit.exe: We can now store binary files in the repository.
      taskmgr.exe: We can now store binary files in the repository.
      uninstaller.exe: We can now store binary files in the repository.
      winecfg.exe: We can now store binary files in the repository.
      winefile.exe: We can now store binary files in the repository.
      winemine.exe: We can now store binary files in the repository.
      winetest.exe: We can now store binary files in the repository.
      wordpad.exe: We can now store binary files in the repository.
      tools: Remove the no longer needed bin2res tool.
      msvcrt: Added implementation for __STRINGTOLD.
      msvcrt: Added implementation of a few more __crt functions.
      winex11.drv: If a window is not resizable through the window manager fall back to non-managed resizing.
      winex11.drv: Update the wm hints when the window frame is changed.
      ntdll/tests: Skip the debugger test if the child process is not loaded at the right address.
      server: Clip the visible region of a window to the desktop window.
      loader: Set the address space limit before starting the preloader.
      winex11.drv: Don't call GDI functions while holding the xrender lock.
      setupapi: Simplify the SetupDiGetClassDescriptionExA/W implementation.
      gdi32: Don't hold the GDI lock while calling the driver mapping functions.
      gdi32: Don't hold the GDI lock while calling the driver path functions.
      gdi32: Don't hold the GDI lock while calling the driver painting functions.
      gdi32: Don't hold the GDI lock while calling the driver OpenGL functions.
      gdi32: Don't hold the GDI lock while calling the driver clipping functions.
      gdi32: Don't hold the GDI lock while calling the driver printer functions.
      ole32/tests: Remove test that tries to create a huge file on Windows.
      wineps.drv: Fix end of list check in PSDRV_UpdateDevCaps().
      wineconsole: Default to the user backend, falling back to curses if we can't create a window.
      gdi32: Don't hold the gdi lock while creating a DC.
      gdi32: Don't hold the gdi lock while calling DC driver functions.
      gdi32: Don't pass a DC handle to WineEngGetFontUnicodeRanges.
      gdi32: Move the generic part of FontIsLinked() to font.c.
      winex11.drv: Don't call GDI functions while holding the X11 lock.
      gdi32: Fix typo in FIXME (spotted by Rob Shearman).
      rpcrt4/tests: Remove static keywords that hide test failures.
      winex11.drv: Always drag the full window for top-level windows to avoid having to grab the server.
      gdi32: Don't pass an object pointer to the SelectObject backend functions.
      gdi32: Move the object refcount handling to the SelectObject backend functions.
      gdi32: Don't hold the GDI lock while calling the SelectObject backends.
      gdi32: Don't hold the GDI lock while calling the driver SelectFont function.

Anatoly Lyutin (2):
      user32/tests: Fix test for switch maximized MDI children.
      gdi32: printdrv: Use umask for creating a spool file.

Andrew Talbot (13):
      crypt32: Fix some memory leaks.
      dmband: Fix a memory leak.
      dmcompos: Indirection level fix.
      dswave: Indirection level fix.
      dmscript: Indirection level fix.
      dmsynth: Indirection level fix.
      dmusic: Indirection level fix.
      dpnet: Indirection level fix.
      dplayx: Fix some memory leaks.
      gdi32: Fix a memory leak.
      itss: Fix a typo.
      gdiplus: Fix some memory leaks.
      kernel32: Fix a memory leak.

Andrey Turkin (3):
      server: Implement server-side completion queues and operations on them.
      server: Allow completion object to be attached to an fd object.
      kernel32: Pass completion value to ntdll layer.

Carroll Vance (1):
      ntoskrnl.exe: Added PsCreateSystemThread.

Chris Robinson (6):
      gdi32: Don't hold the GDI lock when setting the pixel format.
      wgl: Store the fbconfig id with the window when a pixel format is set.
      wgl: Don't set a pixel format on windows that already have one.
      winex11.drv: Load the XComposite extension when available.
      wgl: Override glFinish and glFlush.
      winex11: Be compatible with older XComposite headers.

Christian Gmeiner (1):
      advapi32: fix some compiler warnings when using -Wsign-compare.

Clinton Stimpson (4):
      riched20: Add test for event masks and notifications.
      riched20: Add tests for text limit behavior.
      riched20: Adjust event mask when sending EN_CHANGE notification.
      riched20: Only WM_CHAR respects text limit.

Dan Hipschman (11):
      widl: Fix alignment comments.
      widl: Implement pointer descriptions for complex structures.
      widl: Handle all buffer sizes.
      widl: Implement complex arrays.
      widl: Set the pointer description offset to zero if there are no pointers.
      widl: Respect pointer attributes better.
      widl: Handle top-level conformance for complex arrays.
      widl: Clean up write_conf_or_var_desc with string_of_type.
      widl: Fix top-level conformant arrays with pointer attributes.
      widl: Fix string codes in pointer descriptions.
      widl: Fix array alignment bug.

Detlef Riekenberg (3):
      comdlg32/tests: Add tests for PRINTDLG->hDevNames.
      comdlg32/tests: Remove debug code and the tabs.
      ntdll: Avoid segfault with snoop for exefiles with a broken export table.

Dmitry Timoshkov (6):
      winex11.drv: Use symbolic names for MapVirtualKey translation types.
      kernel32: Add a test for rw mapping of a read-only section.
      kernel32: Print last error in failure messages of the MapViewOfFile test.
      gdi32: Use symbolic names for font tags.
      kernel32: Add a test for read-only mapping of a write-only section, test actual page access rights of the mapping.
      user32: Make message test pass cleanly under XP SP2.

EA Durbin (1):
      winecfg: Implement audio test.

Francois Gouget (24):
      dbghelp: Add some missing prototypes and types.
      ntdll: Fix compilation on systems that don't support nameless unions.
      dbghelp & imagehlp: Fix the PSYM_ENUMSYMBOLS_CALLBACK() and PSYM_ENUMERATESYMBOLS_CALLBACK() prototypes.
      wintrust: Fix compilation on systems that don't support nameless unions.
      shell32: CSIDL_MYDOCUMENTS is now a synonym for CSIDL_PERSONAL.
      advapi32: Add and use LSTATUS.
      imagehlp: Add SYMBOL_INFO_PACKAGE and SymSetSearchPathW().
      wordpad: Fix compilation on systems that don't support nameless unions.
      dnsapi: Fix the DnsQueryConfig() prototype.
      dbghelp: Fix the PENUMLOADED_MODULES_CALLBACK() prototype.
      regstr.h only defines constants and structures and thus does not need an extern "C" statement.
      gdiplus: Make gdiplustypes.h C++ compatible.
      mpr: Move MAX_INTERFACE_NAME_LEN to mprapi.h and add related constants.
      fci.h: Include basetsd.h.
      infosoft: indexsrv.idl must import objidl.idl and not unknwn.idl.
      gdi32: Add a '\n' to a Wine trace.
      wineoss.drv: Add support for $MIDIDEV to match $AUDIODEV and $MIXERDEV.
      riched20/tests: Add '\n's to ok() calls.
      includes: Remove unneeded extern "C" statements.
      includes: Make headers C++ compatible.
      ntoskrnl.exe: Fix the PsCreateSystemThread() prototype and declare it in wdm.h.
      winapi: Assorted win32.api updates.
      Assorted spelling fixes.

Gerald Pfeifer (1):
      README: Update minimal system requirements for FreeBSD.

Hans Leidekker (3):
      msvcrt: Implement _wsearchenv.
      msvcrt: Implement _wspawnv{, e, p, pe}.
      kernel32: Check for NULL output buffer in FormatMessage{A, W}.

Hwang YunSong(황윤성) (2):
      mshtml: Updated Korean resource.
      wordpad: Updated Korean resource.

Jacek Caban (31):
      mshtml: Store HTMLElement struct instead of pointer in HTMLAnchorElement.
      mshtml: Store HTMLElement struct instead of pointer in HTMLBodyElement.
      mshtml: Added get_body test.
      mshtml: Store HTMLElement struct instead of pointer in HTMLInputElement.
      mshtml: Store HTMLElement struct instead of pointer in HTMLSelectElement.
      mshtml: Store HTMLElement struct instead of pointer in HTMLTextAreaElement.
      mshtml: Make HTMLBodyElement child object of HTMLTextContainer.
      mshtml: Don't use node_type from HTMLNode object.
      mshtml: Get rid of node_type variable in HTMLNode object.
      mshtml: Forward node ref calls to IHTMLDOMNode interface.
      mshtml: Return NULL for empty results in get_style_attr.
      mshtml: Added more IHTMLStyle getters implementation.
      mshtml: Added HTMLStyle::get_textDecoration* implementation.
      mshtml: Added get_styleSheets implementation.
      mshtml: Added IHTMLStyleSheetsCollection::get_length implementation.
      mshtml: Fixed IHTMLTxtRange::get_text implementation with no nsrange associated.
      mshtml: Added more tests.
      mshtml: Added Exec(IDM_FONT) stub implementation.
      shdocvw: Added WebBrowser::FullScreen property implementation.
      shdocvw: Added WebBrowser::Resizable property implementation.
      mshtml: Don't crash in UIActivate if Gecko is not available.
      hlink: Added HlinkGetSpecialReference stub.
      mshtml: Added IHTMLDocument5 interface stub implementation.
      mshtml: Added get_compatMode implementation.
      mshtml: Added IHTMLElement2::put_scrollTop and put_scrollLeft implementation.
      mshtml: Forward IHTMLTextContainer::put_scrollTop and put_scrollLeft calls to IHTMLElement2 interface.
      mshtml: Ignore app's User-Agent header and Content-Type if there is no data to post.
      mshtml: Added IDM_COPY in browse mode implementation.
      mshtml: Added generic get_nsinterface function and use it in get_ns_command_state.
      mshtml: Use get_nsinterface in exec_print and do_ns_command.
      mshtml: Use get_nsinterface in set_ns_editmode and get_editor_controller.

James Hawkins (6):
      user32: Add tests for the DDE pack functions.
      user32: Set uiLo and uiHi to zero on error.
      kernel32: Fix the case where memory is freed twice in GlobalFree.
      kernel32: Return TRUE for all pointer params in GlobalUnlock.
      kernel32: Don't crash accessing an invalid handle in GlobalSize.
      user32: Add a test that shows ddeml string handles use local atoms.

Jeff Latimer (1):
      mpr: Check for out of memory condition.

Juan Lang (112):
      msi: Don't crash if record has no fields.
      msi: Make sure nested is initialized.
      msi: Initialize nested.
      wininet: Create a TCP connection if FLAG_ICC_FORCE_CONNECTION is specified.
      crypt32: Update comments.
      crypt32: Add a test of an indefinite-length sequence.
      crypt32: Correct GET_LEN_BYTES for the indefinite-length form.
      crypt32: Correct an optimization.
      crypt32: Fix alignment on 64-bit systems.
      crypt32: Use a simpler prototype for array decoding functions.
      crypt32: Add a decoded parameter to AsnDecodeSequence.
      crypt32: Make a decode OID function that returns the number of bytes decoded.
      crypt32: Return bytes decoded when decoding a sequence.
      crypt32: Return bytes decoded when copying DER-encoded bytes.
      crypt32: Return bytes decoded when decoding an alt name entry.
      crypt32: Pass bytes decoded pointer to AsnDecodeArray.
      crypt32: Return bytes decoded from AsnDecodeArray.
      crypt32: Remove an unneeded WINAPI.
      crypt32: Introduce a helper function to get encoded length that allows indefinite-length encoding.
      crypt32: Set bytes decoded in all success paths.
      crypt32: Support indefinite-length encoded arrays.
      crypt32: Allow items in an array to be indefinite-length encoded.
      crypt32: Use simpler form for internal time decoding functions.
      crypt32: Separate DecodeInt into an internal and external version.
      crypt32: Move a comment that belonged elsewhere.
      crypt32: Introduce a space checking helper for functions that don't allocate memory and use it where appropriate.
      crypt32: Use internal decode int function a couple more places.
      crypt32: Temporarily change prototype of AsnDecodeIntInternal to the CryptDecodeObjectEx form.
      crypt32: Use AsnDecodeIntInternal where an internal function is called for.
      crypt32: Implement DecodeAltName with DecodeAltNameInternal.
      crypt32: Don't use exception handler when decoding time zone, caller already does.
      crypt32: Get rid of encoding type from AsnDecodeSequenceItems, it's never checked.
      crypt32: Get rid of encoding type argument to AsnDecodeSequence, it isn't used.
      crypt32: Use internal form for all internal decoding functions.
      crypt32: Set *pcbDecoded in every function.
      crypt32: Allow a sequence to have an indefinite-length encoding.
      crypt32: Simplify DecodePathLenConstraint.
      crypt32: Allow indefinite-length encoding of sequence items.
      crypt32: Simplify AsnDecodeSequenceItems a tiny bit.
      crypt32: Use correct encoded length when decoding a sequence.
      crypt32: Test and correct decoding indefinite-length-encoded PKCS content.
      crypt32: Explicitly count bytes to copy in DecodeCopyBytes.
      crypt32: ret is already true, don't retest it.
      crypt32: Use decode function's returned decoded length to advance pointer when decoding an array.
      crypt32: Pass length rather than entire message to CRYPT_EncodeContentLength.
      crypt32: Implement streamed encoding of an indefinite-length data message.
      crypt32: Fix alignment for 64-bit systems.
      setupapi: Correct type to match PSDK.
      setupapi: Fix return type.
      setupapi: Fix typo.
      setupapi: Add missing prototypes and definitions, and change function prototypes to match.
      setupapi: Add tests for SetupDiCreateDeviceInfo.
      setupapi: Add stubs for SetupDiGetDeviceInstanceIdA/W.
      setupapi: Add tests for SetupDiGetDeviceInstanceId.
      setupapi: Add a placeholder for devices.
      setupapi: Implement SetupDiEnumDeviceInfo.
      setupapi: Implement SetupDiGetDeviceInstanceIdA on top of SetupDiGetDeviceInstanceIdW.
      setupapi: Add error checking to SetupDiCreateDeviceInfoW stub.
      setupapi: Implement SetupDiCreateDeviceInfoW.
      setupapi: Implement SetupDiGetDeviceInstanceIdW.
      setupapi: Implement SetupDiGetDeviceRegistryPropertyA/W.
      setupapi: Implement SetupDiSetDeviceRegistryPropertyA/W.
      setupapi: Make a helper to convert a GUID to a string.
      setupapi: Save device description to registry when creating a device.
      setupapi: Save class GUID to registry when creating a device.
      setupapi: Devices created by SetupDiCreateDeviceInfo are "phantoms", and are deleted from the registry when the set that contains them is closed.
      setupapi: Implement SetupDiGetClassDescriptionExA.
      setupapi: Add stub for SetupDiRegisterDeviceInfo.
      setupapi: Add tests for SetupDiRegisterDeviceInfo.
      setupapi: Implement SetupDiRegisterDeviceInfo.
      setupapi: Implement SetupDiGetClassDevsW.
      setupapi: Respect samDesired in SetupDiOpenClassRegKeyExW.
      setupapi: Set last error on failure in SetupDiOpenClassRegKeyExW.
      setupapi: Add stubs for SetupDiCreateDeviceInterfaceA/W.
      setupapi: Add tests for SetupDiCreateDeviceInterface.
      setupapi: Implement SetupDiCreateDeviceInterfaceA on top of SetupDiCreateInterfaceW.
      setupapi: Add error checking to SetupDiCreateDeviceInterfaceW stub.
      setupapi: Remove a redundant parameter check.
      setupapi: Set last error on invalid input.
      setupapi: Implement SetupDiCreateDeviceInterfaceW.
      setupapi: Implement SetupDiEnumDeviceInterfaces.
      setupapi: When enumerating an interface, add the interface to its device.
      setupapi: Add tests for SetupDiGetDeviceInterfaceDetail.
      setupapi: Implement SetupDiGetDeviceInterfaceDetailA/W.
      setupapi: Add test showing value of path.
      setupapi: Create symbolic link value when interface is created.
      setupapi: Fix prototype of SetupDiCreateDeviceInterfaceRegKeyA/W.
      setupapi: Convert device's interfaces to a standard list.
      setupapi: Add stubs for SetupDiCreateDeviceInterfaceRegKeyA/W.
      setupapi: Store pointer to an interface's device in the interface instance.
      setupapi: Return the interface's device from SetupDiGetDeviceInterfaceDetailA/W.
      setupapi: Implement SetupDiCreateDeviceInterfaceRegKeyA/W.
      setupapi: Store pointer to set in device, and use it to make sure that a device is a member of a set.
      setupapi: Save interface to registry when creating it.
      setupapi: Implement SetupDiDeleteDeviceInterfaceRegKey.
      setupapi: When freeing an interface, delete it from the registry if its device is a phantom.
      setupapi: Implement SetupDiGetDeviceInfoListDetailA/W.
      setupapi: Partially implement SetupDiGetClassDevsExW.
      setupapi: Implement SetupDiGetClassDevsW on top of SetupDiGetClassDevsExW.
      setupapi: Implement SetupDiGetClassDevsA on top of SetupDiGetClassDevsExW.
      setupapi: Implement SetupDiGetClassDevsExA.
      crypt32: Partially implement CryptQueryObject.
      crypt32: Fix CryptQueryObject for embedded PKCS7 signatures.
      crypt32: Support PKCS messages wrapped in a PKCS content info in CryptQueryObject.
      crypt32: Add/improve some traces.
      crypt32: Rename a couple of functions.
      crypt32: Add a function to serialize a store to an arbitrary stream.
      crypt32: Implement CRYPT_WriteSerializedStoreToFile using CRYPT_WriteSerializedStoreToStream.
      crypt32: Add definitions used by CertSaveStore.
      crypt32: Implement CertSaveStore.
      crypt32: Use CertSaveStore to save file stores.
      crypt32: Move CertSaveStore to serialize.c.

Karl Relton (1):
      msvcrt: New implementation of fcvt.

Konstantin Kondratyuk (2):
      mpr: Correct usage of dwScope and dwEnumScopes.
      include/npapi.h: Add some constants.

L. Rahyen (1):
      user32: Implement initial stubs for all raw input functions.

Lionel_Debroux (2):
      mlang: Fix memory leaks in error path (found by Smatch).
      mlang: Fix memory leaks in error paths (found by Smatch).

Louis Lenders (2):
      wtsapi32: Add stub for WTSRegisterSessionNotification.
      wtsapi32: Add stub for WTSUnRegisterSessionNotification.

Maarten Lankhorst (10):
      gdi: Remove support for libicu and all dependencies.
      gdi: Implement BiDi classification of characters and copying according to them.
      gdi: Implement explicit resolving in BiDi.
      gdi: Implement weak resolving in BiDi.
      gdi: Implement neutrals resolving in BiDi.
      gdi: Implement implicit resolving in BiDi.
      gdi: Implement line-by-line phase of the BiDi algorithm.
      wineoss: Silence some harmless warnings.
      dsound: Check if hardware buffer is big enough before accepting it.
      wineoss: Only initialise midi once.

Michael Stefaniuc (7):
      mshtml: Move 'inline' to the beginning of the declaration directly after the storage specifier.
      janitorial: Remove two fresh redundant NULL checks before HeapFree(). Found by Smatch.
      kernel32: Fix a memory leak. Found by cross referencing Andrew Talbot's list of potential memory leaks with Smatch's view of the same problem.
      ole32: Free memory on error path (found by Smatch).
      advapi32: Move the storage specifier to the beginning of the declaration.
      crypt32: Add missing parameter to a TRACE.
      server: Include stdarg.h in completion.c. Needed for older gcc versions.

Mikolaj Zalewski (26):
      gdi32: Store child font links as pointers to struct Face instead of filename/index.
      gdi32: Implement AddFontMemResourceEx (based on a patch of Byeong-Sik Jeon).
      gdi32: If freetype fails try to load manually fonts wrapped as PE resources.
      gdi32: Return the correct font type, ntmFlags and PitchAndFamily for Type1 fonts.
      advapi32: QueryObjectSecurity should return a self-relative security descriptor and not overflow the buffer.
      winex11.drv: wintab: Add a missing break.
      winex11.drv: wintab: Add missing CTX_PKTDATA support.
      winex11.drv/wintab32: Make wintab strings in winex11.drv Unicode, implement WTInfoW.
      wintab32: Store the context internally as Unicode, implement WTOpenW and WTGetW.
      wintab32: Add DisableThreadLibraryCalls.
      advapi32: Fix a test.
      ntdll: Add RtlAddAuditAccessAceEx.
      advapi32: Add AddAuditAccessAceEx.
      advapi32: Make ConvertStringSidToSid not to ignore the first subauthority.
      wine.inf: add four keys found on Windows XP to Active Setup\Installed Components.
      include: Fix the definition of VALID_INHERIT_FLAGS.
      advapi32: Implement ConvertSecurityDescriptorToStringSecurityDescriptor[AW].
      advapi32: Make ConvertSidToStringSid use helper functions of ConvertSecurityDescriptorToStringSecurityDescriptor.
      advapi32: The lpServiceStartName should default to LocalSystem for Win32 services.
      msi: Add some already implemented function to the spec file.
      advapi32/ntdll: MakeRelativeSD should preserve NULL pointers (with testcase).
      advapi32/ntdll: GetSecurityDescriptorOwner/Group should fill isDefaulted also for NULL sids.
      advapi32: Make ConvertStringSecurityDescriptorToSecurityDescriptor write the ACL.
      advapi32: In ConvertStringSecurityDescriptorToSecurityDescriptor "AU" should be checked before "A" (with testcase).
      advapi32: Implement GetPrivateObjectSecurity (with test).
      advapi32: Fix GetServiceDisplayNameA for cchBuffer == 0.

Mikołaj Zalewski (3):
      advapi32: Add some more rights constants for ConvertStringSecurityDescriptorToSecurityDescriptor.
      shell32: Make the shell view control Unicode.
      shell32: shlview: Change some more ANSI calls to Unicode.

Misha Koshelev (3):
      wininet: Track child handles, free all child handles on WININET_FreeHandle as native.
      wininet/tests: Add test to show that InternetCloseHandle closes open child handles too.
      wininet: When sending INTERNET_STATUS_HANDLE_CLOSING make sure the freed handle is not yet available.

Peter Oberndorfer (5):
      configure: Recognize i686-mingw32 prefix for crosscompiling.
      include: Add new processor feature constants.
      user32/tests: Fix dialog proc prototypes.
      ntdll: NtAreMappedFilesTheSame semi stub.
      winhttp: Add WinHttpGetIEProxyConfigForCurrentUser stub.

Philip Nilsson (2):
      ws2_32: Set IPV6_V6ONLY when required to be compatible with Windows.
      ws2_32/tests: Add a testcase for binding with IPv6 and IPv4 on the same port.

Rob Shearman (12):
      credui: The pszUserName parameter in CredUIPromptForCredentialsW is in/out so dump the string on entry to the function.
      widl: Initialise cval in make_expr.
      widl: Fix detection of complex arrays.
      widl: Add support for strings embedded in structures.
      widl: Fix write_string_tfs for strings declared as arrays.
      widl: Missing size_is or length_is attributes should generate 0xffffffff for the correlation description.
      widl: None of the non-fixed arrays have fixed sizes, so don't set the alignment to anything and return a size of 0 from get_required_buffer_size_type.
      rpcrt4: Fix a copy-and-paste error in RpcAuthInfo_Release that caused a double free of memory.
      rpcrt4: Implement RpcSmDestroyClientContext and RpcSsDestroyClientContext.
      userenv: Add a stub for UnloadUserProfile.
      widl: Write prototypes for context handle rundown rountines into generated header files.
      widl: Generate client and server code for using context handles.

Roderick Colenbrander (6):
      wined3d: Don't create a pbo for system memory surfaces.
      wined3d: Update list of pci ids.
      wined3d: Add pbo support for compressed textures.
      wined3d: Better video memory reporting.
      wined3d: The amount of video memory is set in FillGLCaps unless overridden using a registry option.
      wined3d: Move video memory tracking to the adapter.

Stefan Dösinger (45):
      wined3d: Add D3DSI_TEXLD_PROJECT and BIAS to d3d9types.h.
      wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL.
      wined3d: Use GL_NV_depth_clamp to implement clipping disable.
      wined3d: Do not allocate memory if there's a pbo.
      wined3d: Do not invalidate the sysmem copy if a pbo exists.
      wined3d: Start of some surface cleanup.
      wined3d: Move resource methods to the base surface class.
      wined3d: Move non-rendering surface specific code to the base class.
      wined3d: Base surface move, part 2.
      wined3d: Reorder surface impl predeclarations.
      wined3d: Clean up SetGLTextureDesc and GetGLDesc.
      wined3d: Clean up SetFormatDesc.
      wined3d: Clean up AddDirtyRect.
      wined3d: Clean up SetMem.
      wined3d: Clean up IWineD3DSurface::ReleaseDC.
      wined3d: Remove a pbo check.
      wined3d: Move DIB section creation to the base surface implementation.
      wined3d: Give GDI surfaces their own GetDC copy.
      wined3d: Move lastActiveRenderTarget cleanup to the device.
      wined3d: Give GDI surfaces their own release implementation.
      wined3d: Move the software blitting to the base surface class.
      wined3d: Untie culling and offscreen rendering.
      wined3d: Set the stencil mask for both faces.
      wined3d: Fix a copypaste error.
      wined3d: Enable the stencil test if two sided stencil is used.
      wined3d: Disable two sided stencil if it is supported, but not enabled.
      wined3d: Keep the selected stencil setup face set to GL_FRONT.
      wined3d: Fix a typo in shader_glsl_cross.
      wined3d: Check for NULL streams.
      wined3d: Fix a typo in the surface code.
      wined3d: Add signed format conversion for glsl.
      wined3d: Recompile glsl pixelshaders if the sampler format changes.
      wined3d: Unify pixel format correction.
      wined3d: SRGB write correction emulation.
      wined3d: A0 needs the .x swizzle.
      wined3d: Put V8U8 back into the UNKNOWN format group.
      wined3d: Improve projected texture handling in arb.
      wined3d: Add support for some unimplemented instructions to arb shaders.
      wined3d: Implement WINED3DSI_TEXLD_BIAS in arb.
      wined3d: Add modifier handling to cnd in arb.
      wined3d: Handle modifiers in cmp.
      wined3d: Add crs and pow instruction support.
      wined3d: Add dp2add support to arb shaders.
      wined3d: Implement the nrm instruction in arb.
      wined3d: Add sincos support to arb shaders.

Stefan Leichter (9):
      dinput8: Remove 'recursive registry key delete' function.
      dinput: Remove 'recursive registry key delete' function.
      ddrawex: Remove 'recursive registry key delete' function.
      ddraw: Remove 'recursive registry key delete' function.
      d3dxof: Remove 'recursive registry key delete' function.
      comcat: Remove 'recursive registry key delete' function.
      browseui: Remove 'recursive registry key delete' function.
      amstream: Remove 'recursive registry key delete' function.
      ole32: Added version resource for ole2nls.dll.

Thomas Weidenmueller (1):
      shell32: Implement SHCreatePropSheetExtArrayEx.

Tijl Coosemans (2):
      ws2_32/tests: Don't wait for FD_CONNECT event when non-blocking connect() was successful.
      msvcrt: Resolve symbols clashes with FreeBSD libc.

Vitaliy Margolen (6):
      mshtml: Fix typo.
      mshtml: Fix another typo and add trace.
      dinput: Move get_config_key to a common place.
      dinput: Add a helper function to open configuration registry keys.
      dinput: Make default dead zone configurable.
      dinput: Implement GetDeviceInfo for evdev joystick.

Alexandre Julliard
julliard at

More information about the wine-announce mailing list