Wine release 0.9.51

Alexandre Julliard julliard at
Fri Dec 14 10:45:24 CST 2007

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

What's new in this release:
  - A bunch of WinHelp improvements.
  - Better Japanese font support.
  - A ton of rpcrt4 fixes.
  - Several Alsa capture fixes.
  - Improved support for screen resolution changes.
  - 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.50:

Alex Villacís Lasso (6):
      riched20: EM_GETTEXTEX with GT_USECRLF should not leave a single CR when running out of space.
      riched20: WM_GETTEXT should return 0 on overflow but fill buffer anyway.
      riched20: EM_GETTEXTLENGTHEX must not count last paragraph break if GTL_USECRLF.
      riched20: WM_GETTEXTLENGTH should include CRLF conversions in returned count.
      riched20: Invalidate all the text on bogus last selection.
      riched32: Fix regression in WM_GETTEXTLENGTH on richedit 1.0 emulation.

Alexander Dorofeyev (2):
      ddraw: Fix wrong initialization order in IDirect3DDevice vtable.
      wined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride.

Alexander Nicolaysen Sørnes (14):
      shell32: Localize file context menu.
      winecfg: Update Norwegian resource.
      wineboot: Add Norwegian resources.
      write: Add Norwegian resources.
      browseui: Add Norwegian resources.
      mshtml: Update Norwegian resources.
      credui: Update Norwegian resources.
      shell32: Localize 'new folder' string.
      shell32: Handle backspace key in shellview.
      user32: A few more colour changes to match modern Windows.
      comdlg32: PageSetupDlgA: Read margins from correct edit boxes.
      comdlg32: PageSetupDlgA: Swap margins when changing orientation.
      comdlg32: PageSetupDlgW: Swap margins when changing orientation.
      wordpad: Move registry functions to a separate file.

Alexandre Julliard (36):
      ntdll: Added a sleep in NtGet/SetContextThread, a yield is not enough on some kernels.
      shell32: Get rid of the internal _InsertMenuItem function.
      kernel32: Remove the no-exec fault workaround, it shouldn't be needed anymore.
      winmm/tests: Don't mess with the mixer controls in non-interactive mode.
      server: Implemented EnumWindowStations and EnumDesktops.
      server: Partial implementation of NtQueryDirectoryObject.
      server: Return correct object types in the get_directory_entry request.
      clock: Use system colors instead of hardcoded RGB values.
      winhelp: Use system colors instead of hardcoded colors.
      shell32: Fix some wrc warnings.
      Removed some unneeded imports.
      winebuild: Print a warning when failing to import a data export.
      winebuild: Improved checks for missing forward entry point targets.
      ntdll: Support delayed loading of modules referenced by forwarded entry points.
      winebuild: Also optimize out imports that are only used for forwards.
      msvfw32: Fix invalid check that caused the rest of VideoCapDriverDescAndVer16 to be optimized out.
      server: Fix incorrect use of size_t instead of data_size_t.
      comctl32: Fix a compiler warning.
      Avoid size_t types in traces.
      opengl32: ntdll import is still needed when building without optimizations.
      kernel32: Revert change that slipped in commit db24d3af9a6e56c3036ba0a3e5d62dae4f2676d3 by mistake.
      kernel32: Read label and serial from the filesystem when the device is accessible but unknown.
      user32: Keep waiting for posted messages in peek_message after we get an ignored message.
      Make.rules: Added rules for building the dlldata.c file.
      makedep: Added support for dlldata.c dependencies.
      wordpad: Fix a compiler warning.
      Makedll.rules: Add a generic EXTRADLLFLAGS variable instead of defining a specific variable for every possible parameter.
      winebuild: Don't set the IMAGE_FILE_DLL flag on native modules.
      winecrt0: DriverEntry is a WINAPI function.
      Make.rules: Process man pages in the C locale.
      wordpad: Fix invalid pointer usage.
      hhctrl.ocx: Store a copy of the string pointers to enable freeing them without casting away const.
      user32: Print the RegisterHotKey fixme only once.
      gdi32/tests: Fix a compiler warning.
      riched20/tests: Avoid using size_t in traces.
      riched32/tests: Avoid using size_t in traces.

Alexandru Balut (2):
      oleaut32: Implement VarWeekdayName + tests.
      wine.inf: Fix the type of some values in HKLM, System\CurrentControlSet\Control\Session Manager\Environment.

Alistair Leslie-Hughes (10):
      msxml3: Implement cloneNode.
      msxml3: Fix memory leaks.
      msxml3: Fix memory leak.
      shdocvw: Fix memory leak.
      urlmon: Fix memory leaks.
      msxml3: Implement IPersistStream.
      msxml: Register missing components.
      shlwapi: Fix memory leak in test.
      msxml3: Fix memory leak in test.
      msxml3: Fix memory leak in tests.

Anatoly Lyutin (1):
      start: Convert to Unicode.

Andrew Riedi (10):
      winealsa.drv: Fix a comment.
      user32: Add a FIXME for animated cursors.
      comdlg32: DPRINTF -> TRACE.
      ddraw: DPRINTF -> TRACE.
      user32: Uncomment and explain a test in test_DestroyCursor().
      user32: Improve test_DestroyCursor().
      user32: Test the initial state of the cursor.
      ole32: DPRINTF -> TRACE.
      dinput: DPRINTF -> TRACE.
      dsound: DPRINTF -> TRACE.

Andrew Talbot (19):
      cabinet: Remove unneeded casts.
      advapi32: Remove unneeded casts.
      comctl32: Remove unneeded casts.
      comdlg32: Remove unnecessary casts.
      crypt32: Remove unnecessary casts.
      d3d8: Remove unneeded casts.
      d3d9: Remove unneeded casts.
      dbghelp: Remove unneeded casts.
      cabinet: Remove unneeded casts.
      ddraw: Remove unneeded casts.
      cabinet: Remove unneeded casts.
      dinput: Remove unneeded casts.
      devenum: Remove unneeded cast.
      dmime: Remove unneeded casts.
      dmloader: Remove unneeded casts.
      dmusic: Remove unneeded casts.
      dnsapi: Remove unneeded casts.
      dplayx: Remove unneeded casts.
      kernel32: Remove unneeded casts.

Aric Stewart (12):
      uninstaller: Iterate keys in HKEY_CURRENT_USER also as some programs install their uninstall information there.
      commdlg: File name and extension offsets are not guaranteed to be the same in W->A conversions.
      fonts: Add 18 pixel strike with japanese fonts to system.sdf.
      system.sfd: Modify a few 18 pixel glyphs to generate metrics correctly.
      sfnt2fnt: Use code from gdi32/freetype to do a better job finding the TTAG_EBLC to deal with older version of freetype without having to fall back on unreliable hacks.
      fonts: Build the jvgasys.fon from the 18 pixel strike.
      gdi32: Font tests with Japanese font data.  Thanks to Dmitry Timoshkov for the data and tests.
      wintrust: Implementations for WTHelperGetFileName and WTHelperGetFileHandle.
      imagehlp: Improve last error handling in ImageGetCertificateData.
      netapi32: Improve stub for NetLocalGroupGetMembers a bit to return current user.
      gdi32: Cache font enum info.
      cryptnet: InternetCrackUrlW requires component buffers when used with ICU_DECODE.

Detlef Riekenberg (4):
      wine.inf: Add more fake dlls.
      rsabase: Add version resource.
      schannel: Add version resource.
      Assorted spelling fixes.

Dmitry Timoshkov (8):
      server: Make fd_poll_event static.
      user32: Make sure the desktop window is created before mode enumeration.
      explorer: Store current display mode in the registry on startup.
      explorer: Make initialize_display_settings work with a Win9x version of rpcrt4.
      winex11.drv: Don't forget to initialize dmFields.
      winex11.drv: Use registry settings as a default display mode.
      include: Add an initial version of oleacc.idl.
      ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2.

Francois Gouget (14):
      ddraw: Rename DDRAW_dump_flags_() to DDRAW_dump_flags_nolf() to clarify its difference from DDRAW_dump_flags().
      ddraw: Modify DDRAW_dump_(DWORD|PTR|DDCOLORKEY|DDSCAPS2|pixelformat)() to print a trailing '\n'.
      inetcomm: Fix compilation on systems that don't support nameless unions.
      inetcomm/tests: Fix compilation on systems that don't support nameless unions.
      wininet/tests: Remove trailing spaces in ok() calls.
      Assorted spelling fixes.
      winealsa.drv: Remove trailing spaces in Wine traces.
      kernel32/tests: dll_capable() makes no sense since it's only used on APIs we link with. So remove it.
      kernel32/tests: Get the test to run on Windows 95.
      hlink: Fix the HlinkUpdateStackItem() prototype.
      ddraw/tests: Fix compilation on systems that don't support nameless unions.
      comtcl32/tests: Dynamically load ImageList_SetImageCount() because it is missing on Windows 95.
      comctl32/tests: InitCommonControlsEx() is missing on Windows 95 so call InitCommonControls() instead.
      comctl32/tests: Avoid SHDeleteKeyA() because it does not exist on Windows 95.

Gerald Pfeifer (7):
      comctl32: Remove extraneous check (unsigned < 0).
      wined3d: Fix handling of a special case in IWineD3DImpl_FillGLCaps() and adjust type of loop variable.
      msvcrt: Fix error handling in _aligned_offset_realloc().
      wined3d: Fix error handling in transform_texture().
      comctl32: Simplify condition based on WPARAM always being >= 0.
      wined3d: Fix error handling in fixed_get_input().
      icmp: Correctly handle underflow in IcmpSendEcho().

Gregor Brunmar (3):
      comctl32: Disable propsheet apply button at start up.
      comctl32: Added context menu to treeview.
      comctl32: Monthcal lost focus fix.

Guido Barzini (1):
      iphlpapi: Restore lost initialisation of ptr->AddressLength in GetAdaptersInfo.

Hans Leidekker (10):
      gdi32: Implement GetTextExtentExPointI.
      kernel32: Implement and test {G, S}etConsoleInputExeName{A, W}.
      usp10: Use GetCharABCWidthsI to implement ScriptGetGlyphABCWidth.
      usp10: Store original font in the script cache and reselect it on successive calls.
      usp10: Don't trace char to glyph mappings.
      kernel32: GetConsoleInputExeNameW returns TRUE even when it fails.
      wininet: Make FtpGetCurrentDirectoryA pass all todo_wine tests.
      gdi32: GetCharABCWidthsI does not require a scalable font.
      usp10: Add some tests for ScriptShape/Place and make them pass.
      usp10: Do glyph translation for truetype fonts only.

Jacek Caban (23):
      mshtml: Added IHTMLElement2::get_dir implementation.
      mshtml: Make IConnectionPointContainer more flexible.
      mshtml: Initialize HTMLElement in the beginning of constructors.
      mshtml: Added IConnectionPointContainer iface to all HTMLElement objects.
      mshtml: Move HTMLTextContainerEvents connection point to HTMLTextContainer object.
      mshtml: Added DIID_HTMLTableEvents connection point.
      mshtml: Return NULL instead of empty string in IHTMLBodyElement::get_background.
      mshtml: Improve debug traces.
      shlwapi: Uncomment IUnknown_EnableModeless code.
      mshtml: Added more DOM tests.
      mshtml: Added IHTMLStyleSheet::get_rules implementation.
      mshtml: Added IHTMLStyleSheetRulesCollection::get_length implementation.
      mshtml: Fixed ref counting.
      mshtml: Added HTMLTxtRange::Exec(IDM_INDENT) implementation.
      mshtml: Added HTMLTxtRange::Exec(IDM_INDENT) test.
      hlink: Added IHttpNegotiate interface to ExtensionService.
      shdocvw: Added client site's IOleCommandTarget tests.
      mshtml: Added more IHTMLStyle implementation.
      mshtml: Fix CSS px unit handling differences between Gecko and IE.
      shdocvw: Return S_OK in IOleObject::SetHostNames.
      urlmon: Fixed handling MIME type in Binding object.
      urlmon: Includes clean up.
      shdocvw: Register IE settings by iexplore.exe.

James Hawkins (16):
      msi: Use a hash table for reordering rows in a WHERE query to conserve space.
      msi: Test the CCPSearch action.
      msi: Implement the Version property of the Installer object.
      msi: Add a stub implementation of MsiEnumComponentCostsW.
      msi: Test the CompLocator subset of the AppSearch action.
      msi: Add tests for MsiGetComponentPath.
      msi: Reimplement MsiGetComponentPath.
      msi: Add tests for MsiGetProductCode.
      msi: Remove two tests that depend on the sort order of RegEnumValue.
      msi: Reimplement MsiGetProductCode.
      msi: Handle the CompLocator table in the AppSearch action.
      msi: Free the deformatted string.
      msi: Free the user sid string.
      msi: Properly release the record.
      msi: Free the cabinet string on error.
      msi: Close the file handle returned by FindFirstFile.

Jonathan Ernst (9):
      shell32: Updated French translation.
      browseui: Updated French translation.
      wineboot: New French translation.
      write: New French translation.
      wordpad: Updated French translation.
      mshtml: Updated French translation.
      Updated French translation.
      winecfg: Updated French translation.
      winecfg: Add missing audio tab controls to other languages.

Kirill K. Smirnov (16):
      winhelp: Correctly deal with various TopicBlockSize/Compression combinations. Simplify HLPFILE_Uncompress_Topic function.
      winhelp: Add support for winhelp 3.0 phrases.
      winhelp: Add support for winhelp 3.0 topics.
      winhelp: winhelp 3.0 uses page numbers instead of hash values.
      winhelp: Implement generic B+ tree search function.
      winhelp: Rewrite Context support using B+ tree search.
      winhelp: Rewrite internal files lookup using B+ tree search. Add some sanity checks.
      winhelp: Enlarge font size by 3 as native winhelp does.
      winhelp: Use HEAP_ZERO_MEMORY instead of setting individual fields to zero.
      winhelp: There are files without Phrases or Phrases40 compression, add support for them.
      winhelp: Do not confuse caller application with bogus error when we really succeeded.
      winhelp: winhelp >3.0 files always use 0x4000 as a divisor in TOPICPOS regardless of DecompressSize.
      winhelp: Change font charset from ANSI to DEFAULT.
      winhelp: Export enum and search B+ tree functions.
      winhelp: Read keywords.
      winhelp: Display keywords index dialog box.

Lei Zhang (16):
      quartz: Move current tests into their own test case.
      quartz: Add a test for IFilterGraph2.
      quartz: Add some IGraphBuilder related tests.
      quartz: Fix return value in IFilterGraph_FindFilterByName.
      quartz: Validate input for IFilterGraph_FindFilterByName.
      quartz: Add IFilterGraph2 interface and stubs.
      quartz: Add videorenderer QueryInterface test.
      quartz: Add videorenderer aggregation test.
      quartz: Add referenceclock QueryInterface test.
      quartz: Set *ppvObject to NULL if QueryInterface fails.
      quartz: Make video renderer aggregatable.
      ole32: Print a fixme when an aggregation attempt fails.
      quartz: Give video renderer's Inner_QueryInterface a less generic name.
      quartz: Fix typo in GraphConfig_AddRef.
      quartz: Make aggregation test generic.
      quartz: Do aggregation test for more video renderer interfaces.

Lionel Debroux (3):
      msi: Fix missing alloc check.
      msi: Fix memory leaks (found by Smatch).
      winhelp: Fix memory leaks (found by Smatch).

Louis Lenders (1):
      msvcrt40: Add DllMain.

Luis C. Busquets Pérez (10):
      d3dx8: Implementation of D3DXAssembleShaderFromFileA.
      mshtml: Update Spanish resource.
      shell32: Update Spanish resource.
      browseui: Add Spanish resource.
      wineboot: Added Spanish resource.
      gphoto2: Add Spanish resource.
      credui: Add Spanish resource.
      msvfw32: Add Spanish resource.
      sane: Add Spanish Resource.
      shell32: Update Spanish resource.

Maarten Lankhorst (10):
      winealsa: Fix period size in capture.
      winealsa: Fix return value checking in wavein.
      winealsa: Simplify the feeding of capture buffers.
      winealsa: Clear dwBytesRecorded in waveheader when adding buffer.
      winealsa: Remove fixed fixme.
      winealsa: Add control 'Digital' as alias for microphone.
      winealsa: Don't require a cswitch control for capture.
      winealsa: Add 'Front Mic' as alias for microphone.
      riched20: Make some functions static.
      include: Update oleacc with new constants and IAccessible interface.

Marcel Partap (3):
      include/winspool.h: Add FORM_INFO_2.
      winspool.drv/tests: Add dumping of FORM_INFO_1/2 in test_EnumForms.
      configure: Add i586-mingw32 prefix for crosscompiling.

Marco Schuster (3):
      wined3d: Fixed a bug that the 8600M GT could not be detected. Added small clarification for AppDB.
      loader: Added de_DE.UTF-8 translated Wine man page.

Marcus Meissner (1):
      server: Removed superflous async->queue NULL tests.

Michael Stefaniuc (20):
      secur32: Remove the SECUR32_ALLOC() macro around HeapAlloc().
      kernel32: Pass HEAP_ZERO_MEMORY to HeapAlloc() instead of clearing the memory with a separate memset() call.
      mshtml: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.
      winecfg: Pass HEAP_ZERO_MEMORY to HeapAlloc() instead of clearing the memory with a separate memset() call.
      user32/tests: Pass HEAP_ZERO_MEMORY to HeapAlloc() instead of clearing the memory with a separate memset() call.
      riched20: Rename the wrappers around HeapAlloc() &Co to use the new standard naming.
      riched20: Remove the RTFAlloc() wrapper around heap_alloc().
      hhctrl.ocx: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      iccvid: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      pdh: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      localspl: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      hlink: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      crypt32: Do not use an empty body in an else-statement as documentation.
      usp10: Rename the wrappers around HeapAlloc() &Co to use the standard names.
      wined3d: Fix a "ordered comparison of pointer with integer zero".
      rsaenh/tests: Remove duplicate abPlainPrivateKey variable.
      rsaenh/tests: Remove an unused global variable.
      wineoss.drv: Move a function wide variable down to the block it is used in.
      kernel32: Do not reuse the name of a function argument for a local variable.
      winebuild: Remove duplicate declaration of variable 'j'.

Paul Vriens (3):
      kernel32: Add some simple tests for GetVersionExA.
      kernel32: Make tests run on Win98 again.
      kernel32/tests: Test for functions should be or-ed.

Peter Oberndorfer (2):
      comctl32: Add EnumMRUList tests.
      comctl32: EnumMRUListA/W fix getting list size by negative item pos.

Rob Shearman (73):
      oleaut32: Implement OLEPictureImpl_GetIDsOfNames.
      include: Move Wine-specific EH_* defines from winnt.h to include/wine/exception.h.
      ole32: Always create a window for the main apartment.
      ole32: Ignore the threading model of the PSFactoryBuffer object created during standard marshaling.
      include: Fix the HRESULT_FROM_WIN32 macro to not change the HRESULT if the error is already an HRESULT.
      rpcrt4: Initialise the memory in test_simple_struct_marshal before passing it to NdrSimpleStructUnmarshall.
      rpcrt4: Reverse the conditions for which *pPointer is assigned base_ptr_val in PointerUnmarshall.
      rpcrt4: Test that the string retrieved from get_name was actually unmarshalled correctly.
      d3dx8: Initialise temp in D3DXQuaternionInverse to avoid a uninitialised variable warning with some versions of gcc.
      rpcrt4: Flesh out more of the IRpcChannelBuffer vtable to make the test_delegating_Invoke test succeed on Windows.
      rpcrt4: Call IRpcChannelBuffer_GetDestCtx in NdrStubInitialize, just like we do in NdrProxyInitialize.
      rpcrt4: Put the delegating stub thunks in an executable memory page,  rather than on the heap.
      ole32: Fix the test of the size returned from WdtpInterfacePointer_UserSize.
      rpcrt4: Handle all non-continuable exceptions in CStdStubBuffer_Invoke.
      rpcrt4: Set the destination pointer in PointerUnmarshall before calling the referenced type's unmarshalling routine.
      rpcrt4: Add tests for a pointer to a conformant strings.
      rpcrt4: Set fMustAlloc to TRUE when unmarshalling an object pointer.
      rpcrt4: Set the memory pointer in NdrBaseTypeUnmarshall to the buffer if we're unmarshalling on a server without memory being passed in.
      ole32: Initialise object variable in RunningObjectTableImpl_GetObject.
      mshtml: Use the correct deallocator in the htmldoc tests for the memory returned by IMoniker_GetDisplayName and fix a use-after-free error.
      rpcrt4: Fix a memory leak in RpcAssoc_BindConnection.
      rpcrt4: Fix a memory leak when freeing an association by deleting the critical section.
      rpcrt4: Fix a memory leak caused by NdrFullPointerXlatFree not freeing the entries in the full pointer translation table.
      rpcrt4: Improve PointerFree to not free buffer memory.
      oleaut32: Don't call SafeArrayAllocData in LPSAFEARRAY_UserUnmarshal if we called SafeArrayCreateEx instead of SafeArrayAllocDescriptor.
      oleaut32: Try to re-use existing memory when unmarshalling variants with byref types.
      oleaut32: Set the number of locks held on the safe arrays in the safe array tests to zero before destroying them, otherwise the operation will fail and leak memory.
      mshtml: Fix a memory leak in the htmldoc tests.
      ole32: Register the window used in the marshal tests only once.
      rpcrt4: Implement NdrConformantStructFree.
      rsaenh: Fix some leaks of the provider handle in the rsaenh tests.
      oleaut32: Fix a reference count leak of the TMarshalDispatchChannel.
      oleaut32: Fix two memory leaks in the test for DispCallFunc.
      oleaut32: Fix a leak of the typelib in the tmarshal tests.
      rpcrt4: Use an alertable wait in rpcrt4_protseq_np_wait_for_new_connection to fix a small memory leak flagged by Valgrind.
      ole32: Process messages while waiting for a local server to create a pipe.
      widl: Don't override the pointer type in top-level arrays.
      rpcrt4: Fix NdrConformantArrayUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.
      rpcrt4: Fix NdrFixedArrayUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.
      rpcrt4: Fix NdrConformantStructUnmarshall to use buffer memory if applicable and to reuse memory for embedded pointers.
      rpcrt4: Implement PointerMemorySize.
      rpcrt4: Add a trace to NdrBaseTypeMemorySize.
      rpcrt4: Fix the return value from NdrSimpleStructMemorySize.
      rpcrt4: Save the buffer in EmbeddedPointerMemorySize, like EmbeddedPointerUnmarshall does.
      rpcrt4: Add a missing break in DllMain.
      rpcrt4: Implement NdrConformantArrayMemorySize.
      rpcrt4: NdrRangeUnmarshall is implemented so add it to the spec file.
      rpcrt4: Pass the USER_MARSHAL_CB structure into user marshal routines.
      actxprxy: Add the start of actxprxy.dll.
      wine.inf: Register actxprxy.dll and create a fake DLL for it.
      widl: Always write a freeing function for arrays in generated code.
      widl: Arrays should have freeing code generated on the server side, even if they are [in] parameters.
      widl: Make sure to generate freeing calls for all non-simple structures with pointers and pointers to user marshalled types.
      widl: Support the address-of operator in expressions.
      widl: iid_is should take expressions, not just identifiers.
      widl: Add support for non-basetype return types.
      rsaenh: Fix some memory leaks in the tests.
      rpcrt4: Make the NdrAllocate tests pass on XP SP2 and greater.
      rpcrt4: Store allocated memory in a singly-linked list to keep track of what we should and shouldn't free in NdrFree.
      rpcrt4: Try to free every non-stack pointer in PointerFree now that NdrFree does the sanity checking for us.
      widl: Remove some confusion in how version numbers are packed into an attribute by defining some macros for this purpose.
      widl: Swap the version packing order back to what typelibs expect.
      rpcrt4: Add tests for freeing non-NdrAllocate allocated memory blocks.
      widl: Don't write redundant FC_RP type format out for conformant strings, unless it is a top level variable.
      Revert "rpcrt4: Try to free every non-stack pointer in PointerFree now that NdrFree does the sanity checking for us.".
      rpcrt4: NdrStubGetBuffer shouldn't set BufferStart and BufferEnd.
      rpcrt4: Fix the check in NdrPointerFree.
      rpcrt4: Free the base pointer in PointerFree when freeing a pointer with RPC_FC_P_DEREF.
      rpcrt4: Partially revert commit 18faf3184b2ea263d77c2a7ad92eef27bc4ba08f.
      rpcrt4: Document NdrAllocate.
      rpcrt4: Update TODO list.
      rpcrt4: Fix a typo in rpcrt4_conn_tcp_read.
      include: Make RpcRaiseException DECLSPEC_NORETURN, like it is in the PSDK.

Roy Shea (7):
      wininet: Removed inline from copy_compsA and zero_compsA to allow Windows testing.
      wininet: Added check of dwStructSize required by Windows in calls to InternetCrackUrlA.
      svchost: Implementation of svchost.
      qmgr: Renamed bits_main.c to qmgr_main.c and updated comments.
      include: Added bitsmsg.h header.
      include: Added IDL file for BITS.
      qmgrprxy: Queue manager proxy generated using an IDL compiler and bits.idl.

Sam Dennis (1):
      advapi32: Fix undocumented behaviour in ReqQueryValueEx when 'count' and 'type' point to the same address.

Stefan Dösinger (30):
      wined3d: mov to a0.x does a floor(), not a round to nearest.
      wined3d: Enabling too many lights is silently ignored.
      wined3d: Unify bpp to format conversion.
      wined3d: Detect the Intel GPU in macbooks.
      wined3d: Add parentheses to a flag check.
      wined3d: Add a method for querying the gl drawable size of rendertarget.
      wined3d: Use the proper drawable size when setting the scissor rect.
      wined3d: Retrieve the height properly when setting the viewport.
      wined3d: Disable the scissor test when blitting.
      wined3d: Fixes for drawable handling in Clear.
      wined3d: Clear honors the viewport.
      wined3d: Use the proper drawable size when clearing.
      wined3d: Test clearing regarding the scissor test and colorwrite.
      wined3d: Ignore unused attributes when generating the swizzle array.
      wined3d: Initialize output texcoord .w to 1.0 if needed.
      wined3d: A more detailed occlusion query test and fixes.
      ddraw: Set X8R8G8B8 for 32 bpp.
      wined3d: Add an alpha blending test.
      wined3d: Use the adapter to read the display mode.
      wined3d: Remove 24/32 bit hacks.
      wined3d: Use SetDisplayMode to set the display mode.
      winex11: Remove an unused variable.
      gdi32, winex11drv: Add a test for compatible bitmap depths.
      gdi32: Test bitmap depths.
      winex11: Remove an unused variable.
      gdi32: Test the bit depth of compatible bitmaps explicitly.
      winex11: Ignore the alpha if all pixels are 0.
      gdi32: Test the "alpha" channel on compatible bitmaps.
      user32: Add a test for WM_DISPLAYCHANGE.
      user32: Add a test for EnumDisplaySettings vs GetDeviceCaps.

Ted Percival (1):
      regedit: Display REG_DWORD as unsigned with lowercase hex digits.

Thomas Weidenmueller (1):
      comctl32: Fix painting bug in listview control.

Tim Schwartz (1):
      advapi32: service_control_dispatcher(): Fixed invalid pipe test to display GetLastError() before it gets overwritten.

Vitaly Lipatov (7):
      oledlg: Use wide strings, fix buffers size.
      oledlg: Add Russian translation.
      avifil32: Fix buffer sizes.
      midimap: Fix buffer sizes.
      shell32: Use sizeof instead of constant for buffer size.
      winspool.drv: Fix buffer sizes.
      winecfg: Updated Russian translation.

Zac Brown (2):
      wininet: Fix FtpGetCurrentDirectoryW to handle bad input.
      wininet: Add test for FtpGetCurrentDirectoryA in wininet/tests/ftp.c.

Alexandre Julliard
julliard at

More information about the wine-announce mailing list