1 The Wine development release 1.9.6 is now available.
3 What's new in this release (see below for details):
4 - Better video card detection when using Mesa.
5 - Support for Shader Model 5 shaders.
6 - C++ exception handling improvements.
9 The source is available from the following locations:
11 http://dl.winehq.org/wine/source/1.9/wine-1.9.6.tar.bz2
12 http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.6.tar.bz2
14 Binary packages for various distributions will be available from:
16 http://www.winehq.org/download
18 You will find documentation on http://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check http://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 1.9.6 (total 32):
30 17540 Zondervan Pradis 6.0 hangs due to ole32.dll.CoGetCurrentLogicalThreadId stub
31 21475 TI Interactive application fails when attempting to display the TI math palette
32 22533 Half-Life: Logo video rendering is wrong (msrle32 does not handle frames with 0 biClrUsed)
33 25086 Multiple games and applications need kernel32.GetLogicalProcessorInformationEx implementation (CPU-Z 1.72, Splinter Cell: Blacklist, Adobe CC 2015, Kontakt 5)
34 28177 Adventure games from Kheops Studio hang after the logo screen (Safecracker, Destination: Treasure Island, Nostradamus: Lost Prophecy, Dracula 3, Return to Mysterious Island 2)
35 29458 Explorer sometimes crashes on drag-and-drop in folders accessed from "/"
36 32237 A slower speed of light: Summer 2012 version crashes after Intro
37 32314 Pikachu Volleyball (English version) crashes on restart
38 32827 Legrand XlPro 3 (MFC app) crashes on startup (failure to load registry-free COM servers via app hook, 'OleCreate' must ignore HRESULT of 'IOleObject::GetMiscStatus')
39 33787 IE8 crashes on new tab
40 34303 underlined 8 point Times New Roman text doesn't display as underlined
41 35471 Telepone (MTSP FIM) needs msvcr100.dll._CreateFrameInfo
42 37949 eLicenser Control Center needs msvcr80.dll.__CxxRegisterExceptionObject
43 39239 ole32:compobj fails if privileges not high enough
44 39278 Multiple DirectX 10 games crash on unimplemented function d3d10_1.dll.D3D10CreateDeviceAndSwapChain1 (Assassin's Creed)
45 39461 Garmin Homeport 2.2.9 crashes on unimplemented function msvcr90.dll.__CxxRegisterExceptionObject
46 39510 EZCastPro 1.4/1.5 crashes on unimplemented function USER32.dll.QueryDisplayConfig
47 39577 Fallout 4 needs WINED3DFMT_R11G11B10_FLOAT render target
48 39674 3Dmark03, 05, 06 not started "System Info Error"
49 39797 The suffering does not start, needs wmasf.dll
50 39878 Diablo II does not start on 64bit system with more than 2GB VRAM cards
51 39918 Mail.Ru GameCenter installer does not work
52 40115 ole32:compobj regression (privilege issue)
53 40147 Assertion 'm->state == STATE_PASSIVE' failed at pulse/mainloop.c:827 on starting Skype 7.18.0.112
54 40190 7z fails at enumerating network places
55 40201 EccoPro only works on Wine 1.6.2
56 40221 Adobe Illustrator CC 2015 needs user32.GetGestureConfig
57 40222 IMalloc(Spy)::Free nullptr
58 40246 Please document WINEBUILD in the winegcc manpage
59 40253 Build regression: Can't remove fonts: is a directory (--with-wine64, shared wow64)
60 40287 steamwebhelper crashes in Windows 7 mode
61 40312 Please look for builtin *.fon fonts in fontdir
63 ----------------------------------------------------------------
68 user32: Don't put a default icon on modal dialogs.
70 Alexandre Julliard (5):
71 configure: Don't create makefiles in directories that are symlinks in a Wow64 build.
72 libwine: Don't include backwards compatibility functions on Android.
73 advapi32: Fix null termination in RegQueryInfoKeyA.
74 vssapi: Undefine __thiscall before redefining it.
75 gdi32: Take into account the fontdir directory specified at build time.
77 Alistair Leslie-Hughes (3):
78 d3d10_1: Implement D3D10CreateDeviceAndSwapChain1().
79 user32: Don't crash in DrawTextEx when tab length is zero.
83 winepulse.drv: Check that the server connection actually succeeded.
84 mmdevapi: Implement IAudioEndpointVolume::GetVolumeRange.
85 mmdevapi: Implement Set/GetMasterVolumeLevel.
86 mmdevapi: Implement Set/GetMute.
87 dinput: Fix condition effect joystick offset calculation.
88 windowscodecs: Stub IWICMetadataQueryReader.
89 windowscodecs: Stub IMetadataBlockReader for jpegformat.
92 wrc: Remove getopt prototype.
93 winemaker: Markup fixes in German translation.
94 advapi32: Add CreatePrivateObjectSecurityEx.
98 api-ms-win-core-file-l1-2-1: Add dll.
99 api-ms-win-core-memory-l1-1-2: Add dll.
100 api-ms-win-core-version-l1-1-0: Add dll.
101 api-ms-win-core-string-l2-1-0: Add dll.
102 user32: Add GetGestureConfig stub.
103 user32: Add QueryDisplayConfig stub.
104 bthprops.cpl: Add BluetoothFindFirstRadio/BluetoothFindRadioClose stubs.
107 msrle32: Use the correct number of colors when biClrUsed = 0.
110 include: Don't use the visibility attribute on Solaris.
111 shlwapi/tests: Fix a test failure on Windows 10.
112 d3dx9/tests: Add a trailing '\n' to an ok() call.
114 Frédéric Delanoy (1):
115 winemaker: Markup fixes in French translation.
118 webservices: Keep track of prefix bindings.
119 winhttp/tests: Fix test failures.
122 wined3d: Get resource info from the texture in context_setup_target().
123 wined3d: Get resource info from the texture in wined3d_device_set_cursor_properties().
124 wined3d: Get resource info from the rendertarget view in device_clear_render_targets().
125 wined3d: Get resource info from the rendertarget view in draw_primitive().
126 wined3d: Get resource info from the texture in wined3d_surface_blt().
127 wined3d: Replace device_update_volume() with a function to update multiple levels of a 3D texture.
128 wined3d: Pass a texture and sub-resource index to wined3d_device_create_cursor_texture().
129 wined3d: Use the resource map/unmap functions in wined3d_device_set_cursor_properties().
130 wined3d: Pass a texture and sub-resource index to surface_convert_format().
131 wined3d: Pass textures and sub-resource indices to surface_cpu_blt().
132 wined3d: Use D3DCOLORTOGLFLOAT4 in drawStridedSlow().
133 wined3d: Get rid of the D3DCOLOR_[RGBA] macros.
134 wined3d: Replace D3DCOLORTOGLFLOAT4 with an inline function.
135 wined3d: Sanitise map flags in wined3d_surface_map().
136 wined3d: Introduce wined3d_volume_prepare_location().
137 wined3d: Keep track of the download count in the texture.
138 wined3d: Introduce helpers functions to calculate texture level dimensions.
139 wined3d: Don't call surface_load_ds_location() directly.
140 wined3d: Properly handle discarded surfaces in surface_load_location().
141 wined3d: Use ARB_map_buffer_range in wined3d_surface_map() when available.
142 wined3d: "render_targets" is never NULL in context_find_fbo_entry().
143 ddraw/tests: Skip initialising "quad" and "indices" in test_specular_lighting() if a 3D device can't be created.
144 d3dx9: "param" should never be NULL in free_parameter().
145 d3dx9/tests: Get rid of a redundant NULL check in test_effect_states().
146 d3dx9/tests: Get rid of some redundant NULL checks in D3DXCreateTextTest().
147 wined3d: Get resource info from the texture in wined3d_surface_cleanup().
148 wined3d: Get resource info from the texture in surface_create_dib_section().
149 wined3d: Get resource info from the texture in surface_private_setup().
150 wined3d: Get resource info from the texture in surface_depth_blt_fbo().
151 wined3d: Get resource info from the texture in surface_blt_fbo().
152 wined3d: Get resource info from the texture in surface_convert_depth_to_float().
153 wined3d: Allow swapchain sample counts to be overridden with a registry key.
154 ddraw: Do not destroy surfaces that are still attached.
155 ddraw: Avoid d3d_device_update_depth_stencil() in ddraw_surface_delete_attached_surface().
156 ddraw: Just return an error if we failed to find the predecessor in ddraw_surface_delete_attached_surface().
157 opengl32: Introduce WGL_WINE_query_renderer.
158 winex11: Implement WGL_WINE_query_renderer on top of GLX_MESA_query_renderer.
159 wined3d: Use WGL_WINE_query_renderer to query GPU information.
160 wined3d: Get resource info from the texture in wined3d_surface_depth_fill().
161 wined3d: Get resource info from the texture in surface_download_data().
162 wined3d: Get resource info from the texture in wined3d_surface_upload_data().
163 wined3d: Get resource info from the texture in surface_upload_from_surface().
164 wined3d: Get resource info from the texture in surface_set_compatible_renderbuffer().
165 wined3d: Get resource info from the texture in surface_load().
166 wined3d: Properly check if sRGB writes should be enabled in context_apply_clear_state().
167 wined3d: Require a valid rectangle pointer if rect_count is non-zero in device_clear_render_targets().
168 wined3d: Ignore the dirty region for swapchain presents more explicitly.
169 wined3d: Handle NULL rectangles in wined3d_swapchain_present().
170 wined3d: Explicitly check for WINED3DUSAGE_TEXTURE when validating surface dimensions in surface_private_setup().
171 wined3d: Get rid of the WINED3DUSAGE_OVERLAY check in gdi_surface_private_setup().
174 reg: Correctly handle cases with no data argument.
175 reg: Fail if /v is passed without an argument.
176 reg: Fail if multiple /v switches are passed in.
178 Huw D. M. Davies (5):
179 gdi32: Generate EMR_POLYPOLY{LINE|GON}16 records if the co-ords fit.
180 gdi32: Don't update the bounds if any poly{line|gon} has fewer than two points.
181 gdi32/tests: Add tests for EMF PolyPolyline record creation.
182 riched20: \pard resets the reading direction.
183 riched20: Set the base embedding level for RTL paragraphs.
186 winex11.drv: Use grabbed window display in SetCapture.
187 kernel32: Don't set unconditionally SECTION_QUERY flag in OpenFileMapping.
188 msxml3: Store xmlnode reference in xmlnodemap object.
189 msxml6: Added support for CLSID_XMLSchemaCache60 in XMLSchemaCache60::QueryInterface.
190 mshtml: Fixed cloning comment nodes.
191 mshtml: Fixed copy&paste typo in GetAsciiHostPort implementation.
194 winegcc: Document WINEBUILD in the manpage.
197 d3d10_1/tests: Port test_create_device() from d3d11.
198 d3d10core/tests: Add test for creating RTV with DXGI_FORMAT_UNKNOWN.
199 d3d11/tests: Add test for creating RTV with DXGI_FORMAT_UNKNOWN.
200 d3d10core/tests: Add test for creating DSV with DXGI_FORMAT_UNKNOWN.
201 d3d11/tests: Add test for creating DSV with DXGI_FORMAT_UNKNOWN.
202 d3d11/tests: Introduce d3d11_test_context for visual tests.
203 d3d11/tests: Introduce draw_quad().
204 wined3d: Recognize aoffimmi shader instruction modifier.
205 wined3d: Extend shader_glsl_gen_sample_code() to support offsets.
206 wined3d: Implement aoffimmi modifier for SM4 ld instruction in GLSL backend.
207 wined3d: Implement aoffimmi modifier for SM4 sample instructions in GLSL backend.
208 wined3d: Simplify shader_glsl_append_imm_ivec().
209 wined3d: Improve ERR() message in shader_glsl_get_sample_function().
210 d3d10core/tests: Introduce d3d10core_test_context for visual tests.
211 d3d10core/tests: Introduce draw_quad().
212 d3d11/tests: Drop redundant feature level check.
213 wined3d: Advertise WINED3DFMT_BC{4, 5}_UNORM 3D textures as not supported.
214 wined3d: Limit amount of video memory for older Windows versions.
215 d3d11/tests: Trace feature level.
216 d3d10core/tests: Move typeless textures test to test_create_texture{2d, 3d}().
217 d3d11/tests: Move typeless textures test to test_create_texture{2d, 3d}().
218 d3d11/tests: Add more create texture tests.
219 d3d11: Translate WINED3DERR_INVALIDCALL to E_INVALIDARG in d3d_texture{2d, 3d}_init().
220 d3d10core/tests: Add more create texture tests.
221 wined3d: Introduce debug_color().
222 wined3d: Implement depth clear in wined3d_device_clear_rendertarget_view().
223 wined3d: Implement stencil clear in wined3d_device_clear_rendertarget_view().
224 d3d11: Implement d3d11_immediate_context_ClearDepthStencilView().
225 d3d11: Implement d3d10_device_ClearDepthStencilView().
226 d3d10core/tests: Add test for ClearDepthStencilView().
227 d3d11/tests: Add test for ClearDepthStencilView().
228 d3d11: Fill unused fields in D3D11_DEPTH_STENCIL_DESC with default values.
229 d3d10core/tests: Test values of unused fields in D3D10_DEPTH_STENCIL_DESC.
230 d3d11/tests: Test values of unused fields in D3D11_DEPTH_STENCIL_DESC.
231 d3d11: Implement d3d11_immediate_context_OMSetDepthStencilState().
232 d3d11: Forward d3d10_device_OMSetDepthStencilState() to d3d11_immediate_context_OMSetDepthStencilState().
233 d3d11: Introduce debug_float4().
234 wined3d: Recognize SM5 ld_structured opcode.
235 wined3d: Recognize SM5 deriv_rtx_coarse opcode.
236 wined3d: Recognize SM5 deriv_rty_coarse opcode.
237 wined3d: Recognize SM5 deriv_rtx_fine opcode.
238 wined3d: Recognize SM5 deriv_rty_fine opcode.
239 wined3d: Use GLuint instead of GLenum to store ARB blitter shaders.
242 ntdll: Add stub for RtlAddAccessDeniedObjectAce and forward to AddAccessDeniedObjectAce in advapi32.
245 d3dx9: Trace the parameter passed to IsParameterUsed().
246 d3d11/tests: Require feature level 11_0 or 10_0 by default.
247 dxgi: Add feature level support.
248 d3d11: Implement device_GetFeatureLevel().
249 d3d11: Only accept shader versions supported by the feature level of the device.
250 d3d11: Pass the requested feature levels to dxgi.
251 d3d11/tests: Add a test for the default feature level selection.
252 d3d11/tests: Test creating SM4 shaders on feature level 9.
253 d3dx9: Cleanup header includes.
254 d3d10core: Add feature level support.
255 wined3d: Enable SM5 shaders in the GLSL backend, when possible.
256 d3d11/tests: Add a feature_level parameter to init_test_context().
257 d3d11/tests: Test relative addressing in constant buffers.
259 Michael Stefaniuc (7):
260 dbghelp: Use CONTAINING_RECORD instead of reimplementing it.
261 riched20: Use SetRectEmpty() instead of open coding it.
262 winefile: Use SetRectEmpty() instead of open coding it.
263 wined3d: Use SetRect() instead of open coding it.
264 winex11: Use debugstr_a to print strings that can be NULL.
265 d3drm: Use debugstr_a to print a string that can be NULL.
266 dinput: Support IUnknown in the IDirectInputEffect COM object.
269 wined3d: Warn only once about unsupported wrap state.
270 winex11: Don't create a temporary context each time X11DRV_wglBindTexImageARB is called.
273 ole32/tests: Fix tests failing on limited account.
274 ole32/tests: Don't trace last error when error code is returned directly.
275 ole32/tests: Fixed CoGetPSClsid() test failures when running on limited account.
276 dwrite: Use correct return code on allocation failure.
277 dwrite: Update to IDWriteFont3.
278 include: Added IDWriteFactory3 method definitions.
279 notepad: Make sure to use large enough buffer when composing window title (Coverity).
280 oleview: Fix buffer length passed to Reg* functions (Coverity).
281 dwrite: Update to IDWriteFontFamily1.
282 dwrite: Implement IDWriteFontFamily1::GetFont().
283 dwrite: Update to IDWriteFontCollection1.
284 dwrite: Remove flag marking system collections.
285 dwrite: Update to IDWriteFontList1.
286 ole32/tests: A test to show data cache QI problems.
287 avifil32: Use matching buffer length for dest string (Coverity).
288 ole32: Implement CoGetCurrentLogicalThreadId().
289 ole32: Implement IComThreadingInfo::GetCurrentLogicalThreadId().
290 mpr: Implement WNetUseConnectionA().
291 ieframe: Handle CreateView() failure in ActivateMe() (Coverity).
292 xmllite: Support get/set for XmlResolver property.
293 msxml3: Accept VT_UNKNOWN input for IXMLDOMSchemaCollection::add().
294 comctl32/monthcal: MCM_GETRANGE does not return BOOL values.
295 ole32: Use CoGetApartmentType() to implement IComThreadingInfo.
296 comctl32/monthcal: Always reset range flags and date limits on MCM_SETRANGE.
297 comctl32/datetime: Use MCM_GETRANGE result directly in DTM_GETRANGE.
298 xmllite/writer: Implement WriteComment().
299 ole32: Fix refcounting of IObjContext per-thread instance.
300 ole32/tests: Some tests for IInitializeSpy.
301 xmllite/writer: Implement WriteCData().
303 Patrick Armstrong (3):
304 bcrypt: Implement MD5 algorithm and add tests.
305 bcrypt: Make BCryptHashData behave more like Windows with empty input.
306 bcrypt: Implement support for HMAC.
309 d3dx9: IsParameterUsed stub should return TRUE.
310 d3dx9: Support setting texture through SetValue in effect.
311 d3dx9: Fix D3DXIntersectTri function.
313 Pierre Schweitzer (1):
314 mpr: Don't send lpRemoteName when requesting network place.
317 user32: Return window procedure pointer in WINPROC_AllocProc if it's not possible to allocate handle.
318 user32/tests: Add initial out of window procedure slots test.
319 user32: Call window procedure even if we're out of winproc handles.
320 user32/tests: Show that message conversion should work on window procedures without handles.
321 user32/tests: Show that messages are not converted when function pointer is passed to CallWindowProc.
322 msvcrt: Add i386 _IsExceptionObjectToBeDestroyed implementation.
323 msvcrt: Destroy exception object if it's no longer used when exiting catch.
324 msvcrt: Handle try blocks inside current catch block in nested frame handler.
325 msvcrt: Destroy exception object when frame storing it is unwound.
326 msvcr80: Add _CreateFrameInfo implementation.
327 msvcr80: Add _FindAndUnlinkFrame implementation.
328 msvcrt: Add __CxxRegisterExceptionObject implementation.
329 msvcrt: Add __DestructExceptionObject implementation.
330 msvcrt: Add __CxxUnregisterExceptionObject partial implementation.
331 msvcr80: Use Cxx(Un)RegisterExceptionObject helpers in i386 nested exception handler.
332 msvcrt: Handle non c++ exceptions in __DestructExceptionObject.
333 msvcrt: Destroy thrown c++ object before calling handler in _except_handler4_common.
335 Sebastian Lackner (9):
336 services: Fix a typo.
337 services: Hold scmdatabase lock while checking marked_for_delete.
338 services: Initialize service ref_count directly in service_create.
339 services: Introduce refcounting for processes.
340 services: Pass a process argument to send_start_message function.
341 services: Pass a process argument to send_control function.
342 services: Pass a process argument to wait_for_startup function.
343 setupapi: Fix parsing of inf files containing garbage at the beginning of the file.
344 ieframe: Fix implementation of impl_from_ITargetFrame2.
346 Stefan Dösinger (10):
347 wined3d: Merge surface_prepare_map_memory() into wined3d_surface_prepare().
348 wined3d: Call wined3d_surface_prepare() in surface_load_sysmem().
349 wined3d: Call wined3d_volume_prepare_location() in wined3d_volume_load_location().
350 wined3d: Merge wined3d_surface_unmap() and wined3d_volume_unmap().
351 wined3d: Merge wined3d_surface_map() and wined3d_volume_map().
352 wined3d: Introduce wined3d_texture_use_pbo().
353 wined3d: Merge wined3d_surface_update_desc() into wined3d_texture_update_desc().
354 wined3d: Get rid of texture_ops.texture_sub_resource_add_dirty_region().
355 wined3d: Get rid of state access in shader_generate_glsl_declarations().
356 wined3d: Avoid storing a material pointer in struct wined3d_cs_set_material.
359 mscoree: Restore previous domain whenever we set it.
360 user32: Set capture earlier on popup menus.
361 user32: Skip menu loop for empty popup menus.
364 authz: Stub AuthzAccessCheck, AuthzFreeContext, AuthzInitializeContextFromSid, AuthzInitializeContextFromToken.