The Wine development release 1.3.18 is now available.

What's new in this release (see below for details):
  - Support for mouse pointer clipping.
  - Raw mouse events support using XInput2.
  - First steps of a DIB engine implementation.
  - More properties supported in DXDiag.
  - New security tab in the Internet control panel.
  - Improved video playback on Mac OS X.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.18.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.3.18.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 1.3.18:

   1918  PostMessage(hwnd,WM_QUIT,0,0) doesn't exit the message loop
   4553  Future Cop doesn't start
   5559  rendering problem in Beyond Good and Evil
   7663  War Of the Ring Demo aborts silently on startup
   9026  division by zero in winealsa
  13387  Crysis patcher fails
  14045  SketchUp was unable to initialize OpenGL
  15304  Running any Half-Life based game in "Windowed Mode" corrupts mouse movement
  15394  Activating a single item menu using a hotkey doesn't execute the menu item command
  16187  Google Sketchup Layout crashes on startup (needs TIFF encoding)
  19191  Adobe Updater 6: unable to install updates for Adobe Reader 9
  19960  NtQuerySystemInformation( SystemProcessorPerformanceInformation returns stale and incorrect values
  20998  Anarchy Online starting up slowly and KDE panel shown fullscreen
  22282  Dragon Age: Origins mouse control glitches
  23509  SetThreadAffinityMask() doesn't work correctly anymore
  23830  KKBOX 4.2.0.158 crashes
  23962  Borderlands will not start
  24134  Demos on dhpoware website won't run without native msvcp100.dll
  24359  dbghelp has lots of 'elf_new_wine_thunks Duplicate' (gcc 4.6)
  24870  thief gold multiprocessor bug not affected by taskset or schedtool.
  25321  Osu! doesn't run in OpenGL mode
  25407  Office 2007 SP2 installer reports success but fails to install some components
  25520  Unreal Gold (gog.com version) crashes
  25653  ratGPU standalone renderer hits unimplemented function MSVCR90.dll.__CxxFrameHandler3 on x86_64
  25825  kernel32:debugger tests fail under clang
  25920  winedbg does not work under clang
  25975  Edge of Chaos window display does not update
  26013  Brigade E5 crashes at startup
  26023  Live Messenger 2009 crashes on start, needs msvcr80.dll._mbslwr_s
  26026  Installation of ICBC online bank Active Control needs scarddlg.dll
  26266  Moving the mouse ingame causes it to halt in Retribution Engine
  26284  Crysis 2 demo needs msvcr90.dll._snscanf (purist)
  26381  mcmap.exe help text is wrong
  26418  Guitar Hero World Tour: Playstation 3 (ps3) hardware detection in game
  26482  Typo in c2man.pl leads to FTBFS
  26509  dbghelp gives a ton of duplicate symbols under clang
  26564  Sinking Island: exception occurs on exit
  26591  Slingplayer 2 crashes when clicking on "Log in" when compiled with gcc -O0
  26599  ip-tv player not switch to fullscreen
  26627  Z doesn't install (needs ole2disp.SETERRORINFO)
  26632  MultiByteToWideChar with MB_ERR_INVALID_CHARS doesn't fail for some code points.
  26650  MS Office 2007 won't install
  26675  Lots of black surfaces and textures in Dungeon Keeper 2
  26679  Warcraft 3 stops rendering when pressing the left mouse button (selecting several units)
  26689  Creative Writer 2 crashes after opening some sets of files consecutively
  26720  hifree required InternetSetW with INTERNET_OPTION_DATA_SEND_TIMEOUT
  26728  d3d_compiler/reflection test shows a ton of valgrind warnings
  26732  Winecfg: tab text is missing
  26733  AutoCAD 2008: Hang-up at start-up
  26735  It should be possible to select Windows 2008 R2
  26777  Games for Windows Live fails to start without native windowscodecs

----------------------------------------------------------------

Changes since 1.3.17:

Akihiro Sagawa (6):
      gdi32/tests: Add a test for a charset enumeration order.
      gdi32: Move charset enumeration to helper function.
      gdi32: Remove redundant charset assignments.
      gdi32: Create charset enumeration order list for EnumFontFamiliesEx.
      kernel32/tests: Add a test for undefined byte character conversion.
      libwine: MB_ERR_INVALID_CHARS makes an error when the undefined byte character is used.

Alexandre Julliard (29):
      gdi32: Use the hdc from the generic physdev structure in metafiles.
      gdi32: Use the hdc from the generic physdev structure in enhanced metafiles.
      server: Don't run low-level hooks in debugged processes.
      server: Add a more general way of posting messages to the desktop window.
      server: Post a message to the desktop window when the cursor clip rectangle changes.
      winex11: Implement cursor clipping using a pointer grab.
      winex11: Add an option to disable pointer grabs.
      winex11: Always forward SetCursor to the driver, and limit the frequency of updates on the driver side.
      winex11: Update the cursor on the clipping window while it's mapped.
      user32: Avoid accessing the dialog info of a destroyed window.
      winex11: Update the cursor on the clip window when the pointer grab starts.
      winex11: Simplify the event handler lookup, and support names in debug traces for extension events.
      server: Fix a memory leak.
      server: Queue a WM_MOUSEMOVE message when the cursor position is explicitly changed.
      server: Warp the mouse inside the clipping rectangle when it's set.
      server: Don't queue a hardware WM_MOUSEMOVE if the position hasn't changed.
      gdi32: Avoid reading bits outside of the glyph bitmap in GetGlyphOutline.
      gdi32: Fix a compiler warning on 64-bit.
      winex11: Get rid of the old ddraw HAL support.
      winex11: Add infrastructure for managing the extra data of generic extension events.
      winex11: Build the mouse input structure directly in the mouse event handlers.
      configure: Add a check for XInput2 headers.
      winex11: Add handlers for the XInput2 raw mouse events.
      winex11: Retrieve raw mouse events through XInput2 while the cursor is clipped.
      winex11: Make sure the clipping window is initialized in every thread.
      ntdll: Implement the ProcessAffinityMask case in NtQueryInformationProcess.
      server: Inherit the process affinity from the parent process.
      server: Retrieve the Unix thread affinity for the initial thread.
      ntdll: Rewrite the SystemProcessorPerformanceInformation handing to avoid code duplication.

Andrew Nguyen (11):
      dxdiagn: Add some machine name properties to the DxDiag_SystemInfo container.
      dxdiagn: Broaden the scope of the DLL instance handle.
      dxdiagn: Add language properties to the DxDiag_SystemInfo container.
      dxdiagn: Add a NetMeeting detection property to the DxDiag_SystemInfo container.
      dxdiagn: Add a NECPC98 property to the DxDiag_SystemInfo container for completeness.
      dxdiagn/tests: Add tests for some DxDiag_SystemInfo properties.
      dxdiagn: Add date and time properties to the DxDiag_SystemInfo container.
      dxdiagn: Add a physical memory display string property to the DxDiag_SystemInfo container.
      dxdiagn: Add paged memory display string properties to the DxDiag_SystemInfo container.
      dxdiagn: Add operating system string properties to the DxDiag_SystemInfo container.
      msvcrt: Ensure that old buffer contents are copied when allocating a growable pf_output buffer for the first time.

André Hentschel (7):
      uxtheme/tests: Mark XP SP1 behaviour as broken.
      uxtheme/tests: Remove unneeded comment.
      winedbg: Implement get_addr on sparc.
      mshtml: Fix Warning message.
      gdiplus: Add a FIXME.
      dbghelp: Implement sparc_get_addr.
      winedbg: Implement adjust_pc_for_break on Sparc.

Aric Stewart (9):
      strmbase: Create OutputQueue for queuing outgoing samples.
      strmbase: Add OutputQueue_EOS implementation.
      wineqtdecoder: Move pixel buffer access to utility module.
      wineqtdecoder: Implement a Wine specific Data Handler.
      wineqtdecoder: Add 64-bit functions to datahandler.
      wineqtdecoder: Work to add a QuickTime video Splitter.
      wineqtdecoder: Add processing for audio in the movie.
      wineqtdecoder: Optimizations for audio extraction.
      wineqtdecoder: Tweak required for processing MPEG streams.

Aurimas Fišeras (5):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      inetcpl: Update Lithuanian translation.
      po: Update Lithuanian translation.

Austin English (12):
      msvcp100: Add stub dll.
      vcomp: Add stub dll.
      windowscodecs: Only declare jpeg debug channel if jpeg is supported.
      ole2disp.dll16: Add a stub for SETERRORINFO.
      winex11.drv: Remove extraneous parentheses (LLVM/Clang).
      winealsa.drv: Remove extraneous parentheses (LLVM/Clang).
      quartz: Remove extraneous parentheses (LLVM/Clang).
      wineoss.drv: Remove extraneous parentheses (LLVM/Clang).
      ole32: Remove extraneous parentheses (LLVM/Clang).
      comctl32: Remove extraneous parentheses (LLVM/Clang).
      progman: Avoid assigning a variable to itself (LLVM/Clang).
      ntdll: Add support for win2k8r2.

Christian Inci (1):
      crypt32: Fix a string test.

David Hedberg (2):
      comdlg32: Fetch rectangle from the correct control.
      comdlg32: Add support for customizing control labels in the item dialog.

Detlef Riekenberg (6):
      inetcpl: Add a security propsheet.
      inetcpl: Fill the security listview with zones.
      inetcpl: Display description and security level for a zone.
      inetcpl: Add German version of the security propsheet.
      winecfg: Fix major version of windows 3.1.
      po: Update German translation.

Dmitry Timoshkov (9):
      user32: Add a test for WM_QUIT handling by DefDlgProc.
      user32: DefDlgProc on WM_QUIT should repost it and terminate the dialog message loop.
      user32: Add a test for activating a menu consisting from a single menu item using a hot key.
      kernel32: Constify some data.
      user32: Use symbolic names for values returned by WM_MENUCHAR handler.
      winex11: Move the SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE/SC_RESTORE) call after the window extents check.
      user32: Use symbolic names for values returned by WM_MENUCHAR handler.
      user32: Fix the single menu item activation using a hot key.
      ole32: Replace a spurious FIXME by a TRACE.

Eric Pouech (5):
      dbghelp: For codeview/bprel symbols force the register to be EBP, other CPUs should use regrel symbol instead of bprel.
      dbghelp: Force void type in const declaration, when subtype cannot be found.
      dbghelp: Extended CPU structure by adding a default register number for frame.
      dbghelp: Added some missing defines to dwarf.h.
      dbghelp: Silence DW_TAG_GNU_call_site objects.

Francois Gouget (16):
      msxml3/tests: Fix variable initializations to conform to C89.
      programs: NOINVERT is an obsolete flag so remove it.
      cmdlgtst: Use the human readable application name in the window title.
      progman: Fix accelerator support.
      taskmgr: Implement the Help menu.
      shell32: Fix the *CPLINFO* lData field type.
      winhlp32: Add support for accelerators in general and F1 in particular.
      progman: Fix the Alt+Enter accelerator so it shows the selected element attributes.
      d3dx9_36: Make get_parameter_{handle,struct}() static.
      mshtml: Make HTMLFiltersCollection_Create() static.
      mmdevapi: Reorder a couple of functions to avoid forward declarations and make MMDevice_SetPropValue() static.
      programs: Standardize the About menus.
      clock: Rename the Info menu to Help for consistency.
      winemine: Fix and standardize the menus.
      programs: Standardize the Help menus.
      qcap: Ifdef-out code that is not used if V4L support is missing.

Frédéric Delanoy (2):
      po: Update French translation.
      po: Update French translation.

Gerald Pfeifer (4):
      winex11.drv: Initialize a variable in create_xcursor_frame to silence a warning.
      gdiplus: Initialize a variable in SOFTWARE_GdipFillRegion to avoid a compiler warning.
      quartz: Properly set a parameter by reference in Parser_OutputPin_DecideAllocator.
      configure: Add compiler warning -Wunused-but-set-parameter.

Hans Leidekker (10):
      msi: Fix parsing of an empty property followed by a non-empty property.
      msi: Honor msidbFeatureAttributesFollowParent.
      wine.inf: Add shell handler for .msp files.
      msi: More Wow64 fixes.
      msi: Check the return value of MSIREG_OpenUpgradeCodesKey (valgrind).
      msi: Fix a memory leak (valgrind).
      msi/tests: Fix some memory leaks (valgrind).
      msi: Avoid redundant loading of media info.
      msi: Add support for maintaining a list of cabinet streams.
      msi: Add offsets to disk ids added by patches.

Henri Verbeet (50):
      ddraw: Get rid of the unused LoadWineD3D() declaration.
      ddraw: Do not unset the index buffer on D3D device destruction.
      ddraw: Fix a typo in a comment.
      wined3d: Fix ARB_0001 with pixel shaders in arb_get_helper_value().
      wined3d: Introduce a helper function for translating blend operations.
      wined3d: Don't bother setting a depth render buffer for WINED3DFMT_NULL render targets.
      wined3d: Fix partial depth buffer copies.
      d3d8/tests: Add a test for partial depth buffer copies.
      d3d9/tests: Add a test for partial depth buffer copies.
      wined3d: Correctly check if the destination format is FBO attachable in fbo_blit_supported().
      wined3d: Make "blit_operation" naming a bit more consistent.
      wined3d: Introduce a separate function for depth fills.
      wined3d: Allow depth and stencil clears on surfaces other than the current depth / stencil buffer.
      wined3d: Add depth fills to the blitter interface.
      wined3d: Remove COM from the rendertarget view implementation.
      wined3d: Add support for depth blits to the blitter.
      d3d9/tests: Add a depth blit test.
      wined3d: Don't unregister windows with the wrong window proc on unload either.
      wined3d: Rename "NumberOfPalettes" to "palette_count".
      wined3d: Rename "NumberOfSwapChains" to "swapchain_count".
      wined3d: Don't use IWineD3DDeviceImpl_GetSwapChain() in IWineD3DDeviceImpl_Present().
      wined3d: Merge swapchain_gdi.c into swapchain.c.
      wined3d: Merge swapchain_base.c into swapchain.c.
      wined3d: Only create a swapchain context array for GL swapchains.
      wined3d: Merge the IWineD3DSwapChain::Destroy() implementations.
      wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
      wined3d: Explicitly handle 0 rt_count right at the start of context_apply_draw_buffers().
      wined3d: Only set draw buffers that are explicitly specified in context_apply_draw_buffers().
      wined3d: Set the read buffer to GL_NONE for draws and clears on an FBO.
      wined3d: Check FBO completeness after the read / draw buffers are specified.
      wined3d: Depth-only clears are done offscreen.
      wined3d: Flush after accessing the front buffer in surface_blt_fbo().
      wined3d: Flush after accessing the front buffer in flush_to_framebuffer_drawpixels().
      d3d8: Get rid of the implicit swapchain refcounting hacks.
      d3d9: Get rid of the implicit swapchain refcounting hacks.
      comctl32: Allocate the correct amount of memory for tab items in TAB_InsertItemT().
      wined3d: Get rid of the swapchain destroy callback.
      wined3d: Remove IWineD3DSwapChain::Destroy() from the public interface.
      wined3d: Merge the IWineD3DSwapChain::SetDestWindowOverride() implementations.
      wined3d: Take hDestWindowOverride into account in IWineGDISwapChainImpl_Present().
      wined3d: Merge the GL and GDI swapchain vtbls.
      wined3d: Remove COM from the swapchain implementation.
      wined3d: Get rid of the IWineD3DSwapChain typedefs.
      wined3d: Get rid of the unused vSyncCounter swapchain field.
      wined3d: Decrement the refcount in wined3d_query_decref().
      wined3d: Remove COM from the volume implementation.
      wined3d: Get rid of the IWineD3DVolume typedefs.
      wined3d: Don't flush just because a swapchain has multiple contexts.
      wined3d: Get rid of the IWineD3DResource interface.
      wined3d: Get rid of the IWineD3DBase interface.

Huw Davies (21):
      gdi32: Add a skeleton dib driver.
      gdi32: Add a dib primitive function table.
      gdi32: Add support for 32 bpp BI_BITFIELDS.
      gdi32/tests: Start of a framework for writing dib driver tests.
      gdi32: Add a solid_rects primitive.
      gdi32: Initial SelectPen support.
      gdi32: Add the ability to track whether we should defer to the graphics driver.
      gdi32: Add support for DC pens.
      gdi32: Calculate AND and XOR masks corresponding to the current pen colour and rop2.
      gdi32: Draw single pixel wide, horizontal or vertical lines with the dib driver.
      gdi32/tests: Add horizontal and vertical solid line tests.
      gdi32: Implement SelectBrush for solid brushes.
      gdi32: Implement PatBlt.
      gdi32/tests: Add PatBlt tests.
      winex11: Don't use the bitfields for the BI_RGB case.
      gdi32: Don't use the bitfields for the BI_RGB case.
      gdi32: Don't use the bitfields for the BI_RGB case and also cope with zero masks.
      gdi32: Don't set the bitfields when the dib section is BI_RGB.
      gdi32: Add support for solid diagonal lines.
      gdi32: Keep track of the combined clip region.
      gdi32: Add clipping for horizontal and vertical solid lines.

Hwang YunSong (3):
      po: Update Korean translation.
      po: Update Korean translation.
      po: Update Korean translation.

Igor Paliychuk (1):
      po: Update Ukrainian translation.

Jacek Caban (18):
      wininet: Abstract different transfer and content encoding reading to layered structures.
      wininet: Added more tests.
      mshtml: Get rid of no longer needed app-startup observer initialization.
      mshtml: Properly handle upload streams containing headers.
      urlmon: Use dedicated data.php URL for testing regular http binding.
      wininet: Check NETCON_connected in netconn_end_of_data.
      urlmon: Use winetest data.php URLs for regular http binding tests.
      shdocvw: Moved more registration to .rgs file.
      shdocvw: Register .url extension.
      shdocvw: intshcut.c COM clean up.
      shdocvw: Clean tests skipping.
      shdocvw: Make tests stricter and fix GetUrl problem found by the change.
      mshtml: Reimplement nsIURI::SetHost on top of IUriBuilder.
      kernel32: Moved GetProcessImageFileName implementation from psapi to kernel32.
      mshtml: Use xul.dll directly instead of via xpcom.dll.
      shdocvw: Register known protocols as URL protocols.
      shdocvw: Added more InternetShortcut tests.
      urlmon: Use winetest post.php URLs for http POST tests.

Jerome Leclanche (1):
      mscms: Move MSCMS_dbgstr_tag outside of the HAVE_LCMS conditional.

Joris Huizer (1):
      dxdiagn: Plug memory leak.

Juan Lang (2):
      crypt32: Accept CA certificates without a key usage extension.
      wininet: Honor security flags specified when opening a connection.

Jörg Höhle (5):
      winmm: Check callback flags prior to opening a driver.
      winmm: Trace DriverCallback once upon entry.
      winmm: DriverCallback returns TRUE iff there is notification.
      winmm: Audio drivers unconditionally invoke DriverCallback.
      user32: Added message names for winmm.

Maarten Lankhorst (2):
      include: Add missing defines to mddk.h.
      dsound: COM cleanup property sets.

Marcus Meissner (3):
      msxml3: Fixed two const table declarations (Coverity).
      mscms: Fixed bad sizeof() (Coverity).
      mscms: Added missing breaks (Coverity).

Matteo Bruni (1):
      wined3d: Get rid of context_validate.

Michael Curran (2):
      d3dxof: Adjusted to allow for parsing of optional template elements.
      d3dxof: Changed is_string function to accept spaces.

Michael Stefaniuc (7):
      wininet: Move "inline" right after the storage specifier.
      riched20: COM cleanup for the ITextHost iface.
      riched20: COM cleanup for the ITextServices iface.
      d3d9: COM cleanup for the IDirect3D9Ex iface.
      d3d9: COM cleanup for the IDirect3DQuery9 iface.
      d3d9: COM cleanup for the IDirect3DStateBlock9 iface.
      d3d9: COM cleanup for the IDirect3DCubeTexture9 iface.

Nikolay Sivov (8):
      comctl32/monthcal: Week numbers use title colour.
      comctl32/monthcal: Fix today label position and text colour.
      comctl32/monthcal: Cache pens, fix line colour.
      comctl32/monthcal: Get rid of empty slots in cached brushes array.
      comctl32/monthcal: Some tests for MCM_SIZERECTTOMIN.
      ole32: Handle null argument in OleIsRunning().
      comctl32/tab: Fix invalid read of item data.
      comctl32/tab: Use dpa to store item data.

Owen Rudge (1):
      advapi32: Add basic SaferSetLevelInformation stub.

Philipp Middendorf (1):
      dsound: Handle 8 channel audio input.

Piotr Caban (7):
      msvcrt: Added _wassert implementation.
      msvcrt: Added _snscanf implementation.
      msvcrt: Added _snwscanf implementation.
      msvcr90: Added _CRT_RTC_INIT and _CRT_RTC_INITW implementation.
      msvcrt: Added wctob implementation.
      msvcp100: Fix spec file.
      ntdll: Restore stack guard and prevent stack from shrinking.

Rex Tsai (1):
      wininet: Added stub for option DATA_SEND_TIMEOUT.

Rico Schüller (15):
      d3dcompiler: Move D3DCreateBlob() to blob.c.
      d3dx9: Add argument check to D3DXCreateBuffer().
      d3dx9: Add ID3DXBuffer test.
      d3dcompiler: Remove type cast in D3DCreateBlob().
      d3dcompiler: Move blob and strip functions to blob.c.
      d3dcompiler: Make some variables static.
      d3dx9: Fix return values.
      d3dx9: Start effect parameter parsing.
      d3dx9: Parse effect parameter type definition.
      d3dx9: Parse effect type D3DXPC_STRUCT.
      d3dx9: Parse name and semantics.
      d3dx9: Parse value data.
      d3dcompiler: Fix HeapAlloc/HeapFree for type members in the reflection parser.
      d3dx9: Make some functions inline.
      d3dx9: Parse effect pass and technique.

Stefan Dösinger (3):
      wined3d: Don't drop VBOs for full buffer reloading without conversion.
      wined3d: Remove FLOAT16 vertex attribute conversion support.
      wined3d: Only acquire a context in buffer::PreLoad if we have to.

Stefan Leichter (1):
      scarddlg: New dll stub.

Thomas Mullaly (6):
      include: Updated INTERNETFEATURELIST enum and flags.
      urlmon/tests: Added tests for CoInternetIsFeatureEnabled.
      urlmon/tests: Added tests for CoInternetSetFeatureEnabled.
      urlmon: Added FeatureControl registry keys.
      urlmon/tests: Added FeatureControl registry key tests.
      urlmon: Added basic implementation for CoInternet{Is/Set}FeatureEnabled.

Vincent Povirk (24):
      gdiplus: Add helper for translating GpFont to HFONT.
      gdiplus: Add a software implementation of GdipDrawDriverString.
      gdiplus: Don't settle on a font size until absolutely necessary.
      gdiplus: Respect the CmapLookup flag in GDI32_GdipDrawDriverString.
      windowscodecs: Implement TiffDecoder_GetResolution.
      windowscodecs: Add stub TIFF encoder.
      windowscodecs: Implement TiffEncoder_Initialize.
      windowscodecs: Implement TiffEncoder_CreateNewFrame.
      windowscodecs: Implement TiffFrameEncode_Initialize.
      windowscodecs: Implement TiffFrameEncode_SetPixelFormat.
      windowscodecs: Implement TiffFrameEncode_SetSize.
      windowscodecs: Implement TiffFrameEncode_SetResolution.
      windowscodecs: Implement TiffFrameEncode_WritePixels.
      windowscodecs: Implement TiffFrameDecode_WriteSource.
      gdiplus: Validate MatrixOrder in matrix functions.
      windowscodecs: Implement TiffFrameEncode_Commit.
      windowscodecs: Implement TiffEncoder_Commit.
      gdiplus: Add support for encoding TIFF images.
      windowscodecs: Add test for TIFF encoder.
      windowscodecs: Add test for multi-frame TIFF encoding.
      windowscodecs: Implement FlipRotator_GetPixelFormat.
      windowscodecs: Log unsupported conversion formats.
      windowscodecs: Add support for converting from 32bppPBGRA.
      windowscodecs: Add support for converting to 32bppPBGRA.

Vitaliy Margolen (1):
      dinput: Implement getting DIPROP_VIDPID property for evdev joystick driver. Fixes bug 26418.

Łukasz Wojniłowicz (1):
      po: Update Polish translation.

--
Alexandre Julliard
julliard@winehq.org
