Wine release 1.3.19

What's new in this release (see below for details): - New sound driver architecture for MMDevAPI. - Better support for relative mouse events in DInput. - Debugger support for the ARM platform. - Various improvements in D3DX9. - More MSVC runtime functions. - Various bug fixes.

Alexandre Julliard (40): msvcr90: Fix function pointer declaration that confuses winapi_extract. regedit: Remove unnecessary use of class atoms. server: Check sharing options when duplicating an fd object. server: Add support for opening a new file handle from a mapping object. server: Store a mapping instead of a file for process dlls. server: Fix sharing parameters for debug event files, and don't fail if the file can't be opened. ws2_32: Use saner parameter names in WSAIoctl. ws2_32: Merge ioctlsocket implementation into WSAIoctl. ws2_32: Signal overlapped completion in WSAIoctl. winex11: Allow installing the event handler multiple times. server: Reuse existing file descriptor objects for duplicate file mappings. user32: Support creating animated icons, not only cursors. user32: Add support for loading animated cursors/icons from resources. wininet: Use an accessor function instead of directly accessing the X509_STORE_CTX structure. winhttp: Use an accessor function instead of directly accessing the X509_STORE_CTX structure. server: Also return the previous cursor position in the set_cursor request. user32: Only call the driver when the cursor position has really changed. user32: Don't start menu tracking when the owner window is invalid. winex11: Clip out the top-level windows when repainting the desktop. winetest: Cowardly refuse to submit results that have too many failed tests. user32: Pass a NULL rectangle in the ClipCursor entry point when clipping is reset because of focus change. winex11: Store a message window with the desktop when the cursor is clipped. winex11: Add separate helper functions for pointer grabbing and ungrabbing. winex11: Allow changing the clipping rectangle while the mouse is grabbed. server: Set the fd user when duplicating a mapping file descriptor into a new file. winex11: Release the clip cursor grab when the clipping window loses focus. winex11: Refuse to clip cursor to a 1x1 window if we don't have XInput2 support. dinput: Get rid of some redundant coordinate mappings. dinput: Add a helper function for mouse warping. dinput: Use a 1x1 clipping rect instead of warping the mouse in exclusive mode. dinput: Pass mouse messages through if the request to clip the cursor is rejected. winex11: Ignore MotionNotify events if we have pending RawMotion events. winex11: Merge consecutive RawMotion events. configure: Add some quoting required by autoconf 2.68. atl: Specify the correct instance and cursor when registering a class. winex11: Grab the mouse in the thread that owns the foreground window if possible. wineps: Add a helper function for paper size conversions. msvcp60: Add a stub dll. msvcrt: Synchronize spec files across dlls. msvcrt: Forward preferably to msvcr90 when there is an export with the same name.

Amine Khaldi (2): comctl32: Don't draw text when the number of text lines has been set to zero. gdi32/test: SelectObject doesn't work with palettes, use SelectPalette instead.

Anders Jonsson (1): po: Update Swedish translation.

Andrew Bogott (2): crypt32/tests: Demonstrate that CryptStringToBinary can take arbitrary key headers and trailers. crypt32: Rework Base64WithHeaderAndTrailerToBinaryA and Base64WithHeaderAndTrailerToBinaryW so that they accept a wider variety of headers and trailers.

Eric Pouech (3): services: Be sure to unlock the current database in all error cases in service_start_process. msvcrt: Added tests in fileops with different buffer management modes. msvcrt: ungetc must create a buffer, even if _IONBF has been set with setvbuf.

Francois Gouget (11): setupapi: Fix the SetupDiGetActualSectionToInstallEx() definition. mshtml: get_channelbsc_mon() is unused so remove it. msi: Move msi_get_cabinet_stream() up and make it static. d3dx9_36: Make some is_valid_xxx() functions static. gameux: Make some functions static. msvfw32: Use constants instead of hard-coded numbers for the resources. msvcrt: Fix compilation on systems that don't support nameless unions. gameux: Remove WINAPI on static functions where not needed. shdocvw: Fix ellipsis usage in the menu and button labels. wordpad: Fix ellipsis usage in the menu labels. appwiz.cpl: Fix ellipsis usage in the button labels.

Gerald Pfeifer (2): wine: Use { } instead of ; for an empty basic block. winecfg: Fix use of uninitialized variable in some cases.

Hans Leidekker (3): mscoree: Add a stub implementation of GetRealProcAddress. msi: Sync with the action request instead of the action taken in msi_seltree_sync_item_state. mspatcha: Add a version resource.

Henri Verbeet (45): wined3d: Use the correct mask for depth/stencil locations in surface_load_ds_location(). wined3d: Forward surface refcounts to the container. wined3d: Forward volume refcounts to the container. wined3d: Merge surface_gdi.c into surface.c. wined3d: Remove IWineD3DSurface::GetImplType() from the public interface. wined3d: Also update ds_current_size if there's no current DS location in surface_load_ds_location(). wined3d: Set resource bindings to NULL before releasing them on stateblock destruction. wined3d: Don't bother unsetting texture resources in IWineD3DDeviceImpl_Uninit3D(). ddraw: Verify the viewport belongs to the device in IDirect3DDeviceImpl_3_SetCurrentViewport(). ddraw: Verify the viewport belongs to the device on execute buffer execution. wined3d: Decrement the vertex declaration refcount on stateblock destruction. ddraw: Don't bother unsetting resources on surface destruction. ddraw: Introduce a separate function for texture creation. ddraw: Unset the viewports active device in IDirect3DDeviceImpl_3_DeleteViewport(). ddraw: Replace the viewport list with a standard Wine list. wined3d: Get rid of the mipmap hint code. ddraw: Add a separate function for surface cleanup. ddraw: Release the wined3d surface first in ddraw_surface_destroy(). ddraw: Destroy the ddraw surface after the wined3d surface is destroyed. ddraw: Destroy the ddraw surface after the wined3d texture is destroyed. ddraw: Replace the light list with a standard Wine list. wined3d: Make sure we release the correct DC in context_update_window(). wined3d: Get rid of wined3d_buffer_get_type(). wined3d: Get rid of wined3d_volume_get_type(). wined3d: Get rid of IWineD3DSurface::GetType(). comctl32: Return if there's no current selection in TAB_EnsureSelectionVisible(). wined3d: Remove IWineD3DSurface::PrivateSetup() from the public interface. wined3d: Merge surface_base.c into surface.c. wined3d: Either set SM3 for both vertex and fragment shaders or for neither. wined3d: Enable SM3 if ARB_shader_texture_lod is supported. wined3d: Rename "pCaps" to "caps". wined3d: Only invalidate the INDRAWABLE location for onscreen surfaces in surface_realize_palette(). wined3d: Merge the IWineD3DSurface::Release() implementations. wined3d: Merge the IWineD3DSurface::Map() implementations. wined3d: Merge the IWineD3DSurface::Unmap() implementations. wined3d: Merge the IWineD3DSurface::PreLoad() implementations. wined3d: Merge the IWineD3DSurface::GetDC() implementations. wined3d: Merge the IWineD3DSurface::ReleaseDC() implementations. wined3d: Merge the IWineD3DSurface::SetMem() implementations. wined3d: Merge the IWineD3DSurface::SetFormat() implementations. wined3d: Merge the IWineD3DSurface::Flip() implementations. wined3d: Merge the IWineD3DSurface::BltFast() implementations. wined3d: Merge the IWineD3DSurface::Blt() implementations. wined3d: Remove COM from the surface implementation. wined3d: Get rid of the IWineD3DSurface typedefs.

Huw Davies (6): gdi32: Clip solid brush fills. gdi32: Make sure that pattern brush bitmap's are created with the correct physdev. gdi32: Add a directional bias for the case when the Bresenham error term is zero. rpcrt4: Handle non-conformant bogus structures. gdi32: Implement clipping of diagonal lines. gdi32: Now that we have our own Bresenham routine, we don't need the LPARAM cast.