Wine Announcement

The Wine development release 1.5.24 is now available.

What's new in this release (see below for details):
  - Keyboard and mouse wheel support in the Mac driver.
  - Regular expression support in VB Script.
  - Many RichEdit code cleanups.
  - Various bug fixes.

The source is 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
repository. Check 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.5.24 (total 38):

   6512  power-tab-editor freezes at end of a song
   8598  msvcrt file IO functions do not handle unicode properly in text mode
  12908  Battle Zone I does not start.
  16685  redraw problem in AIM_675
  17380  CListCtrl: wrong icon spacing
  17762  Citavi: Application is very slow
  17763  Citavi: mouse doesn't catch links
  18079  AutoCorect: does not properly display custom checkboxes made by Alcinoe
  20294  sigma photo pro crashes in X11DRV_DIB_DeleteDIBSection
  24089  EverQuest: Escape to Norrath: login screen is blank without native ie6
  24315  Verizon Media Manager crashes on exit (VZMediaagent.exe
  24361  Crashday: game is unusably slow during gameplay
  24474  Simpsons Hit & Run sound bug
  24554  Black screen in Everquest 2 (lighting issue?)
  25576  Microsoft Flight Simulator X: Demo/Deluxe Edition, menu blank without native ie7
  25584  Racedriver:GRID sound hardware acceleration not working
  25958  DreamStation 1 free music tracker visually freezes under some conditions
  27011  Lucent Heart: patcher window is blank
  27905  HUNTED The Demon Forge: Sound does not work in the game (in movies this works)
  29718  IE4 setup wants wininet.dll.LoadUrlCacheContent
  29873  Guild Wars: Water graphic is missing
  30008  Resource Hacker logo on about window has black background
  30183  Fchart installation crashes
  30246  EA Origin:Crashes when using openssl 1.0.1
  30839  BSTR cache corrupts most of cached BSTR entries
  31308  Remote Tools for Visual Studio 2012 RC installer for Windows on ARM (WoA) crashes because TPIDRURW (user TLS register) needs to be set to TEB address
  31706  Sacred Underworld: Some models glow like a Christmas tree
  31977  YoudaoDict crash at start
  32520  EVE Online and other games want d3d11.dll.D3D11CreateDevice
  32669  Ghost Master: invisible mouse pointer unless 'Enhanced Cursor' option selected
  32808  installer of PPTV: needs unimplemented atl100.dll.AtlComModuleRegisterClassObjects
  32818  Adrenalin Extreme Show: launcher.exe has repainting issues
  32842  TurboTax 2012 needs shlwapi.dll IsInternetESCEnabled stub
  32858  Crash dialog Details button Russian text doesn't fit
  32862  Microsoft Expression Design 4 (Free Version) needs WindowsCodecsExt.dll (Microsoft Windows Codecs Extended Library)
  32882  Grand Theft Auto IV doesn't start, aborts with a GLX error.
  32909  QQDownload 3.9 needs unimplemented msvcr80.dll._wstat32i64
  32929  Microsoft Expression Design 4 (Free Version) needs windowscodecsext.dll.WICCreateColorTransform_Proxy


Changes since 1.5.23:

Akihiro Sagawa (1):
      gdi32: Ensure a fixed-pitch full-width character has double advance of a half-width character.

Alexander Morozov (1):
      ole32: Avoid a deadlock when a being loaded DLL calls CoRegisterClassObject from its DLL_PROCESS_ATTACH handler.

Alexandre Julliard (28):
      winemac: Don't move off-screen windows to a random position.
      gdi32: Return the correct module handle for the initial display driver load.
      explorer: Retrieve the graphics driver module from gdi32.
      explorer: Return a simple boolean instead of a window in the wine_create_desktop entry point.
      wintab32: Retrieve the graphics driver module from gdi32.
      imm32: Retrieve the graphics driver module from gdi32.
      winex11: Ignore color key and exposures when using the null surface.
      user32: Avoid releasing a potentially null pointer.
      server: Also exclude the top-level client rectangle for windows that have a pixel format.
      server: Return the window paint flags in the get_visible_region request.
      user32: Don't paint to the surface if the window has a pixel format, regardless of the state of the top parent.
      wininet: Don't reset the available size after the async has been queued.
      user32: Prefer loading color cursors in LoadImage.
      ntdll: Add a helper function to check that a fault address lies in a known virtual memory view.
      ntdll: Check for invalid %gs value in 32-bit code.
      winex11: Preserve the client window when changing the window visual.
      server: Don't support debug registers in ptrace if sys/user.h is missing.
      loader: Define our own auxv structure.
      loader: Rename the elf_hash function to avoid conflicts.
      odbccu32: Remove an unnecessary source file.
      twain_32: Remove an unnecessary DllMain entry point.
      cryptnet: Remove an unnecessary DllMain entry point.
      dpnhpast: Remove an unnecessary DllMain entry point.
      iphlpapi: Remove an unnecessary DllMain entry point.
      ktmw32: Remove an unnecessary DllMain entry point.
      sensapi: Remove an unnecessary DllMain entry point.
      usp10: Remove an unnecessary DllMain entry point.
      wtsapi32: Remove an unnecessary DllMain entry point.

Alistair Leslie-Hughes (1):
      fusion: Return correct error for null public token.

Andrew Talbot (8):
      jscript: Avoid signed-unsigned integer comparisons.
      mapi32: Avoid signed-unsigned integer comparisons.
      kernel32: Avoid signed-unsigned integer comparisons.
      mscoree: Avoid signed-unsigned integer comparisons.
      mmdevapi: Avoid signed-unsigned integer comparisons.
      mlang: Avoid signed-unsigned integer comparisons.
      msdaps: Avoid signed-unsigned integer comparisons.
      msctf: Avoid signed-unsigned integer comparisons.

André Hentschel (4):
      ntdll: Set TPIDRURW to TEB on thread init for ARM.
      make_xftmpl: Avoid comparing a char with EOF.
      winedbg: Add PState to cpu_register_map for ARM64.
      ntdll: Implement RtlUnwind for ARM.

Aric Stewart (6):
      usp10: Fix typo with Script_Khmer_Numeric.
      usp10: Split the core Itemize function out to be able to support differences between the normal and OpenType versions.
      usp10: Update diacritical script handling for non OpenType Itemization.
      usp10: Free default_language items when freeing script cache.
      usp10: Fix memory leak when a font has 0 languages, scripts or features.
      usp10: Correct error with ScriptLayout log2vis.

Austin English (4):
      windowscodecsext: Add a stub dll.
      shlwapi: Add a stub for IsInternetESCEnabled.
      d3d11: Add a stub for D3D11CreateDevice.
      wininet: Add a stub for LoadUrlCacheContent.

Daniel Jelinski (6):
      comctl32/listview: Correct icon spacing calculation when set to 0 or -1.
      comctl32/listview: Always use large icon size when calculating icon spacing.
      comctl32/listview: Do not touch icon spacing if set explicitly.
      user32: Fix CopyImage implementation when changing cursor to icon.
      comctl32/listview: Better handling of custom colors in report view.
      comctl32/listview: Fix LVM_SETICONSPACING on 64bit machines.

Detlef Riekenberg (2):
      advapi32/tests: Skip tests on non-English systems.
      kernel32/tests: Skip tests on non-English systems.

Dmitry Timoshkov (14):
      wbemprox: Free name in create_signature (Coverity).
      comctl32: Test appropriate tool window for active state.
      gdi32: Add support for 16-bit QUERYESCSUPPORT queries.
      gdi32: Add a bunch of tests for CreateDC/ResetDC with a custom DEVMODE.
      winspool.drv: Turn macros into helper functions.
      wineps.drv: Add DEVMODE dumping to make debugging device state easier.
      winspool.drv: There is no need to speculate about wineps.drv default DEVMODE.
      gdi32: Make sure that actual clipping region is updated for a EMF DC.
      gdi32: Add more EMF clipping tests.
      gdi32: OffsetClipRgn should update actual clipping region for a EMF DC.
      gdi32: IntersectClipRect should update actual clipping region for a EMF DC.
      gdi32: ExcludeClipRect should update actual clipping region for a EMF DC.
      gdi32: SelectClipPath should update actual clipping region for a EMF DC.
      kernel32: There is no need for lock/unlock heap in GlobalAlloc.

Erich Hoover (2):
      advapi32: Support registry objects in GetNamedSecurityInfo.
      advapi32: Support registry objects in SetNamedSecurityInfo.

Francois Gouget (5):
      kernel32/tests: Reduce the size of the console buffer to speed up the tests.
      rpcrt4/tests: Trace the GUID when it is wrong.
      d3d11: Make debug_d3d_driver_type() static.
      ws2_32/tests: Fix the GetAcceptExSockaddrs() test.
      winetest: Trace the time it takes to run each test.

Frédéric Delanoy (1):
      msi: Fix memory leak (coverity).

Hans Leidekker (12):
      windowscodecs: Implement IWICColorContext::InitializeFromFilename.
      windowscodecs: Add a stub IWICColorTransform implementation.
      windowscodecs: Convert the source bitmap to the requested pixel format in IWICColorTransform::Initialize.
      windowscodecs: Implement IWICComponentFactory::CreateDecoderFromFileHandle.
      wbemprox: Trace the qualifier value in IWbemClassObject::GetNames.
      windowscodecsext: Implement WICCreateColorTransform_Proxy and IWICColorTransform_Initialize_Proxy.
      windowscodecs: Implement IWICBitmapFrameDecode::GetColorContexts for TIFF images.
      msiexec: Add /unregserver support.
      msiexec: Convert DoRegServer to Unicode.
      wininet/tests: Fix a test failure.
      msi/tests: Move a couple of tests from install.c to msi.c.
      msi: Don't remove products if msidbUpgradeAttributesOnlyDetect is set.

Henri Verbeet (2):
      wined3d: Add WINED3DFMT_INST to the format table.
      configure: Include Xlib.h before Xrandr.h.

Huw Davies (23):
      riched20: Actually pass the ANSI string to the break proc.
      riched20: Pass the character ptr and string length directly to the break proc helper.
      riched20: Pass a character ptr and length to SplitParagraph.
      riched20: Pass character ptrs to the whitespace finding functions.
      riched20: Move the text to the paragraph level.
      riched20: Move SplitRun to wrap.c and make it static.
      riched20: Move the split point calculation to wrap.c.
      riched20: Move run extent calculation to wrap.c.
      riched20: The run width is always passed so we don't need to calculate it again.
      riched20: Pass the run to the text drawing routine.
      riched20: Move underline pen creation to a helper function.
      riched20: Move y offset calculation to a helper function.
      riched20: Move text color determination to a helper function.
      riched20: Move the white space painting operations to a common function.
      riched20: Remove the special case tab handling now that we handle that in draw_space.
      riched20: Make it possible to perform point -> char conversion while holding a context.
      riched20: The string len parameter is no longer necessary.
      riched20: Use the point from char helpers to calculate the selection rectangle.
      riched20: Simplify selection painting by drawing a selected run twice with appropriate clipping.
      riched20: Move underline drawing to a common function.
      riched20: Move the range clamping to the helper now that the range isn't used later on.
      riched20: Move the password string hack to just before it's used.
      riched20: Use ME_PointFromChar to calculate the caret position.

Jacek Caban (13):
      atl100: Added AtlComModuleRegisterClassObjects implementation (based on AtlModuleRegisterClassObjects).
      oleaut32: COM clean up of ITypeLib2 interface implementation.
      mshtml: Use VT_ERROR as return type in DispCallFunc call.
      oleaut32: Return error if VT_HRESULT is used as return type in DispCallFunc.
      urlmon: Clean up handling tested URLs.
      urlmon: Fixed QueryInfo tests during BINDSTATUS_PROXYDETECTING notification.
      urlmon: Skip reported_url tests when binding to object.
      urlmon: Fixed tests on IEs that report BINDSTATUS_DECODING.
      oleaut32: Don't free a string in SysFreeString if it's already in cache.
      oleaut32: Added some SysFreeString tests.
      urlmon: Allow available_bytes to be set before protocol_continue call.
      wininet: Set available bytes in InternetQueryDataAvailable even if it ends up in async call.
      vbscript: Added support for a few more constants.

Jactry Zeng (4):
      msvcr100: Added _wstat32i64 implementation.
      msvcr100: Added _stat32i64 implementation.
      msvcr80: Sync _wstat32i64 and _stat32i64 implementation.
      msvcr90: Sync _wstat32i64 and _stat32i64 implementation.

Jeff Latimer (2):
      wmvcore: Add stub implementation for WMCreateEditor.
      wmvcore: Fix a typo.

Juan Lang (2):
      iphlpapi: Fix HRESULT/win32 error code confusion.
      cryptui: Use add_usage_to_oid correctly.

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

Jörg Höhle (4):
      ntdll: Use the monotonic time counter also for timer queues.
      winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling.
      winmm: More compatible waveIn/Out[Un]Prepare WHDR_* flag handling.
      winmm: Handle GetTickCount overflow in MIDI player.

Ken Thomases (25):
      winemac: Implement ScrollDC().
      winemac: Implement support for minimizing windows.
      winemac: Build a map from Mac virtual key codes to Win32 vkeys and scan codes based on Mac keyboard layout.
      winemac: Rebuild key map when Mac keyboard layout changes.
      winemac: Generate KEY_PRESS/RELEASE events from Cocoa key events.
      user32: In TranslateMessage, handle ToUnicode returning 2 or more chars.
      winemac: Implement ToUnicodeEx().
      winemac: Ignore Cocoa's window frame adjustments for off-screen windows.
      winemac: Implement Beep().
      winemac: Implement MapVirtualKeyEx().
      winemac: Implement VkKeyScanEx().
      winemac: Implement GetKeyNameText().
      winemac: Implement fake support for the active Windows keyboard layout.
      winemac: Implement SysCommand() to prevent Alt keypresses from activating system menu.
      winemac: Add WineApplication methods to convert from Cocoa to Win32 coordinate space.
      winemac: Implement MOUSE_MOVED(_ABSOLUTE) events.
      winemac: Process clicks in an inactive window in addition to activating it.
      secur32: On Mac, add support for cipher suites defined in 10.8 SDK.
      user32: Improve mouse wheel scrolling in edit control.
      user32: Improve mouse wheel scrolling in listbox control.
      comctl32: Eliminate redundant local variable (gcWheelDelta == -wheelDelta).
      comctl32: Improve mouse wheel scrolling in listview control.
      comctl32: Improve mouse wheel scrolling in treeview control.
      winemac: Implement MOUSE_SCROLL events.
      winemac: Prevent Cocoa from consuming certain key-down events.

Ludger Sprenker (1):
      windowscodecs: Add enum type WICTiffCompressionOption.

Marcus Meissner (1):
      comdlg32: Free files on errorpath (Coverity).

Michael Stefaniuc (20):
      ddraw/tests: Use assignment instead of memcpy to copy structs.
      crypt32: Use assignment instead of memcpy to copy structs.
      wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      ieframe: Let C look like C.
      krnl386.exe16: Let C look like C.
      gphoto2.ds: Let C look like C.
      iphlpapi: Let C look like C.
      qedit: Let C look like C.
      d3drm: Let C look like C.
      riched20: Let C look like C.
      usp10: Let C look like C.
      d3d10core: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      d3d8: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      d3d9: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      d3dx9_36: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      d3drm: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      amstream: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      d3dcompiler_43: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      dmime: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
      wineoss.drv: Use offsetof to calculate the size of a struct with variable length array.

Nikolay Sivov (3):
      oledb32: Add a table of init properties, support Persist Security Info switch in init string.
      xmllite: Store start data pointer for comments.
      xmllite: Basic test for chunk value read vs full value read.

Nozomi Kodama (1):
      d3dx9: Use const instead of CONST.

Piotr Caban (11):
      jscript: Rename jsheap_t to heap_pool_t.
      jscript: Don't use jsstr_t in JSRegExp structure.
      jscript: Don't use jsstr_t in js_NewRegExp.
      jscript: Move code operating on JSRegExp out of do_regexp_match_next function.
      jscript: Make context generic in internal regular expression functions.
      jscript: Moved generic regular expressions code to separate file.
      vbscript: Added IRegExp2 stub.
      vbscript: Added IRegExp2_QueryInterface tests.
      vbscript: Added partial implementation of IDispatch methods in IRegExp2.
      vbscript: Added IRegExp2::Pattern implementation.
      vbscript: Rename vbsheap to heap_pool.

Roman Dadkov (3):
      ole32/tests: Add test for SetClientSite.
      mpr/tests: Test to check the return values of WNetGetUniversalNameA.
      ole32/tests: Add test for OleRun.

Stefan Dösinger (2):
      wined3d: Use the ARBfp ffp pipeline only if ARBfp is supported.
      wined3d: Reserve one vs constant on r200.

Vijay Kiran Kamuju (1):
      msvcr90: Update the manifest version.

Alexandre Julliard
[email protected]