1 The Wine development release 1.7.46 is now available.
3 What's new in this release (see below for details):
4 - Improvements in the BITS file transfer service.
5 - Still more progress on DirectWrite implementation.
6 - Support for shared user data on 64-bit.
7 - Various C++ runtime improvements.
8 - Some more support for the 64-bit ARM platform.
11 The source is available from the following locations:
13 http://prdownloads.sourceforge.net/wine/wine-1.7.46.tar.bz2
14 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.46.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.7.46 (total 67):
32 6316 MYOB V13 prints a blank page
33 15564 BlogJet: typing text and account signup don't work
34 16196 Back and Forward buttons in Google Sketchup's 3D Warehouse do nothing
35 16885 Yahoo Messenger 8/9 menu invisible, 'X' box hotspot in wrong place
36 19648 Lotus Organizer 97 - No text on tabs
37 19695 Gox Box window loses focus when list box is expanded
38 20927 MYOB version 6 crashes when printing
39 22085 Roller Coaster Tycoon can't change the screen resolution
40 23148 Lotus Freelance Graphics 2.1 reports a C runtime error and exits
41 24823 Miranda IM crashes with a modern contact list plugin
42 26656 Cherry-SMS desktop app crashes / shows no country code
43 26791 backtraces broken on gcc 4.7
44 28148 Neuro Hunter: certain effects are invisible
45 28189 regsvr32: No usage in wineconsole
46 29929 Demo installer stuck at program folder selection
47 30805 Graphical glitch in the menu of Medieval total war
48 30873 BMFont crashes on visualise option or save bitmap font as
49 31228 "A simple IOCP Server/Client Class" locks up in GetMessage
50 31694 A ton of 'error loading char 255 - bad news!' errors when compiling wine with newer Freetype
51 31757 Adobe Application Manager 6.x/7.x download fails with error code A12E5 (winhttp request headers missing byte range)
52 32127 Oblivion Launcher crash on start
53 32214 Shaiya Online (MMORPG, Aeria Games) crashes on startup
54 32550 Points2Grid crashes on calculation
55 33831 AliWangwang hangs before login
56 33849 Multiple 64-bit kernel drivers crash on access to KI_USER_SHARED_DATA range (0xfffff78000000000) (Tages DRM, Comodo Backup)
57 34112 Skilors Grooveshark Downloader installer crashes
58 34357 TaxAct 2012 and 2013 crash on startup
59 34406 Finale Notepad 2012 doesn't copy/create user files on program start
60 34843 Garmin BaseCamp 4.1.2 fails due to unimplemented gdiplus.GdipCreateRegionRgnData
61 35537 Easy Bridge version 4.0.2 installer crashes
62 35540 Netgear Powerline 3.1: desktop shortcut blank
63 35775 Multiple Realarcade installers crash on startup due to IFile::PutAttributes method stub
64 35949 Starcraft Campaign Editor does not highlight links in triggers on hover
65 36192 valgrind shows a definite leak in mmdevapi/tests/capture.c
66 36235 valgrind shows 3 leaks in amstream/tests/amstream.c
67 36318 valgrind shows a leak in quartz/tests/filtermapper.c
68 36321 valgrind shows a possible leak in quartz/tests/referenceclock.c
69 36324 valgrind shows a leak in rpcrt4/tests/ndr_marshall.c
70 36555 valgrind shows a definite leak in amstream/tests/amstream.c
71 36780 Tomb Raider III (steam) crashes
72 36916 Command and Conquer Tiberium Wars Demo reports 'Please make sure you have DirectX 9.0 or higher installed.'
73 36953 Galactic Civilizations II: stars not rendered
74 37303 Change of paper size in print dialog do not update DEVMODE dmFormName member
75 37307 Urban Assault black screen when using software renderer (incorrect device enumeration order)
76 37403 Regedit: Wrong default registry key is selected
77 37502 Naturosoft Pro fails on startup with 'Run-time error 445: Object doesn't support this action' (needs richedit:ITextRange_fnExpand method implementation)
78 37767 IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests
79 38114 Steam client doesn't allow to install games in different locations (needs kernel32.GetVolumePathName implementation)
80 38364 AutoPatcher Updater 1.4.x needs IFileSystem3::GetSpecialFolder()
81 38411 3DMark05 v1.30 crashes during system info scan (needs support for 'Win32_Process' WMI class 'WorkingSetSize' property)
82 38470 __chkstk not implemented on ARM
83 38517 Winhttprequest doesn't keep user logged in
84 38525 Winhttprequest follows redirects to wrong url
85 38624 jre-8u45-windows-i586.exe installer exits silently (needs advapi32.dll GetWindowsAccountDomainSid stub)
86 38638 Bad text encoding output in regsvr32 console output
87 38645 QQ 6.x crashes after open the qqzone tab (webkit crash)
88 38691 Dia Portable 0.97 crashes on startup in libcairo-2
89 38695 valgrind shows uninitialized memory in dlls/gdi32/freetype.c:WineEngInit() (win64)
90 38713 Link failure due to use of libunwind in ntdll
91 38719 64-bit ARM Windows applications from Windows SDK for Windows 10 crash when accessing TEB/PEB members (AArch64 platform specific register X18 must be reserved for TEB)
92 38739 valgrind shows a possible leak in ole32/tests/usrmarshal.c
93 38747 msvcrt.dll does not implement _getwch, _getwche, and _ungetwch
94 38752 Foobar2000 UPnP/DLNA media server hangs on exit
95 38758 SlingPlayer 1.x installers fail
96 38764 Improper device request/IRP handling causes heap corruption in wineserver
97 38769 Additional AES algorithms in schannel break wine build
98 38783 64bit msys32 crashes on unimplemented RtlCopyMemory
100 ----------------------------------------------------------------
102 Changes since 1.7.45:
105 winetest: Add SystemPreferredUILanguages to the log.
108 riched20: Fix link notification conditions and add tests.
109 user32: Send BM_SETCHECK before WM_CAPTURECHANGED and add tests.
111 Alexandre Julliard (1):
112 d3dcompiler_43: Add a helper function for register token to avoid compiler warnings.
114 Alistair Leslie-Hughes (8):
115 scrrun: Implement ITextStream Close.
116 d3dcompiler_46: Add stub dll.
117 d3dcompiler_47: Add stub dll.
118 dpnet: Correct adding components in Duplicate.
119 d3dcompiler: Share the source with d3dcompiler_46.
120 d3dcompiler: Rename d3dcompiler_43_main.c to main.c.
121 d3dcompiler: Share the source with d3dcompiler_47.
122 dpnet: Don't return partially initialized object.
125 xaudio2_7: Move object creation to avoid forward declaration.
126 xaudio2_7: Simplify object creation.
127 xaudio2_7: Wrap long lines.
128 include: Upgrade interface definitions to XAudio2 2.8.
131 include: Rename 64-bit PState to 32-bit Cpsr on ARM64.
132 ntdll: Implement RtlCaptureContext on ARM64.
133 ntdll: Fix CONTEXT_ARM in RtlCaptureContext.
134 winebuild: Create stubs for ARM64.
135 ntdll: Set platform register x18 to TEB on ARM64.
136 ntdll: Set TPIDRURW inline on ARM.
137 include: Add IMAGE_LOAD_CONFIG_DIRECTORY64 definition.
140 include: Add ddk/hidclass.h.
141 include: Add ddk/hidpi.h.
142 hid: Break HidD functions out into their own module.
143 hid: Translate HidD_ functions to their IOCTLs.
145 Bernhard Übelacker (2):
146 comctl32/tests: Free memory used by property sheet page (Valgrind).
147 advapi32: Fix RegEnumValueW when enumerating long values.
150 dmband: Don't fake success on IDirectMusicUtils_IPersistStream_ParseReference.
151 dmime: Don't fake success on IDirectMusicUtils_IPersistStream_ParseReference.
152 ws2_32/tests: Add UDP select() test for unbound socket.
153 ws2_32: Trace accepted socket.
154 ws2_32: Add a helper to get socket type.
155 ws2_32: UDP sockets can write data even when unbound.
158 msvcp90: Set _Locimp vtable in _Locimp ctors (Valgrind).
160 Dmitry Timoshkov (1):
161 gdiplus: Implement GdipCreateRegionRgnData.
164 ntdll: Fix IOCTL_DVD_READ_STRUCTURE expected output size.
165 kernel32: Implement GetVolumePathName.
166 kernel32/tests: Convert GetVolumePathName tests into a list.
167 kernel32/tests: Add a bunch more GetVolumePathName tests.
168 kernel32: Handle semi-DOS paths in GetVolumePathName.
169 kernel32: Handle bogus DOS paths in GetVolumePathName.
170 kernel32: Handle device paths in GetVolumePathName.
173 winedbg: Avoid "uninitialized variable" compiler warning in types_extract_as_longlong.
174 oleaut32: Fix indentation in test_safearray.
177 qmgr: Use winhttp for HTTP transfers instead of wininet.
178 qmgr: Add a stub implementation of IBackgroundCopyJobHttpOptions.
179 qmgr: Implement IBackgroundCopyJobHttpOptions::SetSecurityFlags and IBackgroundCopyJobHttpOptions::GetSecurityFlags.
180 qmgr: Implement IBackgroundCopyJobHttpOptions::SetCustomHeaders and IBackgroundCopyJobHttpOptions::GetCustomHeaders.
181 qmgr: Implement IBackgroundCopyJob::SetCredentials and IBackgroundCopyJob::RemoveCredentials.
182 qmgr: Implement IBackgroundCopyJob::Cancel.
183 qmgr: Don't inline transitionJobState.
184 qmgr/tests: Add tests.
185 winhttp: Store credentials set with WinHttpSetCredentials separately from username and password set through options.
186 winhttp: Improve parsing of cookie values.
187 winhttp: Correctly handle relative redirect paths.
188 winhttp: Keep the session open in the request object.
189 advapi32/tests: Add tests to show that reading the SACL requires a special privilege.
190 winhttp/tests: Fix a test failure on win2k.
191 winhttp: Fix handling of the headers length parameter in WinHttpAddRequestHeaders and WinHttpSendRequest.
192 msi/tests: Fix test failures on win2k3.
193 msi: Open database cabinet streams through the streams implementation.
194 wbemprox: Fix some memory leaks (Coverity).
195 wbemprox: Implement Win32_OperatingSystem.Primary.
196 wbemprox: Implement Win32_Process.WorkingSetSize.
197 winhttp: Fix a couple of corner cases in header processing.
198 winhttp: Coalesce cookie headers.
199 winhttp: Perform a case sensitive match on cookie names.
200 winhttp: Store cookies in reverse order.
203 wined3d: Use surface_get_rect() in wined3d_surface_update_overlay().
204 wined3d: Implement SM4 discard in the GLSL shader backend.
205 d2d1: Fix the ID2D1Factory::CreatePathGeometry() declaration.
206 d2d1: Implement d2d_factory_CreatePathGeometry().
207 d2d1: Implement d2d_path_geometry_Open().
208 d2d1: Implement d2d_geometry_sink_AddLine().
209 d2d1: Implement d2d_geometry_sink_AddQuadraticBezier().
210 d2d1: Implement d2d_geometry_sink_AddBezier().
211 d2d1: Implement d2d_text_renderer_DrawGlyphRun().
212 d3d10core: Translate d3d10 usage to wined3d usage for buffers.
215 regsvr32: Move /i command line code to a separate function.
216 regsvr32: Convert if-else block to switch statement.
217 net: WriteFile should output the number of bytes in the char array, not the length of the WCHAR array.
218 regsvr32: Convert codebase to Unicode.
219 regsvr32: Add WriteFile fallback if WriteConsole fails.
220 regsvr32: Make Dll* exports WINAPI.
221 regsvr32: Clean up and update comments to reflect changes to the codebase.
223 Huw D. M. Davies (7):
224 oleaut32/tests: Add broken behaviour on Win 2003.
225 user32/tests: Add some optional messages for Win XP.
226 user32/tests: Try to fix the test failures on Win 2k.
227 gdi32/tests: Fix Courier test on Arabic locales.
228 gdi32/tests: Japanese Win 7 uses MS Shell Dlg as its default GUI font.
229 Revert "advapi32: Fix RegEnumValueW when enumerating long values.".
230 shell32/tests: Don't leave behind open explorer windows.
233 msvcirt: Add implementation of streambuf::sgetc.
234 msvcirt: Add implementation of streambuf::sputc.
235 msvcirt: Print error messages in unimplemented functions.
236 msvcirt: Add implementation of streambuf::xsgetn.
237 msvcirt: Add implementation of streambuf::xsputn.
238 msvcirt: Add implementation of streambuf::sgetn/sputn.
239 msvcirt: Add implementation of streambuf::snextc.
240 msvcirt: Add implementation of streambuf::sbumpc.
241 msvcirt: Add implementation of streambuf::stossc.
244 scrrun: Added IFile::put_Attributes imeplementation.
245 wininet: Get rid of no longer needed read_chunked field.
246 wininet: Don't pass BLOCKING_WAITALL to NETCON_recv in netconn_read.
247 secur32: Added support for a few more algorithms in schannel_get_cipher_algid.
248 secur32: Use gnutls_cipher_get_block_size to get cupher block size.
249 secur32: Fixed compilation on with gnutls.
250 secur32: Fixed compilation on very old gnutls versions.
251 mshtml: Use test.winehq.org over http in img_onload tests.
252 wininet: Get rid of unneeded MSG_WAITALL support in NETCON_recv.
253 wininet: Don't use blocking_mode_t in netconn.c.
254 mshtml: Added IHTMLXMLHttpRequest::onreadystatechange property implementation.
255 wininet: Call set_socket_blocking always and only when needed.
256 wininet: Cache blocking state in netconn_t.
257 urlmon/tests: Skip https tests on platforms that don't support them.
258 msscript.ocx: Added stub DLL.
259 msscript.ocx: Added typelib.
260 msscript.ocx: Added DLL registration implementation.
261 msscript.ocx: Added ScriptControl class factory.
264 winhlp32: Move Always on top to Options.
267 configure: Only check for libunwind.h on OS X.
268 dbghelp: Fix STABS support for 64-bit on OS X.
269 dbghelp: Eliminate an unnecessary parameter from macho_load_debug_info().
270 dbghelp: Fix a leak of the Mach-O module structure by adding a module_remove callback.
271 dbghelp: Enable enumerating and loading 64-bit Mach-O modules.
272 dbghelp: Remove the unused arch_size field of struct macho_file_map.
273 dbghelp: Use existing IMAGE_NO_MAP constant instead of redundant MACHO_NO_MAP.
274 dbghelp: Move the macho_file_map structure into image_file_map.
275 dbghelp: For Mach-O, keep the module file mapped for as long as the module is tracked.
276 dbghelp: Implement the image_private.h functions for Mach-O modules.
277 dbghelp: Add partial support for version 3 of DWARF CIEs which are generated by Clang/LLVM.
278 dbghelp: Parse the DWARF information in Mach-O modules.
281 shlwapi: Add missing braces (Coverity).
282 oledb32: Free memory on error exit (Coverity).
283 kernel32: GetCurrentDirectoryW gets characters, not bytes.
286 wined3d: Handle per-vertex point size in the GLSL FFP replacement.
287 wined3d: Cleanup and simplify texture sampling code generation.
288 wined3d: Drop WINED3D_RS_TEXTUREPERSPECTIVE handling.
289 wined3d: Make use of the EXT_BLEND_SUBTRACT flag.
290 d3dcompiler: Handle redefining an intrinsic function as a user-defined function.
291 d3dcompiler: Handle writemask in make_assignment().
292 d3dcompiler: Parse ": register()" syntax.
293 wined3d: Drop unused gl_info parameter from shader_glsl_ffp_vertex_lighting().
294 wined3d: Don't flag WINED3D_SHADER_CONST_FFP_PROJ on transformed <-> untransformed vdecl change.
297 wininet: Use random names when caching very long urls.
298 advapi32/tests: Add tests for GetWindowsAccountDomainSid.
299 advapi32: Add initial implementation for GetWindowsAccountDomainSid.
300 fltlib: Add stub for FilterLoad.
301 wininet/tests: Add tests for overriding host header.
302 rpcrt4: Fix arguments of HttpAddRequestHeaders.
303 wininet: Fix arguments of HttpAddRequestHeaders.
305 Michael Stefaniuc (25):
306 dmband: Pass the object instead of the iface to helpers.
307 dmband: Use the generic DirectMusicObject implementation for DMBand.
308 dmband/tests: Add IPersistStream tests for DMBandTrack.
309 dmcompos/tests: Add IPersistStream tests for DM*Track.
310 dmime: Pass objects instead of ifaces to helpers.
311 dmime: Remove unused arguments from helper functions.
312 dmime: Use the generic DirectMusicObject implementation for DMSegment.
313 dmime: Use the generic DMObject implementation for DMAudioPathConfig.
314 dmime: Get rid of the extra pointer to a DMUS_OBJECTDESC.
315 dmime: Use the generic DMObject implementation for DMGraph.
316 dmime/tests: Add IPersistStream tests for DM*Track.
317 dmstyle/tests: Add IPersistStream tests for DM*Track.
318 dmband: IsParamSupported method doesn't crashes on NULL.
319 dmband: Implement the E_NOTIMPL methods of IDirectMusicTrack8.
320 dmband/tests: Add some basic IDirectMusicTrack8 tests.
321 dmcompos: IsParamSupported of DMChordMapTrack doesn't crashes on NULL.
322 dmcompos: Implement the E_NOTIMPL methods of IDirectMusicTrack8.
323 dmcompos/tests: Add some basic IDirectMusicTrack8 tests.
324 dmcompos: Move struct definitions to the files that need them.
325 dmime: Move struct definitions to the files that need them.
326 dmband: Pass objects instead of ifaces to helpers.
327 dmband: COM cleanup for IDirectMusicTrack8.
328 dmband: Remove the extraneous IUnknown from DMBandTrack.
329 dmband: Use the generic IPersistStream implementation from dmobject.
330 dmstyle: IsParamSupported method doesn't crashes on NULL.
332 Mohamed Mediouni (1):
333 ntdll: Multiply r4 with the word size in ARM for __chkstk.
336 regedit: Make it possible for save/restore position on tree root.
337 msxml3: Handle SafeArrayAccessData() failure in load() (Coverity).
338 dwrite/tests: Test to show that GetCurrentTransform/GetPixelsPerDip are not really used from Draw().
339 dwrite: Fix splitted range length, initial test for GetMetrics().
340 dwrite: Check format directions in CreateEllipsisTrimmingSign().
341 dwrite: Initial implementation of Draw() for trimming sign.
342 dwrite: Call GetCount() once when looking for family name.
343 dwrite: Fix the way drawing effects are reported for inline objects.
344 ole32: Marshal HDC as remotable handle.
345 ole32: Marshal HICON as remotable handle.
346 dwrite: Validate format property values.
347 ole32: Marshal HBRUSH as remotable handle.
348 oleaut32/tests: Test that user memory functions are not called.
349 riched20: Improve tracing for unimplemented range methods.
350 riched20: Implement Expand for tomStory case.
351 riched20/tests: Some more EM_SETSEL tests.
352 riched20/tests: Remove explicit todo flag values from static test data.
353 ole32: Fix a typo in argument name.
354 dwrite/tests: Initial test for GetLineMetrics().
355 dwrite/tests: Initial test for GetBaseline().
356 riched20: Improve tracing for unimplemented selection methods.
357 comctl32/monthcal: Fix title to use properly localized year/month format.
358 dwrite: Set cluster length together with other metrics.
359 dwrite: Actually set isWhitespace for space clusters.
360 dwrite: Count last cluster length too when building a line.
361 kernel32: Export RtlCopyMemory().
362 ole32/tests: Fix source buffer leak (Valgrind).
363 amstream: Get rid of some casts by using proper iface types.
364 amstream/tests: Get rid of global stream pointer that we don't really need.
365 amstream: Release pins and streams array on instance release (Valgrind).
366 gdi32/freetype: Properly handle loading of FT_Long-sized types (Valgrind).
367 ieframe/tests: Fix some leaks (Valgrind).
368 oleaut32/tests: Fix stub buffer leak (Valgrind).
369 dwrite: Forward GetRecommendedRenderingMode() to newer method.
370 dwrite: Store character spacing layout settings.
371 quartz/tests: Get rid of some casts.
372 dwrite: Set line baseline/height from font metrics.
373 dwrite/tests: Show that line baseline is relative to this line.
374 dwrite: Set baseline origin Y for reported runs.
375 dwrite: Call SetFillMode() once per run.
376 amstream: Implement IDirectDrawStreamSample_GetSurface().
377 amstream: Keep stream reference when creating sample.
378 amstream: Implement GetDirectDraw().
379 amstream: Forward IUnknown methods to IAMMediaStream for streams.
380 qmgr: Simplify string duplication using a helper.
381 qmgr: Simplify GetProgress() with a structure copy.
382 amstream: Create a surface if it wasn't provided in CreateSample().
383 dmsynth: Cleanup IDirectMusicSynth8 creation helper.
384 dwrite: Properly reduce glyph count of effective run.
385 dwrite: Fix clustermap shifting for effective run.
387 Olivier F. R. Dierick (1):
388 kernel32: Implement SetFileCompletionNotificationModes as a stub.
391 msvcrt: Open console input handle with write permission so SetConsoleMode can work on it.
392 msvcp60: Sync spec files.
393 msvcrt: Write directly to the console in _putwch.
394 msvcrt: Fix return value of _cputs.
395 msvcrt: Fix return value of cputws.
396 msvcrt: Add _getwch implementation.
397 msvcrt: Add _getwche implementation.
398 msvcrt: Add _ungetwch implementation.
399 msvcr120: Add ___lc_locale_name_func implementation.
400 msvcp110: Use ___lc_locale_name_func in _Getctype.
401 msvcp110: Use ___lc_locale_name_func in _Getdateorder.
402 msvcp110: Fix _Collvec structure layout.
403 wininet: Improve handling of long URLs in CreateUrlCacheEntry function.
404 msvcr110: Add __crtGetLocaleInfoEx implementation.
405 msvcrt: Cache locale string to LCID conversion results.
408 include: Remove duplicate macro definition in shellapi.h.
409 winemenubuilder: Fix copy and paste error.
411 Sebastian Lackner (14):
412 server: Delay destruction of file object in set_irp_result.
413 ntoskrnl: Add initial code to emulate memory access to USER_SHARED_DATA on x86_64.
414 ntoskrnl: Add emulation for 'mov Ob, AL' and 'mov Ovqp, rAX' instruction.
415 ntoskrnl: Add emulation for 'movzx {Eb,Ew}, Gv' instruction.
416 kernel32/tests: Add a lot of picky GetVolumePathName tests.
417 kernel32/tests: Add GetVolumePathNameW tests.
418 ntoskrnl: Use SIZE_T to store 64-bit offset to USER_SHARED_DATA page.
419 advapi32/tests: Explicitly check return value of GetTokenInformation.
420 windowscodecs/tests: Fix test condition which is always true.
421 windowscodecs: Distinguish interface pointer and implementation pointer.
422 qcap: Distinguish interface pointer and implementation pointer for base filter.
423 quartz: Distinguish interface pointer and implementation pointer in multiple interfaces.
424 ntdll: NtMapViewOfSection should fail if both addr_ptr and zero_bits is set.
425 ntdll: Implement support for AT_ROUND_TO_PAGE flag in NtMapViewOfSection.
428 dimm.idl: Add IActiveIMMMessagePumpOwner.
429 msimtf: Add stub implementation for IActiveIMMMessagePumpOwner.
432 cmd: Fix invalid memory access.
433 cmd: Fix invalid "else if" execution.
436 msvcp110: Add tr2_sys__File_size implementation and test.
437 msvcp110: Add tr2_sys__Equivalent implementation and test.
438 msvcp110: Add tr2_sys__Current_get implementation and test.
439 msvcp110: Add tr2_sys__Current_set implementation and test.
440 msvcp110: Add tr2_sys__Make_dir implementation and test.
441 msvcp110: Add tr2_sys__Remove_dir implementation and test.
444 mshtml/tests: Added IHTMLXMLHttpRequest tests.