1 The Wine development release 1.9.17 is now available.
3 What's new in this release (see below for details):
4 - Better exception handling on 64-bit.
5 - Various improvements in joystick support.
6 - Some more stream support in the C++ runtime.
7 - Font embedding improvements.
8 - More metafile support in GDI+.
11 The source is available from the following locations:
13 http://dl.winehq.org/wine/source/1.9/wine-1.9.17.tar.bz2
14 http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.17.tar.bz2
16 Binary packages for various distributions will be available from:
18 http://www.winehq.org/download
20 You will find documentation on http://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 1.9.17 (total 53):
32 13272 Scrapland crashes on startup due to IDirectDrawStreamSample::GetSurface method stub
33 15824 Microsoft Chat's comic mode graphical glitches
34 18018 Gun Metal is unresponsive to joystick
35 18095 VisualFEA's Toolbar is broken (does no line wrapping)
36 20080 Perfect Cherry Blossom controls go crazy
37 22491 Total Commander: Pressing the "Program information" button opens multiple windows instead of just one
38 26365 Geneforge 1 - text gets cut away
39 26762 Shadow Vault has display errors
40 29961 ADO.NET query on a Jet database fails.
41 30844 VirtualDJ Home Free crashes after sitting idle for a few minutes.
42 31693 CAPCOM games using gamepad start with axes X/Y pressed up/left
43 32362 Multiple DirectX9 games need D3D11CreateDevice implementation with D3D_FEATURE_LEVEL_9_x support (Ghost Recon: Future Soldier)
44 32774 Multiple games (Lucius, X Rebirth) don't expect blending to be enabled by RS_EDGEANTIALIAS
45 34281 PlotSoft PDFill 10 fails on startup, reports 'No Fonts found under: C:\\windows\\Fonts' (at least one font name in registry must contain 'truetype' token)
46 34286 dinput doesn't report DIDOI_ASPECT* for joystick axes
47 36421 valgrind shows some leaks in oledb32/tests/database.c
48 36625 can't set text background color in richedit
49 36850 Fury 3 does not recognize Gamepad/Joystick
50 36859 Don't Starve 2.4.0 does not start: Missing Shader 'shaders/font.ksh'.
51 37518 Huge Drop Performance Alan Wake, Alan Wake American Nightmare, Shadow Warrior 2013
52 37847 Shantae - Risky's Revenge has glitchy graphics
53 37954 Test application using old MSVC++ iostream library crashes on startup ('msvcirt.??0ostrstream@@QAE@XZ' takes one argument)
54 38276 IsDialogMessage(NULL,...) must always return FALSE
55 38726 valgrind shows uninitialized memory in qcap/tests/smartteefilter.c
56 39506 King Arthur II demo crashes with unimplemented function d3dx10_43.dll.D3DX10CreateEffectPoolFromFileW
57 39541 Rollercoaster Tycoon - X Error of failed request: BadValue (integer parameter out of range for operation)
58 40384 dinput8:dinput regression caused by new compiler
59 40385 usp10:usp10 regression caused by new cross-compiler
60 40411 Regedit.exe /e only exports HKLM
61 40665 'INFINITY' undeclared (In function 'test_effect_preshader_ops')
62 40710 Multiple games crashes with unimplemented function d3dx11_43.dll.D3DX11CreateTextureFromMemory
63 40846 Dead by Daylight: Crash on start, needs D3DX11CompileFromFileW
64 40848 S.T.A.L.K.E.R. Call of Pripyat Benchmark needs d3dx10_43.dll.D3DX10CreateDeviceAndSwapChain
65 40989 Adventure Lamp needs ntdll.NtSuspendProcess
66 41002 Worms 2 (GOG version) fails to start, crashes with a Visual C++ runtime error
67 41025 Worms 2 in-game audio no longer works
68 41061 Unimplemented function msvcp140.dll._Mtx_init_in_situ needed by Battle.net
69 41066 Unhandled page fault in RtlWow64EnableFsRedirectionEx when passed bad *old_value pointer
70 41067 Spellforce 2 - Demons of the Past needs d3dx9_34.dll.D3DXFillVolumeTextureTX
71 41072 GOG Galaxy fails to start without setting ucrtbase to (native, builtin)
72 41074 Unimplemented function msvcp140.dll.__crtInitializeCriticalSectionEx needed by Battle.net
73 41078 Unimplemented function msvcp140.dll.__crtCreateEventExW needed by Battle.net
74 41079 Hauppauge Capture crashes on unimplemented function cfgmgr32.dll.CM_Get_Version
75 41084 Unimplemented function msvcp140.dll.__crtCreateSemaphoreExW needed by Battle.net
76 41088 Bug on Startup Buhl Tax2016 on Wine Windows7
77 41089 Regression bug: E-Sword Search now showing a black dialog.
78 41103 Fails to parse Extended Properties since it has quotes around its value.
79 41109 8-bit Armies launches with a very small window
80 41111 CPU-Z driver needs hal.dll.WRITE_PORT_UCHAR
81 41125 unimplemented function inetcomm.dll.MimeOleObjectFromMoniker
82 41128 Art of Murder: Hunt for the Puppeteer (AoM: Cards of Destiny) doesn't stretch fullscreen properly
83 41132 Specific font files can cause Steam to crash unexpectedly
84 41140 gcc6: comctl32 build warnings
86 ----------------------------------------------------------------
90 Aaryaman Vasishta (3):
91 d3drm: Store reference to render target in IDirect3DRM*::CreateDeviceFromD3D.
92 d3drm: Implement IDirect3DRMFrame*::GetScene.
93 d3drm: Implement IDirect3DRMViewport*::Clear.
95 Alexander Morozov (1):
96 ntoskrnl.exe: Add stub for ObDereferenceObject.
98 Alexandre Julliard (10):
99 regedit: Don't die if we fail to open a key during exporting.
100 reg/tests: Avoid non-portable Unicode chars.
101 ole32/tests: Make the clipboard test more strict and remove Win9x compatibility cruft.
102 user32/tests: Add tests for clipboard global memory handles.
103 winex11: Don't crash when getting an invalid window in SelectionRequest.
104 user32/tests: Add some cross-process clipboard tests.
105 winex11: Correctly free CF_DIB format, and don't free unknown GDI formats.
106 user32/tests: Add some tests for GDI clipboard formats.
107 winex11: Allocate clipboard data as GMEM_FIXED.
108 user32/tests: Disable custom GDI clipboard formats tests on 64-bit.
110 Alistair Leslie-Hughes (4):
111 d3dx11: Add D3DX11CompileFromFileA/W stub.
112 d3dx11: Add D3DX11CreateTextureFromMemory stub.
113 inetcomm: Add MimeOleObjectFromMoniker stub.
114 d3d11: Support D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS in ID3D11Device CheckFeatureSupport.
117 dinput: Report DIDOI_ASPECTPOSITION flag for axes objects.
120 user32: Don't always insert menu items during WM_MDISETMENU.
121 mmdevapi: Fix some DEVPKEY definitions.
122 Revert "dsound: Allow inactive devices to change the primary format.".
125 msi: Use debugstr_guid() in TRACE() messages.
126 d3dx10: Add D3DX10CreateEffectPoolFromFileA/W stubs.
129 kernel32/tests: Explicitly set SizeOfRawData.
130 kernel32/tests: Use SetFilePointer instead of GetFileSize with WriteFile.
131 kernel32/tests: Remove superfluous filler definitions.
132 ntdll: Implement 64-bit shifts.
133 kernel32/tests: Fill in the delay IAT to succeed on Win10.
134 hal: Add WRITE_PORT_UCHAR stub.
137 include: Add declaration for ObReferenceObjectByName.
138 winedevice: Remove static driver_obj variable.
139 hidclass.sys: Use the PDO instance id for the HID instance id.
140 hidclass.sys: Call IoAttachDeviceToDeviceStack when creating HID device.
141 hidclass.sys: Do not send IRP_MJ_PNP ioctls.
142 hidclass.sys: Do not send IRP_MJ_POWER ioctls.
145 ntdll: Add NtSuspendProcess stub.
146 wlanapi: Add WlanCloseHandle() stub.
147 ntdll: Add NtResumeProcess stub.
149 Benjamin Hodgetts (1):
150 wined3d: Add Nvidia 1XXX range to detection list.
152 Bernhard Übelacker (3):
153 usp10/tests: Reserve for InClass a byte for every character in teststr.
154 kernel32/tests: Convert fiber back to thread even when IsThreadAFiber is not available.
155 msvcrt: Fix strtok_s and _mbstok_s for empty strings.
158 odbc32: Upgrade a WARN into ERR when the library is not found.
159 dinput: Fix some debug output.
160 dinput: Add DirectInput8 device type names to debug.
161 dinput/tests: Improve controller debug information.
162 dinput: Add support for DIPROP_VIDPID property in Linux js implementation.
163 dinput8/tests: Debug device information during enumeration callback.
164 winejoystick.drv: Don't assume the first joystick is at the first device on Linux.
165 winmm/tests: Enumerate all joystick devices during the test.
166 dinput/tests: Test for DIDOI_ASPECTPOSITION on joystick axes.
167 dinput: Use a helper to read information files for the js device.
168 dinput: Implement GetDeviceInfo(A) using the W version in the js driver.
169 dinput: Properly fill the HID information for the controller in the js driver.
170 dinput: Implement GetDeviceInfo(A) using the W version in the event driver.
171 dinput: Properly fill the HID information for the controller in the event driver.
172 dinput: Properly debug DIDEVTYPE_HID in _dump_DIDEVCAPS.
173 include: Add DIPROP_PRODUCTNAME and remove duplicate #defines from dinput.h.
174 dinput: Use the correct index to remap the axis.
175 dinput: Implement DIPROP_PRODUCTNAME in GetProperty.
176 dinput: Cope with NULL flags in LinuxInputEffectImpl_GetEffectStatus.
179 msvcp140: Implement _Thrd_hardware_concurrency.
180 concrt140: Add concrt140 stub.
181 msvcp140: Load critical_section functions from concrt140.
182 msvcp140: Take _Mtx_t and _Cnd_t directly.
183 msvcp140: Add _Mtx_init/destroy_in_situ.
184 vcomp140: Add vcomp140 stub.
185 msvcp140: Don't redirect _Cnd/Mtx_t to msvcp110.
186 msvcp140: Add _Query_perf_[counter|frequency].
187 ntdll: Call __finally blocks in __C_specific_handler.
188 msvcp140: Forward __ExceptionPtr* to msvcr120.
189 msvcp110: Use sentry in istream<>::tellg.
190 msvcp110: Use sentry in istream<>::seekg.
191 msvcr120: Add forwards for wcstoll and wcstoll_l.
192 msvcr120: Add lgamma.
193 ucrtbase: Add __stdio_common_vfwscanf.
194 kernel32: Add GetNumberFormatEx.
197 msi: Make parse_platform() static.
198 webservices: A spelling fix for an ERR() message.
201 api-ms-win-core-console-l2-1-0: Add stub dll.
204 webservices/tests: Add some tests for WsSetWriterPosition.
205 include: Add missing Web Services declarations.
206 webservices: Implement WsSetHeader.
207 webservices: Also write user supplied headers in WsWriteEnvelopeStart.
208 webservices/tests: Add tests for WsSetHeader.
209 winhttp: Set required buffer length for all components in WinHttpCrackUrl.
210 winhttp: Validate the port number in WinHttpCrackUrl.
211 webservices: Write the envelope in WsInitializeMessage.
212 webservices: Support WS_STRING values in WsSetHeader.
213 webservices: Implement WsRemoveHeader.
214 webservices: Add missing channel properties.
215 webservices: Implement WS_ADDRESSING_VERSION_TRANSPORT.
216 include: Add missing Web Services declarations.
217 webservices: Add support for writing GUID values.
218 webservices: Validate the handle in channel functions.
219 webservices: Implement WsAddMappedHeader.
220 webservices: Implement WsRemoveMappedHeader.
223 wined3d: Use wined3d_cs_emit_unload_resource() in delete_opengl_contexts().
224 wined3d: Use wined3d_cs_emit_unload_resource() in wined3d_texture_update_desc().
225 wined3d: Synchronise WINED3D_CS_OP_UNLOAD_RESOURCE resource access.
226 wined3d: Synchronise texture LOD updates with the command stream.
227 wined3d: Unify resource preloads.
230 reg/tests: Add more tests for 'reg import'.
231 wineconsole: Add 'ColorTable' support to the registry.
232 wineconsole: Replace hard-coded WCUSER_ColorMap with registry color_map.
233 server: Get and set the console color table.
234 wineconsole: Add 'PopupColors' support to the registry.
235 server: Get and set the console pop-up color attributes.
236 reg/tests: Add more tests for 'reg import'.
237 reg/tests: Add more Unicode tests for 'reg import'.
238 kernel32/tests: Add tests for GetConsoleScreenBufferInfoEx.
239 kernel32: Implement GetConsoleScreenBufferInfoEx.
240 reg: Fix dword conversion on 64-bit operating systems.
241 reg: Simplify help handling by removing an if-else if-else block.
243 Huw D. M. Davies (6):
244 ucrtbase: Add support for natural string widths.
245 usp10: Free the final page.
246 riched20: Update the auto url detection after a StreamIn.
247 gdi32: Exponentially grow successive point buffers.
248 ntdll/tests: Dump the handle table on failure.
249 ntdll/tests: Skip broken SYSTEM_HANDLE_INFORMATION behaviour.
251 Iván Matellanes (18):
252 msvcirt: Add a partial implementation of class ostream_withassign.
253 msvcirt: Implement ostream_withassign copy constructor.
254 msvcirt/tests: Add tests of ostream_withassign assignment operators.
255 msvcp90: Set the correct vtable for basic_iostream_char.
256 msvcirt: Add a partial implementation of class istream_withassign.
257 msvcirt: Implement istream_withassign copy constructor.
258 msvcirt/tests: Add tests of istream_withassign assignment operators.
259 msvcirt: Initialize do_lock on ios copy constructor.
260 msvcirt/tests: Add some more tests of ostream constructors.
261 msvcirt: Add stub for class iostream.
262 msvcirt: Implement iostream constructors/destructors.
263 msvcirt: Implement iostream assignment operators.
264 msvcirt: Simplify some constructors and assignments.
265 include/msvcrt: Ensure integer limits are given the correct type.
266 msvcirt: Add a partial implementation of class Iostream_init.
267 msvcirt: Implement Iostream_init constructor.
268 msvcirt: Add predefined streams.
269 msvcirt: Implement ios::sync_with_stdio.
272 wininet: Don't return available data sizes larger than the read buffer.
275 winhttp: Prevent console spamming in get_system_proxy_autoconfig_url.
277 Joerg Schiermeier (1):
278 loader/wine.inf: Correct wrong symlink.
281 kernel32/tests: Add loader tests for fiber-local storage.
282 kernel32/tests: Add thread tests for fiber-local storage.
285 wined3d: Silence false FIXME message.
286 d3d11/tests: Add test for line antialiasing blending.
287 d3d10core/tests: Add test for line antialiasing blending.
288 d3d9/tests: Add test for line antialiasing blending.
289 d3d8/tests: Add test for edge antialiasing blending.
290 wined3d: Introduce gl_blend_from_d3d() helper function.
291 ddraw/tests: Add tests for edge antialiasing blending.
292 wined3d: Do not enable blending for edge/line antialiasing.
293 wined3d: Add few missing formats.
294 d3d11/tests: Add initial test for required formats.
295 d3d11/tests: Add test for swapchain views.
296 d3d11: Add support for feature level 9 shaders.
297 d3d11/tests: Add basic test for drawing on feature level 9.
298 wined3d: Do not switch display mode when windowed is TRUE.
299 d3d9/tests: Add test for regression in IDirect3DDevice9_Reset().
300 d3d10core/tests: Add test for swapchain views.
301 d3d11/tests: Fix copy-paste error in test_swapchain_views().
302 dxgi/tests: Also test IDXGISwapChain_ResizeTarget() in fullscreen with disabled mode switch.
303 dxgi: Properly switch to fullscreen mode when creating fullscreen swapchains.
304 dxgi/tests: Check fullscreen state in test_create_swapchain().
305 d3d11: Remove redundant 'break' statement.
306 user32/tests: Add more tests for setting window styles.
307 user32: Prevent resetting WS_MINIMIZE through SetWindowLong.
310 v4 resend: Riched20: allow setting background text color.
313 preloader: Add proper CFI instructions to _start functions.
314 kernel32: Fix RegisterWaitForSingleObject for console handles.
317 ntdll: Catch page fault in RtlWow64EnableFsRedirectionEx.
319 Michael Stefaniuc (17):
320 winealsa.drv: Use debugstr_guid() to trace a guid.
321 wineoss.drv: Use debugstr_guid() to trace a guid.
322 winepulse.drv: Use debugstr_guid() to trace a guid.
323 winecoreaudio.drv: Use debugstr_guid() to trace a guid.
324 kernel32/tests: Use todo_wine_if().
325 kernel32/tests: Remove an identical if / else branch.
326 kernel32/tests: Remove another identical if/else branch.
327 ole32/tests: Use todo_wine_if().
328 quartz: There is no point in tracing the GUID pointer too.
329 user32/tests: Remove an identical if/else branch.
330 comctl32/tests: Use todo_wine_if().
331 ieframe/tests: Use todo_wine_if().
332 avifil32: Avoid a cast from a COM object to an iface.
333 ole32/tests: Avoid casts from COM objects to ifaces.
334 fusion: Avoid using the LPASSEMBLYNAME type.
335 mmdevapi: Another use case for todo_wine_if().
336 msvcirt/tests: Simplify generating a pointer to address 0x1.
339 po: Update Simplified Chinese translation.
340 po: Update Simplified Chinese translation.
343 powrprof: Added PowerDeterminePlatformRole() stub.
344 comctl32/tests: Basic test for TVS_FULLROWSELECT style bit.
345 comctl32/treeview: Fix hot-tracking with TVS_FULLROWSELECT.
346 oledb32: Support quoted values in initialisation strings.
347 winmm/tests: Fixed a buffer leak (Valgrind).
348 winmm: Free device format when closing a device (Valgrind).
349 msvcp140: Added __crtCreateEventExW().
350 msvcp140: Added __crtGetTickCount64().
351 msvcp140: Added __crtCreateSemaphoreExW().
352 dwrite/tests: Fix indentation warnings on GCC 6.
353 usp10: Better implementation for ScriptGetLogicalWidths().
354 scrrun/tests: Fix a warning on GCC 6.
355 shell32/tests: Fix indentation warnings on GCC 6.
356 user32/tests: Fix indentation warnings on GCC 6.
357 wshom.ocx/tests: Fix indentation warning on GCC 6.
358 ole32/tests: Fix indentation warning on GCC 6.
359 rpcrt4/tests: Fix indentation warning on GCC 6.
360 winhttp/tests: Fix indentation warning on GCC 6.
361 comctl32/treeview: Fix item dragging and selection for TVS_FULLROWSELECT style.
362 mshtml: Formatting change to get rid of warning on GCC 6.
363 t2embed: Fix embedding type resolution order.
364 setupapi: Added CM_Get_Version().
365 t2embed: Fix TTIsEmbeddingEnabled() to properly use otmpFaceName metrics field.
366 t2embed: Add some traces for fsType and exclusion list test results.
367 shlwapi/tests: Fix indentation warning on GCC 6.
368 shell32/tests: Fix indentation warning on GCC 6.
369 gdi32: Keep font tables tags defined in one place.
370 gdi32: Support special 'ttcf' tag in GetFontData().
371 dwrite: Sanitize specified stretch value, valid range is [1, 9].
372 dwrite: Handle zero specified weight as normal.
373 gdi32: Simplify font table name tracing.
374 gdi32: Append "TrueType" suffix to registry key names.
375 comctl32/listview: Fix indentation warnings on GCC 6.
376 oleaut32/tests: Fix indentation warning on GCC 6.
377 msvcirt/tests: Fix indentation warnings on GCC 6.
378 strmbase: Fix media type leaks when creating IEnumMediaTypes instance (Valgrind).
379 user32: Handle invalid dialog handles in IsDialogMessage().
382 winex11.drv: Return default locale in LoadKeyboardLayout stub instead of 0.
385 kernel32/tests: Add path tests for double delimiters.
386 kernel32: Properly handle double delimiters in GetShortPathName/GetLongPathName.
388 Pierre Schweitzer (5):
389 mpr: Implement local name automatic redirection for disks.
390 mpr: Implement provider selection given remote name.
391 mpr: Implement WNetCancelConnection2W().
392 mpr: Implement WNetCancelConnectionA(), WNetCancelConnectionW(), WNetCancelConnection2A().
393 mpr: Set the CONNECT_LOCALDRIVE flag in case a local redirection is made on connection.
396 ntdll: Fix KNONVOLATILE_CONTEXT_POINTERS parameter handling in RtlVirtualUnwind.
397 server: Fix loading of IMAGE_OPTIONAL_HEADER.
398 msvcrt: Don't set frame to 0 in x86_64 _setjmp.
399 msvcrt: Fix parameters conversion in wcsftime function.
400 msvcrt: Add support for multibyte characters in _Strftime.
401 msvcrt: Add _strftime_l.
402 msvcrt: Add wcsftime_l.
403 msvcrt: Add _wcreate_locale.
404 ntdll: Add support for collided unwinds.
405 ntdll: Add support for ExceptionCollidedUnwind return from exception handler.
406 ntdll: Call exception handler with correct context.
407 ntdll: Add support for exceptions inside termination handlers in __C_specific_handler.
408 ntdll: Print fixme message in case of nested exception.
409 ntdll: Pass updated context inside dispatch.ContextRecord in call_stack_handlers.
411 Sebastian Lackner (31):
412 vcomp: Prefer builtin version.
413 vcomp120: Prefer builtin version.
414 vcomp110: Prefer builtin version.
415 vcomp100: Prefer builtin version.
416 vcomp90: Prefer builtin version.
417 services: Preparation to allow arbitrary data in service RPC messages.
418 advapi32: Validate received service name.
419 services: Implement functionality to transfer extra data when sending service control.
420 services: Fix handling of user defined service controls.
421 services: Fix leak of process object in process_terminate.
422 services: Store process id in the process object.
423 services: Unlink process immediately after service stopped.
424 services: Ignore error in callback only for ControlService requests.
425 services: Remove service_terminate function.
426 services: Hold an additional process reference while waiting for startup.
427 configure: Explicitly check for sysinfo function.
428 dwrite: Fix font stretch name conversion table.
429 services: Add a grab_service function.
430 advapi32: Simplify RegisterServiceCtrlHandlerExW.
431 advapi32: Hold lock while processing service controls.
432 advapi32: Hold lock while handling service thread shutdown.
433 advapi32: Do not stop service main thread as long as there are still running services.
434 services: WaitForSingleObject returns a DWORD result.
435 services: Track number of services per process.
436 services: Hold startup lock before calling service_start.
437 services: Sort autostart services by dwTagId config value.
438 services: Use threadpool API instead of custom wait implementation.
439 services: Return an error instead of BOOL from process_send_start_message.
440 services: Allocate a separate status_changed_event for each service.
441 winedevice: Track loaded drivers and update their status on load/unload.
442 ntdll: Convert an ERR to a WARN when wait is triggered while destroying threadpool object.
445 ddraw/tests: Skip overlay tests if DWM is on.
448 gdiplus: Fix matrix append flag in metafile transform records.
449 gdiplus/tests: Add feature for loading emf files.
450 gdiplus: Implement recording/playback for MultiplyWorldTransform.
451 gdiplus: Implement recording/playback for RotateWorldTransform.
452 gdiplus: Implement recording/playback for SetWorldTransform.
453 gdiplus: Implement recording/playback for TranslateWorldTransform.
454 gdiplus/tests: Test mixing Begin/EndContainer and Save/Restore.
455 gdiplus: Fix mismatched use of Begin/EndContainer and Save/RestoreGraphics.
456 gdiplus: Add support for containers in metafiles.
457 gdiplus/tests: Add test for containers in metafiles.
458 gdiplus: Implement playback/recording for SetClipRect.
459 gdiplus/tests: Add metafile test for SetClipRect.