1 The Wine development release 1.7.40 is now available.
3 What's new in this release (see below for details):
4 - Support for kernel job objects.
5 - Various fixes to the ListView control.
6 - Better support for OOB data in Windows Sockets.
7 - Support for DIB images in the OLE data cache.
8 - Improved support for MSI patches.
9 - Some fixes for ACL file permissions.
12 The source is available from the following locations:
14 http://prdownloads.sourceforge.net/wine/wine-1.7.40.tar.bz2
15 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.40.tar.bz2
17 Binary packages for various distributions will be available from:
19 http://www.winehq.org/download
21 You will find documentation on http://www.winehq.org/documentation
23 You can also get the current source directly from the git
24 repository. Check http://www.winehq.org/git for details.
26 Wine is available thanks to the work of many people. See the file
27 AUTHORS in the distribution for the complete list.
29 ----------------------------------------------------------------
31 Bugs fixed in 1.7.40 (total 29):
33 19231 Trine Demo fails to start without native d3dx9_36
34 21433 InqScribe: Installed fine, but no output or UI response when running installed app
35 22139 CDBurnerXP 3.0.x produces a "fail" message after choosing a mode
36 26223 Multiple apps and games need wmvcore.dll.WMCreateReader implementation (Nail'd demo)
37 26748 World Series of Poker crashes when starting up a game
38 30648 SEGA Genesis / Mega Drive Classic Collection (Steam) crashes on startup
39 30723 Playchess listview control is broken
40 31579 Microsoft Visio 2007-2010 crashes on exit (unload of msctf component with ThreadMgr/CBT hook still alive)
41 32361 epson stylus t13 installer problem: wine: Unimplemented function setupx.dll16.DiOpenClassRegKey
42 33164 row-resize / col-resize cursor is wrong (Listview)
43 34254 Wine64 seh:RtlUnwindEx error with c++ exception handling
44 35135 Air Video Server HD 1.x crashes on startup (NULL SERVER_INFO_101.sv101_comment returned from NetServerGetInfo)
45 36133 valgrind shows some leaks in gdiplus/tests/image.c
46 36190 comdlg32/itemdlg shows a ton of valgrind warnings
47 36305 valgrind shows a possible leak in netapi32/tests/access.c
48 36332 Total Commander 8.x: moving files between folders renders them inaccessible (SetNamedSecurityInfo)
49 36656 valgrind shows an unintialized write in comdlg32/tests/itemdlg.c
50 36709 Multiple applications/games from Windows 7 need slc.SLGetWindowsInformationDWORD semi-stub/implementation
51 36842 Can't set a static crontrol's text to empty by passing NULL pointer
52 37731 Montezuma's Revenge Remake fails with fatal error when quitting the game
53 37960 Paint.NET 4.0.5 does not install: unimplemented function KERNEL32.dll.QueryThreadCycleTime
54 38205 Unreal Tournament 3 Black Edition installer fails after the language selection
55 38238 user32:input right-clicks outside its windows
56 38248 Worms World Party (w/SetCooperativeLevel workaround/hacks) and older versions of Worms Armageddon black screen on startup
57 38256 Myst Online Uru Live: too dark/missing textures
58 38261 Playchess doesn't install anymore
59 38282 Header control fails to update/synchronize listview when columns order changes
60 38288 Wrong pointer in icnsformat.c IcnsFrameEncode_WriteSource
61 38317 winetricks xna31 fails
63 ----------------------------------------------------------------
67 Aaryaman Vasishta (1):
68 d3drm: Fix hard-coded HRESULT return in Direct3DRMFrame_create.
70 Alexandre Julliard (11):
71 server: Fix the string type in traces for I/O completion names.
72 dsound: Fix an error return code.
73 server: Post a notification to the desktop window when a top-level window is destroyed.
74 explorer: Cleanup system tray icons when their owner is destroyed instead of polling.
75 winex11: Cleanup system tray icons when their owner is destroyed instead of polling.
76 user32: Remove left-over freeing of the edit text with ES_PASSWORD.
77 comctl32: Print full flag values in traces.
78 msacm32: Print full flag values in traces.
79 riched20/tests: Print full flag values in traces.
80 user32/tests: Print full flag values in traces.
81 winmm: Print full flag values in traces.
83 Alistair Leslie-Hughes (2):
84 odbccp32: Implement SQLWritePrivateProfileStringA/W.
85 msctf: Always return FALSE in DllCanUnloadNow.
88 kernel32/tests: Add tests for IsProcessInJob.
89 kernel32/tests: Add tests for TerminateJobObject.
90 kernel32/tests: Add tests for QueryInformationJobObject.
91 kernel32/tests: Add tests for job object completion ports.
92 kernel32/tests: Add tests for JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE.
93 kernel32/tests: Add tests for JOB_OBJECT_LIMIT_BREAKAWAY_OK.
94 kernel32/tests: Add tests for job inheritance.
95 kernel32/tests: Extend IsProcessInJob tests.
96 server: Implement CreateJobObject.
97 server: Implement AssignProcessToJobObject.
98 server: Implement IsProcessInJob.
99 server: Implement job limit flags.
100 server: Implement job inheritance.
101 server: Implement io completion messages for job objects.
102 server: Track handle count of objects.
105 oleaut32: Allow typelib filenames longer than MAX_PATH.
106 wineoss.drv: Don't skip over position updates of less than one fragment.
109 d3dx9_36: Assorted spelling and typos fixes.
112 include: Add more header guards.
113 ntdll: Add support for FreeBSD on ARM.
114 ntdll: Fix CPU level on ARM.
115 ntdll: Get available CPU info from FreeBSD on ARM.
116 loader: Run checks also on ARM Linux.
119 wineqtdecoder: Unload the AsyncReader on movie processing failure.
120 winmm: sndPlaySound can play resource sounds.
123 kernel32: Add a stub for QueryThreadCycleTime.
124 include: Add initial mfapi.h.
127 netapi32/tests: Fix a memory leak (Valgrind).
128 netapi32: Return an empty comment instead of NULL pointer in NetServerGetInfo.
129 winmm/tests: Add a basic joystick interactive test.
130 ws2_32: Don't try to receive data in an OOB_INLINED socket with MSG_OOB.
131 ws2_32: Convert send/recv flags to native system.
132 ws2_32: Add a helper to check if a socket is bound or not.
133 ws2_32: Ensure sockets in exceptfds get set when an error occurs.
134 ws2_32: Do not poll unbound descriptors.
135 ws2_32: Check for OOB data in select() calls when not OOB_INLINED.
136 ws2_32/tests: Add more WSAEnumNetworkEvents tests.
137 ws2_32/tests: Skip part of OOB test to unfreeze NT4 test.
138 ws2_32: Fix return value when receiving with MSG_OOB without data to read.
139 ws2_32: Better trace setsockopt/getsockopt.
141 Christoph von Wittich (2):
142 riched20: EM_SETSEL should not return 0.
143 riched20: Handle SCF_WORD.
146 comdlg32: Only attempt to update the layout if the dialog window exists.
149 configure: Recognise host starting in 'amd64'.
150 configure: Explicitly set host_cpu for 'amd64'.
152 Dmitry Timoshkov (1):
153 shell32: Update version information to match XP values.
156 advapi32/tests: Add tests for inheriting ACL attributes.
158 François Gouget (40):
159 taskschd: Remove an unneeded NONAMELESSUNION directive.
160 storage.dll16: Remove an unneeded NONAMELESSSTRUCT directive.
161 system.drv16: Remove an unneeded NONAMELESSSTRUCT directive.
162 toolhelp.dll16: Remove unneeded NONAMELESSXXX directives.
163 twain_32: Remove unneeded NONAMELESSXXX directives.
164 msctf: Mark internal symbols with hidden visibility.
165 msi: Mark internal symbols with hidden visibility.
166 msxml3: Mark internal symbols with hidden visibility.
167 ddraw/tests: Fix compilation on systems that don't support nameless unions.
168 urlmon: Remove unneeded NONAMELESSXXX directives.
169 wineoss.drv: Remove an uneeded NONAMELESSUNION directive.
170 usbd.sys: Remove an unneeded NONAMELESSSTRUCT directive.
171 user32: Remove an unneeded NONAMELESSSTRUCT directive.
172 windowscodecs: Remove unneeded NONAMELESSXXX directives.
173 mshtml: Mark internal symbols with hidden visibility.
174 oleaut32: Mark internal symbols with hidden visibility.
175 opengl32: Mark internal symbols with hidden visibility.
176 riched20: Mark internal symbols with hidden visibility.
177 winex11.drv: Remove unneeded NONAMELESSXXX directives.
178 wininet: Remove an unneeded NONAMELESSSTRUCT directive.
179 winspool.drv: Remove unneeded NONAMELESSXXX directives.
180 winmm: Remove unneeded NONAMELESSSTRUCT directives.
181 explorer: Remove an uneeded NONAMELESSUNION directive.
182 secur32: Mark internal symbols with hidden visibility.
183 sxs: Mark internal symbols with hidden visibility.
184 user32: Mark internal symbols with hidden visibility.
185 wbemprox: Mark internal symbols with hidden visibility.
186 winedbg: Remove unneeded NONAMELESSXXX directives.
187 rpcss: Remove unneeded NONAMELESSXXX directives.
188 regedit: Remove an unneeded NONAMELESSSTRUCT directive.
189 winecfg: Remove unneeded NONAMELESSXXX directives.
190 wineconsole: Remove an unneeded NONAMELESSSTRUCT directive.
191 wineps.drv: Mark internal symbols with hidden visibility.
192 wininet; Mark internal symbols with hidden visibility.
193 wmp: Mark internal symbols with hidden visibility.
194 shell32: Point the 'My Documents' symbolic link to the XDG or OS X 'Documents' folder if they exist.
195 widl: Remove unneeded NONAMELESSXXX directives.
196 winedump: Remove unneeded NONAMELESSXXX directives.
197 winhlp32: Remove an unneeded NONAMELESSSTRUCT directive.
198 winefile: Remove an unneeded NONAMELESSUNION directive.
200 Frédéric Delanoy (1):
201 Assorted spelling/grammar fixes.
204 msi: Fall back to the database summary information stream in MSI_OpenPackageW.
205 msi: Avoid allocating a database handle only to retrieve the summary information.
206 msi: Use the last sequence number specified for patch media when updating media records.
207 msi: Check the component enabled flag earlier.
208 msi: Skip files from the original media if a patch is applied.
209 msi: Check file state before installing global assemblies.
210 msi: Import mspatcha instead of loading it dynamically.
211 msi: Store the disk id for file patches.
212 msi: Don't apply file patches in the cabinet extraction callback.
213 msi: Don't mark global assembly files as installed when they are extracted.
214 msi: Clean up handling of temporary files.
215 msi: Get rid of global variables the cabinet extraction callbacks.
216 wbemprox: Make sure to allocate sufficient memory in resize_table.
217 wbemprox: Fix a memory leak.
218 wbemprox: Implement more properties of Win32_Processor.
219 wbemprox: Implement more properties of Win32_VideoController.
220 wbemprox: Add a partial implementation of Win32_Printer.
223 wined3d: Store shader output signatures as a wined3d_shader_signature structure.
224 wined3d: Store shader input signatures as a wined3d_shader_signature structure.
225 wined3d: Merge some common shader initialization code into shader_init().
226 wined3d: Take the input slot into account when handling WINED3D_APPEND_ALIGNED_ELEMENT.
227 d3d10core: Also pass unused input layout elements to wined3d.
228 wined3d: Implement d3d10 style instance data step rates.
229 wined3d: Use the "sysval_semantic" field instead of "semantic_name" to recognize SV_POSITION.
230 wined3d: Add support for SV_InstanceID.
231 d3d10core: Implement d3d10_device_DrawInstanced().
232 d3d10core/tests: Add a test for D3D10_APPEND_ALIGNED_ELEMENT.
233 d2d1: Properly take the source offset into account in d2d_d3d_render_target_DrawBitmap().
234 d2d1: Implement d2d_state_block_GetTextRenderingParams().
235 d2d1: Implement d2d_state_block_SetTextRenderingParams().
236 d2d1: Implement d2d_state_block_GetDescription().
237 d2d1: Implement d2d_state_block_SetDescription().
238 d2d1: Implement d2d_d3d_render_target_GetFactory().
239 d2d1: Implement d2d_d3d_render_target_SetTextRenderingParams().
240 d2d1: Implement d2d_d3d_render_target_GetTextRenderingParams().
241 d2d1: Implement d2d_d3d_render_target_SetAntialiasMode().
242 d2d1: Implement d2d_d3d_render_target_GetAntialiasMode().
243 d2d1: Implement d2d_d3d_render_target_SetTextAntialiasMode().
244 d2d1: Implement d2d_d3d_render_target_GetTextAntialiasMode().
245 d2d1: Implement d2d_d3d_render_target_SetTags().
246 d2d1: Implement d2d_d3d_render_target_GetTags().
247 d2d1: Use a D2D1_DRAWING_STATE_DESCRIPTION structure to store render target drawing state.
248 d2d1: Implement d2d_d3d_render_target_SaveDrawingState().
249 d2d1: Implement d2d_d3d_render_target_RestoreDrawingState().
250 d2d1/tests: Add a test for ID2D1DrawingStateBlock.
251 d2d1: Do not multiply color brush RGB values with the brush opacity.
252 wined3d: Add support for half-integer pixel centers.
253 d2d1/tests: Add a test for color brushes.
254 wined3d: Take WINED3D_PIXEL_CENTER_INTEGER into account when calculating vpos.
255 wined3d: Use GLSL 1.30 for SM4 shaders when available.
256 d3d10core/tests: Port the d3d9 vPos test to d3d10.
257 d2d1: Fix a typo in the determinant calculation in d2d_d3d_render_target_FillRectangle().
260 netstat: Fix incorrect comment.
261 attrib: Fix incorrect comment.
263 Huw D. M. Davies (10):
264 ole32: Read the class id from the top-level storage object.
265 ole32: A cache entry should hold the stream its data is from, not the top-level storage.
266 ole32: Split the data loading into a couple of helpers.
267 ole32: Add support for parsing the 'CONTENTS' stream.
268 ole32: Separate metafile loading into a helper function.
269 ole32: Add support for loading dibs.
270 ole32: Add support for retrieving extents of dib format.
271 ole32: Add support for drawing the dib format.
272 ole32: Implement QueryGetData().
273 ole32/tests: Add tests for loading a dib 'CONTENTS' stream.
276 mshtml.idl: Added IHTMLSelectionObject2 declaration.
277 mshtml: Added IHTMLSelectionObject2 stub implementation.
278 dxgi.idl: Added DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL declaration.
279 d3d11_1.idl: Added some missing declarations.
280 dxgi1_2.idl: Added IDXGIFactory2 declaration.
281 wininet: Pass timeout as DWORD in setsockopt calls.
282 d3d11sdklayers.idl: Added ID3D11Debug declaration.
283 dxgi1_2.idl: Added IDXGIAdapter2 declaration.
284 d3d11.idl: Added D3D11_FEATURE_DATA_D3D11_OPTIONS declaration.
285 d3d11_1.idl: Fixed ClearView argument (missing const).
286 wmsdkidl.idl: Added IWMReaderAdvanced* declarations.
289 winex11.drv: Fix row-resize/col-resize mapping to X cursor.
292 winmm: For Mac, fix joyGetPosEx() to put number of buttons pressed in dwButtonNumber field.
293 winemac: Allow the user to attempt to resize a maximized window and try to restore it if they do.
294 winemac: Restore a maximized window if a user tries to move it by dragging its title bar.
295 winemac: Cleanup system tray icons when their owner is destroyed instead of polling.
298 comctl32: Use correct font for themed headers.
299 ntdll: Treat strings as case-insensitive in find_window_class.
300 comctl32: Redraw themed button on WM_ENABLE.
301 winecfg: Style updown control with UDS_ALIGNRIGHT.
302 winecfg: Add manifest.
305 wined3d: Use a separate STATE_VIEWPORT state handler in the GLSL pipeline.
306 wined3d: Introduce a get_projection_matrix() function.
307 wined3d: Introduce a get_texture_matrix() function.
308 wined3d: Don't use the builtin FFP uniform for the normal matrix.
309 d3d9/tests: Add more lighting tests.
310 d3d8/tests: Add more lighting tests.
311 wined3d: Don't use the builtin FFP uniform for the projection matrix.
312 ddraw: D3DLIGHT lights default to active.
313 ddraw: Make sure AddLight properly activates lights.
314 ddraw: Make sure to activate / deactivate the light on D3DLIGHT_ACTIVE flag changes.
315 ddraw: D3DRENDERSTATE_NORMALIZENORMALS doesn't exist before d3d7.
316 ddraw: Enable WINED3D_RS_NORMALIZENORMALS on d3d versions older than d3d7.
319 netprofm: Add stubbed IConnectionPoint interface.
320 netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint.
321 ntdll: Define a couple more information classes.
322 kernel32/tests: Add tests for GetFinalPathNameByHandleA/W.
324 Michael Stefaniuc (15):
325 mscoree: Use SUCCEEDED instead of !FAILED.
326 taskschd: Print the debug string instead of the pointer value.
327 mshtml: Print the debug string instead of the pointer value.
328 qcap: Print the debug string instead of the pointer value.
329 scrrun: Print the debug string instead of the pointer value.
330 schedsvc: Drop WINE_ prefix from ERR().
331 fntcache: Drop WINE_ prefix from FIXME/TRACE.
332 taskschd/tests: Test the correct return value.
333 mshtml/tests: Actually test the return of IHTMLTable_get_width().
334 windowscodecs/tests: Actually test the return of IWICBitmap_GetSize().
335 winhttp/tests: Test the correct return code.
336 d3drm/tests: Test the correct return code.
337 wmp: Forward from a Release to a Release method.
338 gdiplus: The result of a comparison is already a BOOL.
339 winealsa.drv: The result of a comparison is already a BOOL.
342 comctl32/listview: Update view on style change only if LVS_TYPEMASK styles have changed.
343 user32/static: Allow setting NULL text.
344 scrrun: Added support for interface pointers as keys for dictionary.
345 scrrun: Added support for VT_DATE keys, and BYREF float key types.
346 scrrun: Support BYREF types for integer keys.
347 comctl32/tooltips: Allow NULL hinst value when fetching text from resources.
348 ole32: Return interface pointers instead of impl pointers from QI.
349 ole32/tests: Return interface pointer instead of impl pointer from QI.
350 msi: Return interface pointer instead of impl pointer.
351 dwrite: Forward IDWriteTextLayout::GetMetrics() to IDWriteTextLayout2::GetMetrics().
352 comctl32: Claim success in InitializeFlatSB().
353 comctl32/tests: Listview doesn't subclass its header.
354 taskmgr: Simplify setting extended style for a list.
355 rpcrt4/tests: Use status definitions instead of numeric values.
356 rpcrt4: Fix RpcMgmtStopServerListening() return value when we're not listening.
357 po: Corrected Russian translation.
358 dwrite: Pass sideways run flag to shaping methods.
359 comctl32/listview: Fix item focus rectangle to use proper label/selection bounds.
360 comctl32/listview: Fix focus rectangle for LVS_EX_FULLROWSELECT case.
361 comctl32/listview: Fix scrolling in LV_VIEW_DETAILS view.
362 comctl32/listview: Always forward LVM_GETCOLUMNORDERARRAY to header.
363 comctl32/listview: Remove outdated TODO comment.
364 dwrite: Initial implementation of DetermineMinWidth().
365 dwrite: Return CreateStreamFromKey() failure code from Analyze().
366 comctl32/listview: Support header item image/bitmap in LVSCW_AUTOSIZE_USEHEADER case.
367 comctl32/listview: Use defined name instead of magic value.
368 comctl32/listview: Always forward HDM_SETORDERARRAY to a header.
369 taskmgr: Set column order through listview.
370 comctl32/dsa: Implement DSA_Clone().
371 comctl32/dsa: Implement DSA_GetSize().
372 dwrite: Update to IDWriteRenderingParams2.
373 wincodecs: Use valid bitmap cache option.
374 msxml3: Explicitly list acceptable libxml2->msxml node types for unknode.
375 comctl32/tests: Fix couple of metrics tests that fail on some systems.
376 dwrite: Fix cluster width and length calculation.
378 Pierre Schweitzer (3):
379 setupapi: Implement SetupOpenLog(), SetupCloseLog().
380 setupapi: Implement SetupLogErrorA(), SetupLogErrorW().
381 setupapi/tests: Add tests for the SetupOpenLog(), SetupLogErrorA(), SetupCloseLog() functions.
384 oleacc: Added Client_get_accChild implementation.
385 oleacc: Added client IEnumVARIANT stub.
386 oleacc: Added window IEnumVARIANT stub.
387 oleacc: Added client IEnumVARIANT::{Reset,Skip,Next} implementation.
388 oleacc: Added client IEnumVARIANT tests.
389 oleacc: Added AccessibleChildren implementation.
390 oleacc: Added AccessibleChildren tests.
391 msvcrt/tests: Add atan, tanh and exp tests on invalid arguments.
392 msvcrt: Fix NAN handling in printf.
393 msvcrt/tests: Use NAN and INFINITY definitions from port.h in printf tests.
394 user32/tests: Don't send mouse clicks to other process windows in input tests.
395 msvcp90/tests: Use NAN and INFINITY definitions from port.h in Ctraits::_Isnan tests.
396 advapi: Don't use CreateFile when opening file with possibly empty DACL.
397 server: Make directory DACL entries inheritable.
398 advapi32: Add SetNamedSecurityInfo test with empty DACL.
399 advapi32/tests: Add test for mapping DACL to permission.
400 advapi32: Add DACL inheritance support in SetSecurityInfo.
401 ntdll: Improve parameter validation in RtlAddAce.
402 server: Fix DACL to permissions conversion.
403 msvcr120: Add some missing exports on i386 architecture.
404 advapi32: Handle NULL DACL in SetSecurityInfo.
406 Sebastian Lackner (12):
407 gdiplus: Add missing returns in initialize_decoder_wic (Coverity).
408 user32: Use C_ASSERT to ensure user_thread_info fits into TEB->Win32ClientInfo.
409 browseui: Avoid race-conditions when progress dialog is released before thread terminates.
410 ntoskrnl: Emulate 'mov Eb, Gb' instruction on x86 processor architecture.
411 wiaservc: Return pointer to vtbl instead of implementation in wiadevmgr_Constructor.
412 kernel32/tests: Allow multiple subprocess commands in process tests.
413 kernel32/tests: Add tests for adding a terminated process to a job object.
414 advapi32/tests: Repeat ACL inheritance tests for NtCreateFile.
415 advapi32/tests: Add tests for NtCreateFile inheritance when security descriptor is set.
416 advapi32/tests: Merge common code to test DACL descriptors in a helper function.
417 advapi32/tests: Add tests for CreateFile with set security descriptor.
418 ntdll: Fix various bugs RtlUnwindEx on x86_64.
421 windowscodecs: Fix wrong pointer to formal parameter.
424 vbscript: Implemented Oct.
427 Stefan Dösinger (15):
428 ddraw: Update the palette before presents to the NULL window.
429 ddraw/tests: The testbot applies color keying without a key.
430 ddraw/tests: Correct executebuffer offsets.
431 wined3d: Improve color fixups in atifs shaders.
432 wined3d: Check for conversion changes in the atifs fragment pipeline.
433 wined3d: Add per-context private data for fragment pipelines.
434 wined3d: Avoid constant collision in atifs.
435 ddraw/tests: Make sure color keying is on in test_texturemapblend.
436 ddraw/tests: Port test_color_fill to earlier versions.
437 wined3d: Implement per stage constants in atifs.
438 wined3d: Give tex_type and its values a better name.
439 wined3d: Pass a wined3d_ffp_texture_type enum to blit shader functions.
440 wined3d: Use bitfields in struct arbfp_blit_type.
441 wined3d: Pass a struct arbfp_blit_type to the blit shader generation functions.
442 wined3d: Define a constant for the blit texture size parameter.
445 wscript: Correctly use CommandLineToArgvW.
446 gdi32: Avoid uninitialized variable use in EnumEnhMetaFile (MSVC).
447 setupapi/tests: Avoid side-effect in an assert.
448 user32/tests: Avoid side-effect in an assert.
449 winegstreamer: Avoid side-effects in asserts.
452 gdiplus: Fonts in UnitWorld shouldn't be scaled to the page unit.
453 gdiplus: Apply page scale to pen thickness.
454 gdiplus: Handle large input rect in GdipMeasureCharacterRanges.
455 gdiplus: Fix blend_colors when alpha channel differs.
456 mscoree: Remove the runtime version selection logic and just use 4.0.
457 gdiplus: Add support for reading PNG tEXt metadata.
458 windowscodecs: Implement PngDecoder_Block_GetCount.
459 windowscodecs: Implement PngDecoder_Block_GetReaderByIndex.
462 msvcrt: Correct atan/exp/tanh errno setting.
463 msvcrt: Fix _copysign bugs for NAN/INF.