WineHQ

Wine Announcement

The Wine development release 3.12 is now available.

What's new in this release (see below for details):
  - Unicode data updated to Unicode 11.0.0.
  - Proxy configuration dialog in the Internet control panel.
  - Syntax fixes in the Cmd.exe command intepreter.
  - Some more glyphs in the Wingdings font.
  - Various bug fixes.

The source is available from the following locations:

  https://dl.winehq.org/wine/source/3.x/wine-3.12.tar.xz
  http://mirrors.ibiblio.org/wine/source/3.x/wine-3.12.tar.xz

Binary packages for various distributions will be available from:

  https://www.winehq.org/download

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

You can also get the current source directly from the git
repository. Check https://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 3.12 (total 40):

  18164  dlls/iphlpapi/ifenum.c: compiler warnings on NetBSD
  18560  No crosshairs in Starfleet Academy
  20986  Euler fails to make a computation with maxima.exe: maxima.exe fails to start
  23048  Unreal Tournament 3 fails and locks up
  24641  ProPresenter 4.x (.NET 3.5 WPF app) fails on startup (devenum CreateInstance() doesn't support IID_IUnknown)
  27497  Regedit mangles registry keys containing embedded NULLs
  29325  Stranded II: laggy mouse pointer in the inventory screen
  30910  Lighting incorrectly drawn in Alien Shooter
  34365  Splinter Cell: Blacklist error with d3d_texture:wined3d_texture_apply_state_changes
  34916  cmd:batch fails on Windows 8 and 8.1
  35427  Diplomacy (1999) crashes on startup
  35706  Splinter Cell: Blacklist crashes with Field AO & SSAO
  35902  Certificates signed using ECDSA signature can not be verified (>= Win Vista - affects EA Origin, Uplay, Blizzard App, MoonBot)
  36798  kernel32/change.c fails on 3.16.x kernels
  38599  Heroes of Might & Magic III HD Edition becomes unresponsive after starting a scenario
  38689  Duke Nukem Forever: intense flickering, screen covered with grey
  38849  valgrind shows an uninitialized variable in programs/cmd/tests/batch.c:WCMD_assoc
  39218  advpack:advpack fails if privileges not high enough
  39222  mstask:task_scheduler fails if privileges not high enough
  39228  House of Caravan light sources are broken with ARB shaders enabled
  39238  mscft:inputprocessor fails if privileges not high enough
  39457  "for /R" tests fail when run in a directory containing spaces
  40694  Invalid behavior of "C: && echo haha" or "C: & echo haha"
  40706  FolderMerger cmd not valued, xcopy needs /k support
  42602  ::CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct) bad sort compared to Windows
  42823  cmd.exe behaves differently from Win7 regarding redefined labels
  42931  CMD START: invalid argument
  43049  League of Legends: massive performance regression
  44585  Multiple applications and games need ntdll.LdrRegisterDllNotification/LdrUnregisterDllNotification implementation (Firefox 60+, Diablo III v2. 6. 1. 49286+, World of Warcraft, Overwatch)
  44720  Intel Asteroids Direct3D12 sample requires ninput.dll.CreateInteractionContext
  44967  xcopy does not copy empty subdirectories if options /s and /e without space
  45051  cmd.exe for loop does not resolve wildcards with subdirectory
  45052  cmd.exe: if-statement does not resolve wildcards
  45355  FrameMaker 8: Abort with specific document due to USER lock error
  45359  SHGetKnownFolderPath doesn't handle flag KF_FLAG_DONT_UNEXPAND
  45387  arm64_map_dwarf_register: Don't know how to map register (64-66)
  45389  odbccp32:misc fails if privileges are not high enough
  45390  devenum:devenum fails if privileges are not high enough
  45403  dwarf2_parse_variable(): Assertion `subpgm->func' failed
  45410  Muv-Luv (Steam) wants USER32.dll.GetAutoRotationState semi-stub

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

Changes since 3.11:

Alex Henrie (5):
      include: Add definitions of SERVICES_*_DATABASEW for generic compilers.
      include: Add missing type declaration to CERT_EFSBLOB_VALUE_NAME.
      iphlpapi: Cast caddr_t to char* before doing pointer arithmetic.
      gdi32: Add DECLSPEC_HOTPATCH to GetDIBits.
      include: Add SYSTEM_FIRMWARE_TABLE_INFORMATION to winternl.h.

Alexander Morozov (1):
      ntoskrnl.exe: Improve KeInitializeTimerEx stub.

Alexandre Julliard (8):
      schedsvc: Only restart the directory watch once we've received data.
      user32: Don't copy window bits to or from the dummy surface.
      server: Add a couple of rectangle helper functions.
      server: Don't clip update regions to the desktop window.
      comdlg32/filedlg: Resize the Places toolbar along with the dialog.
      comctl32/taskdialog: Fix pointer cast warnings.
      user32/tests: Remove a duplicate todo test.
      user32: Update RedrawWindow behavior with explicit desktop window handle.

Alistair Leslie-Hughes (2):
      user32: Support SPI_S/GETAUDIODESCRIPTION in SystemParametersInfo.
      ntoskrnl.exe/tests: Add KeInitializeTimerEx tests.

Andrey Gusev (1):
      msi: Remove checks for negative value.

André Hentschel (4):
      dbghelp: Map SIMD dwarf registers on ARM64.
      dbghelp: Recompute location after fixing it.
      ole32/tests: Don't crash if EnumFormatEtc failed.
      advpack: Use ARRAY_SIZE() macro.

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

Austin English (1):
      winecfg: Recommend against overriding secur32.

Dmitry Timoshkov (18):
      fonts: Add clock images to Wingdings font.
      mstask: Use current time as trigger begin time when necessary.
      mstask: Avoid an infinite loop.
      schedsvc: Minor cleanup.
      schedsvc: Avoid an infinite loop.
      schedsvc: Use current time as trigger begin time when necessary.
      user32/tests: Add a test for WM_MEASUREITEM when inserting an item to an owner-drawn listbox.
      user32/tests: Add a message test for an owner-drawn sorted listbox.
      user32/tests: Add some message tests for not an owner-drawn listbox.
      user32: Fix order of items passed in WM_COMPAREITEM data.
      user32: Fix the listbox sorting algorithm.
      user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
      comctl32/listbox: Fix order of items passed in WM_COMPAREITEM data.
      comctl32/listbox: Fix the listbox sorting algorithm.
      oleaut32: Don't accept unsupported picture types in OleCreatePictureIndirect.
      oleaut32: IPicture::get_hPal() supports only bitmaps.
      oleaut32: IPicture::set_hPal() supports only bitmaps.
      oleaut32/tests: Add tests for IPicture::get_hPal() and IPicture::set_hPal().

Fabian Maurer (6):
      msvcrt: Use already existent oneexit_table functions for _onexit and _c_exit.
      user32: Always release menu item in EnableMenuItem.
      msvcrt: Use cdecl calling convention for atexit callback.
      ucrtbase: Add _crt_at_quick_exit stub.
      ucrtbase: Add quick_exit.
      ucrtbase: Implement quick_exit and _crt_at_quick_exit.

Hans Leidekker (1):
      configure: Allow building bcrypt with GnuTLS support on macOS.

Hua Meng (3):
      msvcp120: Add test for Concurrent_vector_grow_by.
      msvcp120: Add test for Concurrent_vector_grow_to_at_least_with_result.
      msvcp120: Add test for Concurrent_vector_Internal_resize and reverse.

Huw D. M. Davies (1):
      ntdll/tests: Skip the map protect tests if we can't disable no-exec.

Jason Edmeades (9):
      cmd: Add support for wildcards in if exist.
      cmd: Fix subdirectory prefix in for loops.
      xcopy: Handle multiple switches concatenated without whitespace.
      xcopy: Return code 1 for no files is never returned.
      xcopy: Fix copying empty directories.
      cmd: Support "c:<space>" etc when changing drive letters.
      cmd: Call and goto finds the next matching label.
      cmd: Fix issue in WCMD_assoc highlighted by valgrind.
      xcopy: Add support for xcopy /k.

Julian Rüger (1):
      po: Update German translation.

Józef Kucia (4):
      include/d3d12: Fix typos.
      dxgi: Avoid possible NULL pointer access in d3d11_swapchain_SetFullscreenState().
      wined3d: Fix snorm/unorm immediate values for UAV writes.
      d3d11/tests: Add test for unorm/snorm immediate constants.

Kim Malmo (1):
      po: Update Norwegian translation.

Lauri Kenttä (2):
      po: Update Finnish translation.
      po: Update Finnish translation.

Louis Lenders (1):
      ntoskrnl.exe: Add stub for IoUnregisterPlugPlayNotification.

Marcus Meissner (13):
      hnetcfg: GetModuleFileNameW gets characters, not bytes (Coverity).
      shell32: Use characters as arguments to GetTempPathW and GetLongPathNameW.
      kernel32: GetCalendarInfoW gets character sizes.
      kernel32: GetVolumePathNamesForVolumeNameW gets character as buffer size.
      psapi: GetProcessImageFileName gets character count as argument.
      shlwapi: SHGetIniStringW buffer size is in characters.
      icinfo: vsnprintfw takes characters as buffer size not bytes.
      d3dx9/tests: Fix string size to MultiByteToWideChar().
      comctl32/tests: Header item struct gets characters not bytes.
      comctl32: Treeview item gets characters not bytes passed in.
      shell32: Set size in characters in MENUITEMINFOW struct.
      quartz: StringFromGUID2 gets character counts, not bytes.
      amstream/tests: Use correct buffer size for StringFromGUID2.

Mark Jansen (1):
      ntdll/tests: Tests for RtlIpv6StringToAddress.

Matteo Bruni (2):
      d3dx10: Turn some ERR() into WARN().
      wined3d: Declare the correct number and type of fragment shader color outputs.

Michael Müller (4):
      crypt32: Implement verification of ECDSA signatures.
      ntdll: Implement LdrRegisterDllNotification and LdrUnregisterDllNotification.
      user32: Add semi-stub for GetAutoRotationState.
      msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback.

Michael Stefaniuc (32):
      gdi32/tests: Use the available ARRAY_SIZE() macro.
      shlwapi/tests: Use the available ARRAY_SIZE() macro.
      shlwapi/tests: Pass the correct buffer size to PathUnExpandEnvStringsW().
      shlwapi/tests: Pass the correct buffer size to WideCharToMultiByte().
      kernel32/tests: Use the available ARRAY_SIZE() macro.
      comdlg32/tests: Don't undefine ARRAY_SIZE().
      user32/tests: Don't undefine ARRAY_SIZE().
      user32/tests: Avoid a variable that holds an ARRAY_SIZE().
      kernel32/tests: Avoid ARRAY_SIZE-like macros.
      user32/tests: Avoid ARRAY_SIZE-like macros.
      user32/tests: Use the available ARRAY_SIZE() macro.
      include: Add a generic available ARRAY_SIZE().
      quartz: Use the more common ARRAY_SIZE spelling.
      user32: Use the more common ARRAY_SIZE spelling.
      dinput: Avoid ARRAY_SIZE-like macros.
      iphlpapi: Avoid ARRAY_SIZE-like macros.
      mscoree: Use the more common ARRAY_SIZE spelling.
      wininet: Use the more common ARRAY_SIZE spelling.
      winhttp: Use the more common ARRAY_SIZE spelling.
      dssenh/test: Replace a macro with ARRAY_SIZE.
      serialui: Replace a macro with ARRAY_SIZE.
      glu32: Avoid an ARRAY_SIZE-like macro.
      krnl386.exe16: Avoid ARRAY_SIZE-like macros.
      ole32: Use the more common ARRAY_SIZE spelling.
      shell32: Avoid ARRAY_SIZE-like macros.
      winex11.drv: Avoid ARRAY_SIZE-like macros.
      msvcr100/test: Replace a macro with ARRAY_SIZE.
      cryptui: Use the ARRAY_SIZE() macro.
      view: Use the ARRAY_SIZE() macro.
      oleview: Use the ARRAY_SIZE() macro.
      netapi32: Use the ARRAY_SIZE() macro.
      credui: Use the ARRAY_SIZE() macro.

Michał Janiszewski (3):
      ntdll: Only set owned bits in RTL_BITMAP.
      msvcrt: Don't forget to free the buffer in scanf.
      msvcrt: Update size checks for secure scanf versions.

Nikolay Sivov (7):
      crypt32: Correctly return how the issuer of a self signed certificate was matched.
      crypt32: Fix string arguments tracing.
      tools: Update to Unicode 11.0.0.
      po: Update Russian translation.
      comctl32/tests: Add some tests for ownerdrawn listbox.
      po: Update Russian translation.
      urlmon: Use ARRAY_SIZE() macro.

Piotr Caban (4):
      inetcpl.cpl: Add proxy server settings dialog.
      inetcpl.cpl: Add partial support for writing DefaultConnectionSettings registry setting.
      ucrtbase: Test child process exit code.
      ucrtbase: Report child process test failures in exit() tests.

Rafał Mużyło (1):
      d3d9: Expand rectangles in debug strings.

Sebastian Lackner (1):
      kernel32: Fill stack with meaningful values in call_process_entry mis-align workaround.

Zebediah Figura (39):
      devenum: Implement parsing and reading DMO monikers.
      devenum: Implement enumerating DMOs.
      wine.inf: Register mp3dmod DMO.
      mp3dmod: Support COM aggregation.
      hnetcfg: Store the full path in INetFwAuthorizedApplication_put_ProcessImageFileName().
      devenum: Merge factory.c into devenum_main.c.
      devenum: Use separate factories for CLSID_SystemDeviceEnum and CLSID_CDeviceMoniker.
      devenum: Make some variables static.
      devenum: Remove an unused typedef.
      include: Make fil_data.idl a common header.
      devenum/tests: DMORegister() returns E_FAIL if unable to access the registry.
      msdmo: DMORegister() returns E_FAIL if unable to access the registry.
      odbccp32/tests: Skip SQLGetInstalledDrivers() test if limited.
      odbccp32/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
      msctf/tests: Set requestedExecutionLevel to asInvoker to prevent virtualization.
      msctf/tests: Skip tests if limited.
      hnetcfg: Store the long path in INetFwAuthorizedApplication_put_ProcessImageFileName().
      regedit: Print Latin-1 characters.
      dinput: Notify the desktop window when device input is received.
      strmbase: Implement CBaseFilter::FindPin().
      winegstreamer: Use CBaseFilter::FindPin().
      wineqtdecoder: Use CBaseFilter::FindPin().
      explorer: Wrap the desktop window procedure instead of replacing it.
      winex11.drv: Wake up the display on user input.
      strmbase: Update comment for copying pin info.
      quartz: Inline copying pin info and update comment.
      psapi/tests: Avoid linking statically to kernel32 functions.
      winegstreamer: Add a missing debugstr_a.
      dbghelp/tests: Add a simple test for StackWalk64().
      winemac.drv: Wake up the display on user input.
      psapi/tests: Link statically to psapi.
      psapi/tests: Avoid using PROCESS_ALL_ACCESS.
      psapi/tests: Avoid failing silently.
      psapi/tests: Call GetPerformanceInfo() after NtQuerySystemInformation().
      strmbase: Avoid leaking pFilter in CBaseFilter::FindPin().
      quartz: Use CBaseFilter::FindPin().
      strmbase: Use CBaseFilter::FindPin().
      qcap: Use CBaseFilter::FindPin().
      amstream: Use CBaseFilter::FindPin().

Zhiyi Zhang (4):
      comctl32/taskdialog: Fix buttons might disappear.
      comctl32/taskdialog: Use dynamic buffer for taskdialog_get_label_size().
      comctl32/taskdialog: Add support for radio buttons.
      comctl32/taskdialog: Add support for command links.

--
Alexandre Julliard
[email protected]