The Wine development release 1.3.17 is now available.

What's new in this release (see below for details):
  - Implementation of the new Vista file dialogs.
  - Initial support for patching in MSI installers.
  - Improvements to the calendar control.
  - A few fixes for file associations.
  - Menus cleaned up in built-in applications.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.17.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.3.17.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.17:

   2277  Redraw/refresh errors for Remote Assault demo
   2596  segmentation fault with Microsoft Flight Simulator 98
   4812  Fractal Mapper: fill patterns get wrong
   6495  Civilization 2 crashes on load after game complains about audio driver
   8640  Oziexplorer Save Image Problem
   9544  Semi transparency in .ico files is ignored
  12017  py2exe fails because fixme:resource:get_resource_section .rsrc isn't the last section
  12220  Joystick POV (hatswitch) doesn't work
  12275  Democracy crashes in wined3d
  13124  Graphical glitches in cursor for Diner Dash Hometown Hero
  14181  Mouse position in Steam tray menu is incorrect
  15220  fails to run PeachTree Accounting 8.0
  15355  REFPROP fails to calculate any values
  16391  Protel 99: text rotation misbehavior
  16426  Rapid Uploader: Crash with file open dialog
  16742  ntdll/directory.c: passing argument from incompatible pointer type
  17185  Quicktime 7.1.6 buffer overrun on exit
  17431  the +message debug channel can cause crashes when printing sent messages
  17520  mshtml/dom test times out if +heap enabled
  17971  GCC optimisations cause workaround for Slingplayer bug 13371 to fail
  18708  Amazon MP3 Downloader: Toolbar doesn't work
  19312  Can not close IE8
  19434  ActiveState ActiveTcl installer fail to install due to path write permission
  19596  Sony Ericsson PC Suite 5 fails to install
  19601  "Master Blaster 2006" hangs in infinite loop
  19929  Slingplayer's UI does not draw
  20020  Metal Fatigue hangs on intro movies if audio is enabled
  20119  Need for Speed Porsche 2000 / Unleashed: Text displayed incorrectly
  20234  Gomez Peer auto-update fails
  20245  2gis does not work
  20435  Barnes and Noble EReader crashes on startup
  20660  .net1.1 sp1 will not install
  21039  AtcWindows - modal windows don't stay on top
  21265  PCBSD crash handler  encountered error while trying to start bin/wine
  21613  Stack buffer read overflow in GdipCreateBitmapFromScan0
  21690  Turbo Lister page fault when selecting "register now" in help page
  21698  Cake Mania only runs in a virtual desktop on first run
  22398  7-Zip 64bit msi - Filesystem browser doesn't work at all
  23000  Delphi Apps can't open/save files in vista+ mode
  23134  iexplore does not correctly detect proxy details
  23276  igneous game : Graphical error
  23416  PAF5 help content panel is blank for most chapters.
  23888  1by1 Player version 1.70 freezes.
  23946  Radiobuttons and checkboxes not shown in .Net apllications
  23956  Verizon Media Manager needs native gdiplus to show text
  24025  Pando-based downloaders (League of Legends, Atlantica Online) missing background image
  24149  64-bit iexplore crashes on http://www.irongeek.com/browserinfo.php
  24301  ICO parsing needs an improvement
  24437  Barnes & Noble Nook for PC (eReader 2.5) doesn't show the text of books
  24449  TomTom HOME2 fails to start - gives a backtrace
  24484  Hegemony: Philip of Macedon installer complains "Couldn't create instance of IKnownFolderManager"
  24835  Graphical corruption in Verizon Media Manager without native GDIplus
  24928  WoW 4.x D3D: Water Detail and Sunshafts cannot be enabled fully in d3d9
  24959  Impulse crash after login
  25389  EA Create demo: fails without native msvcp90
  25471  problem on menus from DexExpress Delphi application component
  25680  Stale file associations are not properly removed
  25698  Black Prophecy and other Pando installers don't render properly
  25770  KOTOR2 : Crash when leaving Telos with the Ebon Hawk
  25827  msi install/package tests fail on clang
  25873  PAF5 now crashes is using the help viewer and clicking four chapter titles
  25949  Divinity 2: The Dragon Knight Demo - fails to start with builtin msvcr80 (purist)
  26086  TurboTax 2011: initial setup screen is mostly gray
  26125  msvcrt/cpp tests show a few memory leaks under valgrind
  26126  msvcrt/printf test shows an invalid/read write under valgrind
  26127  msvcrt/locale tests show a few uninitialized variables under valgrind
  26175  Theme internals on 64 bit enters infinite loop after crash
  26207  AVRStudio 4 : crashes when connecting to the programmer using COM port
  26232  Dragon Age 2 demo crashes with builtin msvcr90
  26281  regedit: Doesn't export decent newline in Unicode (NT5) Format.
  26288  Cain and Abel: No permission to open .tmp file
  26440  unimplemented function WS2_32.dll.GetNameInfoW
  26456  ldap_set_option with LDAP_OPT_OFF does not work
  26471  Free FLV Converter: Fails to start
  26483  WavePad: Unimplemented function traffic.dll.TcDeregisterClient
  26493  iMesh: Fails to install
  26494  Office 2007 installer terminates on start
  26497  Lost Saga downloader fails because IsValidURL doesn't like first parameter
  26501  IDAfree needs uxtheme.OpenThemeDataEx
  26505  file associations built by winemenubuilder lack wineprefix
  26508  Atom Zombie Smasher demo window is not fullscreen
  26514  Matlab 2009a: Fails to start
  26535  Escaped spaces in desktop entries
  26577  eBay Turbo Lister 7 fails to install
  26596  FTBFS: RTLD_NOW, MessageBoxA, and MB_OK undefined in JACK_DriverProc()

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

Changes since 1.3.16:

Akihiro Sagawa (2):
      inetcpl.cpl: Update Japanese translation.
      po: Update Japanese translation.

Alexandre Julliard (14):
      c2man: Fix a typo.
      gdi32: Don't require a valid point as input to OffsetViewport/WindowOrgEx.
      msxml3/tests: Avoid size_t in a trace.
      winealsa.drv: Remove unnecessary ifdefs.
      wineoss.drv: Remove unnecessary ifdefs.
      wineesd.drv: Remove unnecessary ifdefs.
      winenas.drv: Remove unnecessary ifdefs.
      winejack.drv: Remove unnecessary ifdefs.
      winejoystick.drv: Remove unnecessary ifdefs.
      winecoreaudio.drv: Remove unnecessary ifdefs.
      server: Reset the cursor clip rectangle when the foreground thread changes.
      user32: Reset the cursor clip rectangle before moving a window.
      server: Store all desktop cursor information in a separate structure.
      server: Return the time of last change along with the current cursor position.

André Hentschel (14):
      winemaker: Fix library argument.
      winhttp: Port numbers are unsigned.
      wininet: Port numbers are unsigned.
      ntdll: Add check for DragonFly BSD.
      urlmon/tests: Add another case to IUri tests.
      mscoree: Add stub implementation for CreateConfigStream.
      cabinet: Be more verbose.
      mshtml: Port numbers are unsigned.
      winhttp: Port numbers are unsigned (more).
      wininet: Port numbers are unsigned.
      uxtheme: Add OpenThemeDataEx.
      uxtheme/tests: Add tests for OpenThemeDataEx.
      uxtheme/tests: Fix typo.
      shlwapi: Implement wow64 reporting.

Aric Stewart (3):
      usp10: Rewrite ScriptStringCPtoX to make use of ScriptCPtoX.
      usp10: Rewrite ScriptStringXtoCP to make use of ScriptXtoCP.
      wineqtdecoder: fourCC value needs to be reversed as an OSType.

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

Austin English (2):
      traffic: Add a stub for TcDeregisterClient.
      mshtml: Avoid shadowing a parameter.

Austin Lund (1):
      user32/tests: Fixed SetParent test on 64bit Vista.

Bart Van Assche (2):
      ntdll: Fix race condition in RtlCreateHeap().
      ntdll: Avoid examining uninitialized data.

Damjan Jovanovic (1):
      winemenubuilder: Do not skip entries when cleaning up file open associations.

Dan Kegel (2):
      winemenubuilder: File associations should set wineprefix.
      urlmon: IsValidUrl should not fail if first parameter is not NULL.

David Hedberg (30):
      mspatcha: New dll stub.
      msi: Add an offset to sequence numbers belonging to files added by a patch.
      msi: Generalize media helpers a bit.
      msi: Add support for patching files.
      comdlg32: Add DllGetClassObject and a default class factory.
      comdlg32: Add stub implementation of the Common Item dialogs.
      comdlg32: Add implementation of DllRegisterServer/DllUnregisterServer.
      comdlg32/tests: Add initial tests for the Item Dialog.
      comdlg32: Implement SetOptions/GetOptions for the Item Dialog.
      comdlg32: Implement SetFileTypes and GetFileTypeIndex/SetFileTypeIndex for the Item Dialog.
      comdlg32: Implement some folder and file selection functions for the Item Dialog.
      comdlg32: Implement Advise/Unadvise for the Item Dialog.
      user32/tests: Add some more tests for SetWindowPos.
      user32: Fix return value when passing a non-sibling preceding window to SetWindowPos.
      comdlg32: Add NEWFILEOPENV3ORD resource.
      comdlg32: Implement Show and Close for the Item Dialog.
      comdlg32: Add IExplorerBrowserEvents stub to Item Dialog.
      comdlg32: Add ExplorerBrowser control to Item Dialog.
      comdlg32: Add IServiceProvider implementation to the Item Dialog.
      comdlg32: Add ICommDlgBrowser3 stub to Item Dialog.
      comdlg32: Set explorerbrowser's site before navigating anywhere.
      comdlg32: Implement GetFileName and SetFileName for the item dialog.
      comdlg32: Update file name from selection in the item dialog.
      comdlg32: Implement filetype filtering for the item dialog.
      comdlg32: We only want to check the low word of wparam.
      comdlg32: Add a couple of simple navigation buttons to the item dialog.
      comdlg32: Factor out some path building code from FILEDLG95_OnOpen.
      comdlg32: Factor out some path validating code from FILEDLG95_OnOpen.
      comdlg32: Factor out filename string splitting code.
      comdlg32: Implement opening files with the item dialog.

Dmitry Timoshkov (7):
      ntdll: Use an NtWriteFile pointer instead of a static import.
      server: Add excute permission when read file access is allowed.
      winex11.drv: Do not use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
      ntdll: Add a bunch of NtCreateFile tests.
      user32: Add the SW_SHOWDEFAULT case to WINPOS_MinMaximize().
      ntdll: Add more NtCreateFile tests.
      server: FILE_OVERWRITE and FILE_OVERWRITE_IF need the FILE_WRITE_ATTRIBUTES permission.

Eric Pouech (9):
      dbghelp: When parsing .debug_line section in dwarf debug info, protect against out of bounds indexes.
      wineconsole: Ensure that the EXIT message is always properly propagated to the first caller of GrabChanges.
      dbghelp: Now that compilers (like clang) start to merge symbols across compilation units, no longer barf about duplicates.
      kernel32: When testing the debugger activation, don't use unitialized values (clang).
      dbghelp: Return proper null value when lookup_type fails.
      dbghelp: In const types, force 'void' type when none is found.
      loader: Protect preloader against ELF file without loadable segments (clang).
      winegcc: Check that option argument is within command line parameters.
      include: Added missing no return attribute.

Francois Gouget (29):
      mscoree/tests: Make init_pointers() static.
      msxml3/tests: Add a '\n' to an ok() call.
      openal32: Make a bunch of wrapper functions static.
      msxml3: Make xslpattern_error() static.
      wineps.drv: PSDRV_YWStoDS() is unused so remove it.
      kernel32: Only get the Windows directory if PROFILE_Open() needs it.
      winefile: Remove unimplemented menu entries.
      winefile: Remove the format disk command.
      winefile: Remove commented out code.
      winefile: Fix the compilation when _NO_EXTENSIONS is defined.
      winmm: Remove a space before a punctuation.
      programs: In English punctuations are not preceded by a space.
      winedbg: memory_get_current_frame() is not used anymore so remove it.
      winedbg: stack_get_register_current_frame() is not used anymore so remove it.
      msi: Make load_ttf_name_id() static.
      winefile: Remove the unimplemented help search menu.
      progman: Remove the unimplemented help search menu.
      progman: Implement the cascade and tile windows menus.
      notepad: Remove the unimplemented help search menu.
      regedit: Remove the unimplemented menus to connect to remote registries.
      winhlp32: Implement MACRO_HelpOnTop() and thus the corresponding menu.
      winhlp32: Remove the unimplemented help color and visibility menus.
      wintab32/tests: Remove an unused variable.
      msvcrt/tests: Wine should not have trouble with the environ pointers so replace a few skip()s with win_skip()s.
      progman: We don't have a wintutor application so remove the 'Tutorial' menu.
      progman: Remove the 'Help on Help' menu.
      winefile: Remove the 'Help on Help' menu.
      notepad: Remove the 'Help on Help' menu.
      regedit: Add support for creating expandable string values.

Gerald Pfeifer (2):
      dbghelp: Add a return statement for the default/assert case in elf_map_file.
      comctl32: Simplify MONTHCAL_PaintLeadTrailMonths.

Gregory M. Turner (1):
      gdi32: Initialize SetLayout function pointer.

Hans Leidekker (18):
      ws2_32: Implement GetNameInfoW.
      kernel32: Implement and test GetVolumePathNamesForVolumeName.
      wldap32: Accept a NULL value in ldap_set_option.
      wine.inf: Pretend that the .NET 4.0 Client and Full profiles are installed.
      mscms: Trace the CMM id as a string.
      msi: Ignore invalid upgrade codes in the PublishProduct action.
      msi/tests: Get rid of workarounds for win9x test failures.
      msi/tests: Allocate the user token dynamically and unify implementations.
      msi: Allocate the user token dynamically.
      msi: Explicitly pass product code and platform to MSIREG_OpenUninstallKey and MSIREG_DeleteUninstallKey.
      msi: Accept whitespace-only property values on the command line.
      msi: Implement MsiGetFileSignatureInformationA/W.
      msi/tests: Remove unneeded Wow64 checks.
      msi: Make sure to access the 64-bit portion of the registry where needed on Wow64.
      msi: Avoid sprintf for simple concatenations.
      msi: Fix buffer size calculation in get_keypath.
      msi: Fix building the message string in MSI_ProcessMessage.
      msi: Implement and test MsiEnumComponentCostsA/W.

Henri Verbeet (25):
      wined3d: Get rid of the IWineD3DBase requirement for surface_set_container().
      wined3d: Merge the texture implementations.
      wined3d: Remove COM from the texture implementation.
      wined3d: Get rid of the IWineD3DBaseTexture typedefs.
      wined3d: Get rid of IWineD3DBaseTextureClass.
      wined3d: Replace "cond_np2" in wined3d_texture with a flag.
      wined3d: Replace "pow2_matrix_identity" in wined3d_texture with a flag.
      wined3d: Replace "is_srgb" in wined3d_texture with a flag.
      wined3d: Move IWineD3DVertexShader::SetLocalConstantsF() to IWineD3DBaseShader.
      Revert "wined3d: Prevent crash when blit_priv is NULL.".
      wined3d: Get rid of IWineD3DVertexShader.
      wined3d: Get rid of IWineD3DGeometryShader.
      wined3d: Get rid of IWineD3DPixelShader.
      wined3d: Get rid of IWineD3DVertexShaderImpl.
      wined3d: Get rid of struct wined3d_geometryshader.
      wined3d: Get rid of IWineD3DPixelShaderImpl.
      wined3d: Merge the IWineD3DBaseShader implementations.
      wined3d: Get rid of IWineD3DBaseShaderClass.
      wined3d: Remove COM from the shader implementation.
      wined3d: Get rid of the IWineD3DBaseShader typedefs.
      wined3d: Rename "numContexts" to "context_count".
      wined3d: Fix the EXT_blend_minmax extension definitions.
      wined3d: Fix the EXT_blend_color extension definitions.
      wined3d: Fix the EXT_blend_subtract extension definitions.
      wined3d: Get rid of the ARB_imaging extension.

Hwang YunSong (1):
      comdlg32: Update Korean resource.

Jacek Caban (6):
      mshtml: Try loading library in IInternetProtocolInfo::ParseUrl(PARSE_INTERNET_URL) for res protocol to work around library name difference for winelib libraries.
      mshtml: Store security manager in HTMLWindow instead of HTMLDocumentNode.
      mshtml: Use zone mapping instead of hardcoded protocols in use_gecko_script.
      mshtml: Event handler may be already free in release_event_target.
      mshtml: Fixed ref count handling in events.c.
      mshtml: Fixed node leak in HTMLEventObj.

Joshua Beck (1):
      winex11: Improved error handling in pglXMakeCurrent() call.

Jörg Höhle (5):
      Revert "winmm: Fix PlaySound so it doesn't block when another sound is already playing.".
      winmm: Abort PlaySound in case of audio error.
      winmm: Get rid of psStopEvent which was never used like an event.
      winmm: PlaySound concurrency cleanup.
      user32/tests: Add a few IsWindow checks.

Konrad Rzepecki (4):
      msvcrt: Implement _mbsupr_s.
      msvcrt: Implement _mbslwr_s.
      wined3d: Prevent crash when blit_priv is NULL.
      wined3d: Implement WINED3DFMT_YUY2 to WINED3DFMT_B5G6R5_UNORM conversion function.

Maarten Lankhorst (1):
      wined3d: Fix a clipping issue with D3DSPSM_SIGNNEG.

Marcus Meissner (13):
      winedbg: Add missing break (Coverity).
      winecfg: Added missing break (Coverity).
      wininet: Added missing break (Coverity).
      wined3d: Mark up fallthrough breaks (Coverity).
      user32: Added missing break (Coverity).
      user32: Added missing break.
      shell32: Missing break in IDOK case.
      krnl386.exe16: Added missing break to dma code (Coverity).
      dnsapi: Added missing breaks (Coverity).
      kernel32: Added missing break (Coverity).
      comctl32: Added missing break (Coverity).
      winebuild: Mark up fallthrough switch cases (Coverity).
      widl: Mark up a FALLTHROUGH case (Coverity).

Matteo Bruni (11):
      opengl32/tests: Test using a GL context after the drawable is destroyed.
      winex11.drv: Don't modify current state if glXMakeCurrent fails.
      winex11.drv: Make wglMakeCurrent return the correct error when the drawable is invalid.
      opengl32/tests: Add a test for window destroy with wglMakeContextCurrentARB.
      winex11.drv: Don't modify state if glXMakeContextCurrent fails.
      winex11.drv: Fix wglMakeContextCurrent with an invalid drawable.
      winex11.drv: Don't call glXSwapBuffers if the context or the drawable are invalid.
      winex11.drv: Take care of the destroyed drawable in wglFlush/wglFinish too.
      opengl32/tests: Improve window destroy tests.
      wined3d: Fix an error message.
      wined3d: Better handle some instances when we can't make the required GL context current.

Michael Stefaniuc (4):
      browseui/tests: COM cleanup in autocomplete.c.
      xmllite: COM cleanup in reader.c.
      oleaut32: COM cleanup for the IPropertyPageSite iface.
      oleaut32/tests: Use a proper static COM object.

Nikolay Sivov (13):
      comctl32/monthcal: Remove outdated comment.
      comctl32/monthcal: Move partially visible months painting outside of calendar loop.
      comctl32/monthcal: Fix hit test for previous month.
      comctl32/monthcal: Cache brush handles.
      comctl32/monthcal: Selection and abbreviations should use title colour.
      comctl32/monthcal: Clean day painting function.
      comctl32/listview: Adjust dispinfo text buffer length.
      comctl32/listview: Fix edit box text limit.
      msxml3: Initial tests for IObjectWithSite support for httprequest.
      msxml3: More tests for <?xml ?> attributes.
      msxml3: Allow to create dummy node map for <?xml ?>.
      urlmon: Fix parameter validation in BindToStorage().
      urlmon/tests: Test for return value directly, without macros.

Piotr Caban (22):
      mshtml: Report an error when navigation fails.
      mshtml/tests: Added IWinInetHttpInfo interface.
      mshtml/tests: Added IBrowserService interface.
      mshtml/tests: Added IDocObjectService interface.
      mshtml/tests: Added asynchronous moniker to htmldoc tests.
      mshtml/tests: Added connection error handling tests.
      shdocvw: Report navigation error depending on HTTP status code.
      urlmon: Forward IWinInetHttpInfo calls to protocol implementations.
      urlmon: Added IWinInetHttpInfo_{QueryOption,QueryInfo} implementation.
      urlmon/tests: Added IWinInetHttpInfo tests.
      ntdll: Don't call compare function on memory not provided by user in qsort.
      msvcrt: Added space for nullbyte in size returned by wcstombs_s and mbstowcs_s.
      msvcrt: Correctly terminate string in wcsncat_s.
      msvcrt/tests: Fix memory leaks (valgrind).
      msvcrt: Fix buffer size in _ecvt_s.
      mshtml/tests: Ignore calls missing in IE6.
      msvcrt: Fix locale creation for multibyte encoding.
      msvcrt: Don't call get_locale two times in _isctype function.
      msvcp: Added basic_string<{char, wchar}> operator+= exports.
      msvcp: Added basic_string<char> operator+ implementations.
      msvcp: Added basic_string<wchar> operator+ implementations.
      msvcp90/tests: Added operator+ tests (basic_string<char>).

Rico Schüller (21):
      include: Add missing D3DXCreateEffect* declarations in d3dx9effect.h.
      d3dx9: Fix HeapAlloc size in D3DXCreateEffectPool.
      d3dx9: Use size of variable instead of type.
      d3dx9: Handle pool and device in ID3DXEffect.
      d3dx9/tests: Add refcount test for the device.
      include: Fix ID3DXEffectCompiler interface.
      d3dx9: Add ID3DXBaseEffect interface.
      d3dx9: Forward ID3DXEffect to ID3DXBaseEffect.
      d3dx9: Add ID3DXEffectCompiler interface.
      d3dx9: Fix some style issues.
      d3dx9: Implement ID3DXEffect::GetPool().
      d3dx9: Implement ID3DXEffect::GetDevice().
      d3dx9: ID3DXEffect::QueryInterface() does not support IID_ID3DXBaseEffect.
      d3dx9/tests: Add ID3DXEffect::GetPool() and ID3DXEffect::GetDevice() tests.
      d3dx9/tests: Add ID3DXEffectCompiler test.
      d3dx9: Don't zero memory when it will be overridden.
      d3dx9: Use variable instead of type in HeapAlloc.
      d3dx9: Remove typedef from ID3DXBufferImpl.
      d3dx9: Rename some variables.
      d3dx9: Add a some TRACEs to ID3DXBufferImpl.
      d3dx9: Use init function for ID3DXBuffer.

Roderick Colenbrander (1):
      wined3d: Check for ARB_fragment_program in arbfp_blit_supported.

Stefan Leichter (1):
      ntoskrnl.exe: Add stub for PsSetLoadImageNotifyRoutine.

Steven Wallace (1):
      ntdll: implemented ProcessDebugFlags in NtQueryInformationProcess.

Thomas Mullaly (6):
      urlmon/tests: Added SecurityManager zone mapping cache tests.
      urlmon/tests: Added zone domain mapping tests.
      shlwapi: Improved UrlGetPart support when parsing host names.
      urlmon/tests: Added CoInternetParseUrl tests.
      urlmon: Removed str_last_of in favor of memrchrW.
      urlmon: Added basic domain zone support to MapUrlToZone.

Vincent Pelletier (2):
      dinput: Ramp from lStart to lEnd, not lStart to lStart.
      dinput: Effect length can actually be 0.

Vincent Povirk (14):
      gdiplus: Clean up HRGN when GdipGetRegionBounds succeeds too.
      gdiplus: Initialize the ImageAttributes in GdipCreateTexture2I.
      gdiplus: Implement color transforms.
      gdiplus: Implement gamma adjustment.
      windowscodecs: Add support for reading tiled TIFF images.
      gdiplus: Use the given HPALETTE in GdipCreateBitmapFromHBITMAP.
      gdiplus: Add test for GdipDrawDriverString.
      gdiplus: Add test for GdipSetTextRenderingHint and make it pass.
      winejack.drv: Fix build.
      gdiplus: Fall back to Liberation Serif if Times New Roman is missing.
      comctl32: Use current month and year when checking day of month.
      comctl32: When entering a month or year, keep the day in range.
      comctl32: Validate the day of month when scrolling through years.
      gdiplus: Add basic implementation of GdipDrawDriverString.

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

--
Alexandre Julliard
julliard@winehq.org
