ntdll: Validate SecurityCookie pointer before accessing cookie value.
[wine.git] / ANNOUNCE
blob706ba6ecfeb0b8e61a44cd73b2b91a9c53a407dc
1 The Wine development release 1.7.48 is now available.
3 What's new in this release (see below for details):
4   - Fleshed out OpenMP implementation.
5   - I/O stream support in the MSVCIRT C++ runtime.
6   - Support for pixel snapping in DirectWrite.
7   - More support for OpenGL core contexts.
8   - Various bug fixes.
10 The source is available from the following locations:
12   http://prdownloads.sourceforge.net/wine/wine-1.7.48.tar.bz2
13   http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.48.tar.bz2
15 Binary packages for various distributions will be available from:
17   http://www.winehq.org/download
19 You will find documentation on http://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check http://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 1.7.48 (total 39):
31   11059  Sid Meier's Railroads Demo crashes on startup
32   16519  EssentialPIM: Bold text not rendering correctly
33   17506  Achtung die Kurve: Game doesn't start
34   18191  Notepad corrupts files saved as utf-8 without a byte order mark (BOM)
35   19289  Gtk+/Pango based applications have ugly font rendering or crash on startup
36   19666  Multiple applications start wrong executable if whitespace present in name ('ShellExecute' doesn't quote executable name)(FoxitReader 3.0, GTA2 Manager)
37   22399  Quake III Arena installer: Text area is scrolled at the bottom, and all text is selected
38   26439  Chernobyl terrorist attack demo crashes on start
39   27238  Tesla: The Weather Man demo: movement keys not working (GetKeyState should fallback to GetAsyncKeyState for threads without message queue)
40   31063  Crash bug after finishing conversion in FormatFactory
41   31643  Multiple games and applications crash on unimplemented function vcomp.dll._vcomp_fork (Gothic 3 demo, NeXTA)
42   31984  Multiple games need d3dx9_36.dll.D3DXComputeTangentFrameEx (Starlaxis, Chernobyl Terrorist Attack Demo, The Endless Forest 3)
43   32227  P2kCommander v6.0.0 crashes on startup (Wine's ungif reports app .gif image as broken)
44   33153  DirectX11 games need d3d11.dll.D3D11CreateDeviceAndSwapChain (ARMA III Alpha, Strike Suit Zero, Stalker CoP, Perspective)
45   33989  iexplore.exe crash when logging in to www.roblox.com
46   34356  Multiple applications fail to install or crash on startup due gdiplus enumeration/query failure for GIF encoder support (Magnus 2011 translation dictionaries, Collectorz.com Movie Collector v9.x)
47   34939  Dragon NaturallySpeaking does not run in 64-bit version
48   34947  Creo Elements/Direct Modeling Express 4.0 InstallShield based installer shows oversized "installation completed" setup wizard window
49   35493  IMVU shows loading bar, but will not start.
50   35534  Oblivion: very loud/distorted/horrible collision sounds
51   36336  NaturallySpeaking doesn't work with alsa or pasuspender
52   36966  Turkey - Europe/Istanbul timezone is not detected
53   37129  Clang Static Analyzer: Buffer overflow
54   37281  Lord of The Rings Online: Crashes
55   37449  Lexware Quicken 2014 Deluxe reports error 0x0000054f on startup (Promon Shield DRM needs RtlDecompressBuffer with COMPRESSION_FORMAT_LZNT1 support)
56   38027  HyperStudio 5 (.NET 4.0 app) fails to start, reports 'tiff_get_decode_info unhandled grayscale sample count 2'
57   38697  wineconsole: Cannot enable or disable Insert Mode through user dialog
58   38712  win-key press incorrectly recognized
59   38735  Windows Performance Analyzer from Windows SDK 8.1 Windows Performance Toolkit crashes due to 'IDWriteFontFace::GetGdiCompatibleGlyphMetrics' stub
60   38806  Starcraft Campaign Editor does not scroll to bottom after copying a trigger
61   38848  valgrind shows several uninitialized values in dmime/tests/dmime.c:test_track()
62   38895  Multiple applications fail to load or crash due to incorrect security cookie randomization by loader (IrfanView WebP plugin, Word Viewer 2007)
63   38904  Ufo Aftermath launcher hangs on start (missing "HKLM\Software\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers" registry key)
64   38908  PlanetSide 2 v5.2.4.x launcher process exit causes wineserver crash
65   38913  valgrind shows some definite leaks in d3drm/tests/d3drm.c:
66   38914  valgrind shows uninitialized memory in dlls/dwrite/tests/layout.c
67   38925  ipstats.c:1992 runtime error: index 32 out of bounds for type 'char [32]'
68   38937  Bully: Scholarship Edition crashes on starting a new game (needs vcomp.dll._vcomp_for_static_simple_init implementation)
69   38952  PDF-Xchange Viewer crashes when we launch OCR
71 ----------------------------------------------------------------
73 Changes since 1.7.47:
75 Aaryaman Vasishta (6):
76       d3drm: Move AddRef from device2->device3.
77       d3drm: Move Release from device2->device3.
78       d3drm: Move QueryInterface from device2->device3.
79       d3drm/tests: Fix leaks while creating device in tests (Valgrind).
80       d3drm: Thunk relevant IDirect3DRMDevice2 stubs to version 3.
81       d3drm: Add stubs for IDirect3DRMDevice methods.
83 Akihiro Sagawa (3):
84       po: Update Japanese translation.
85       po: Fix a mistake in Japanese translation.
86       mciseq: Ensure the player thread termination when stopping.
88 Alasdair Sinclair (1):
89       ntdll: Add missing WINAPI to RtlDecompressFragment.
91 Alex Henrie (3):
92       user32: Simplify if-else statement.
93       user32: Scroll listbox item completely into view on LB_SETCURSEL.
94       user32/tests: Correct spelling of "Invisible".
96 Alexandre Julliard (2):
97       server: Don't associate a thread to the MJ_CREATE and MJ_CLOSE requests.
98       winebuild: Add DllMain to the list of functions that should be private.
100 Alistair Leslie-Hughes (1):
101       include: Correct spelling of Tessellate.
103 Andrew Cook (1):
104       server: Implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE.
106 André Hentschel (10):
107       iphlpapi: Fix possible Out-of-bounds write (Coverity).
108       ws2_32: Pass correct buffer length to WS_inet_ntop (Coverity).
109       mcicda: Remove dead code (Coverity).
110       wordpad: Copy the correct amount of data with lstrcpynW (Coverity).
111       notepad: Use character count for GetFileTitleW (Coverity).
112       widl: Remove unused initializer (Clang).
113       krnl386.exe16: Remove unused initializers (Clang).
114       winedbg: Remove dead variable (Clang).
115       dwrite: Remove unused initializer (Clang).
116       winedump: Dump load config when available.
118 Aurimas Fišeras (1):
119       po: Update Lithuanian translation.
121 Austin English (2):
122       loader: Add HKLM\Software\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers registry key.
123       winsta: Add initial winsta.h.
125 Christian Costa (2):
126       d3dx9_36: Add stub for D3DXComputeTangentFrameEx.
127       d3dx9_36: Add stub for D3DXIntersect.
129 Dan Kegel (2):
130       vcomp: Implement stub for _vcomp_fork.
131       vcomp/tests: Add additional tests for _vcomp_fork.
133 Daniel Lehman (2):
134       msvcp90: Implement time_get<char> ctors and dtors (Valgrind).
135       gdi32: Check for NULL pointer in GetOutlineTextMetrics.
137 Dmitry Timoshkov (15):
138       kernel32: Fix compilation of loader tests with PSDK.
139       kernel32/tests: Add a loader test using minimal PE image that Windows7 is able to load.
140       ole32: Fix a memory leak.
141       include: Add support for NtCurrentTeb and PSDK compiler in 64-bit mode.
142       winex11.drv: On KeymapNotify event also sychronize WinKey state.
143       windowscodecs: Add support for 8bpp grayscale TIFF with 8bpp alpha.
144       gdiplus: Move the burden of supporting GIF encoding to the WIC backend.
145       windowscodecs/tests: Add some tests for loading truncated GIF images.
146       windowscodecs: Don't fail to decode GIF if an image has been already loaded.
147       ntdll: Cache contents of IMAGE_TLS_DIRECTORY instead of saving a directory pointer.
148       windowscodecs: Properly handle empty GIF extension blocks.
149       user32: Add a test to show that fonts returned by SystemParametersInfo(SPI_GETNONCLIENTMETRICS) should be listed by EnumFontFamilies(hdc, NULL).
150       gdi32: Add a test for enumerating substituted fonts.
151       gdi32: EnumFontFamilies should enumerate substituted fonts only when directly asked for.
152       user32: SystemParametersInfo(SPI_GETNONCLIENTMETRICS) should return real font names.
154 Erich Hoover (2):
155       ntoskrnl.exe: Improve IoGetDeviceObjectPointer stub to appease SecuROM 5.x.
156       ntdll: Only set the security cookie if it has not already been set.
158 Frédéric Delanoy (2):
159       wineconsole: Leave more room for translations in resource file.
160       po: Update French translation.
162 Hans Leidekker (19):
163       msi: Check the return value of MSI_QueryGetRecord (Coverity).
164       msi: Fix a couple of memory leaks (Coverity).
165       msi: Add a stub implementation of MsiJoinTransaction.
166       msi/tests: Avoid another test failure on win2k3.
167       ieframe: Implement IViewObject::GetAdvise and IViewObject::SetAdvise.
168       ieframe: Never pass a NULL string pointer with DISPID_STATUSTEXTCHANGE.
169       user32: Add a stub implementation of UnregisterPowerSettingNotification.
170       user32: Return a fake handle from RegisterPowerSettingNotification.
171       server: Make returning used privileges optional in token_access_check.
172       msi/tests: Mark a test result on win2k3 as broken.
173       wininet/tests: Include the error code in a failure message.
174       davclnt: Add stub implementations of DavRegisterAuthCallback and DavUnregisterAuthCallback.
175       iphlpapi: Add a partial implementation of CreateSortedAddressPairs.
176       iphlpapi: Implement a couple of interface identifier conversion functions.
177       include: Add definition of MIB_IF_ROW2.
178       iphlpapi: Implement GetIfEntry2.
179       netprofm: Create a connection point object for INetworkCostManagerEvents.
180       netprofm: Improve the stub for INetworkCostManager::GetDataPlanStatus.
181       netapi32: Implement DavGetHTTPFromUNCPath.
183 Henri Verbeet (18):
184       d2d1: Implement d2d_factory_CreateRectangleGeometry().
185       d2d1: Also bind the pixel shader and blend state in d2d_brush_bind_resources().
186       d2d1: Introduce a separate function to construct pixel shader constant buffers for brushes.
187       d2d1: Implement d2d_d3d_render_target_FillGeometry().
188       d2d1: Implement d2d_geometry_sink_AddLines().
189       d2d1: Properly trace "vertex_count" in d2d_path_geometry_triangulate().
190       d2d1/tests: Don't call compare_surface() inside ok().
191       d2d1: Implement d2d_geometry_sink_SetFillMode().
192       d2d1: Implement initial support for drawing bezier curves.
193       d2d1: Add some FIXMEs for unimplemented functionality to d2d_d3d_render_target_DrawGlyphRun().
194       d3d10core: Implement d3d10_device_CopySubresourceRegion().
195       d2d1: Add a missing TRACE to d2d_d3d_render_target_FillRectangle().
196       d2d1: Implement d2d_d3d_render_target_FillRoundedRectangle().
197       d2d1: Implement d2d_d3d_render_target_FillEllipse().
198       d2d1: Fix the bitmap DPI scale for bitmap brushes.
199       d2d1: Implement d2d_d3d_render_target_GetPixelFormat().
200       include: Add WIC error codes to winerror.h.
201       d2d1: Also infer the alpha mode in d2d_d3d_render_target_CreateBitmapFromWicBitmap().
203 Hugh McMaster (3):
204       wineconsole: Rearrange user dialog to make room for new controls and improve resource strings.
205       wineconsole: Allow users to enable or disable Insert Mode via the user dialog.
206       kernel32: Enabling/disabling Insert Mode via the user dialog should take effect immediately.
208 Huw D. M. Davies (15):
209       rpcrt4: Initialize CorrDespIncrement to zero and mark the pre-Vista behaviour as broken.
210       rpcrt4: Set CorrDespIncrement to the size of the (non-range) /robust payload.
211       rpcrt4: Add missing calls to NdrCorrelationInitialize/Free.
212       rpcrt4: Use CorrDespIncrement to skip over the correlation descriptor.
213       rpcrt4: Procedures containing a range within a conformance have a larger correlation descriptor.
214       msi: Fix a registry key leak.
215       msi: Be more selective about which access modes are used to open or create keys.
216       advapi32: Don't call CloseServiceHandle() with an invalid handle.
217       msi: Don't call CloseServiceHandle() with an invalid handle.
218       net: Don't call CloseServiceHandle() with an invalid handle.
219       wbemprox: Don't call CloseServiceHandle() with an invalid handle.
220       mshtml/tests: Fix a crash on Win 2008.
221       winhttp: Fix a reference leak.
222       winhttp: Don't wait for the task thread to exit.
223       winhttp: Implement WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT.
225 Iván Matellanes (21):
226       msvcirt: Implement ios locking control.
227       msvcirt: Implement ios object locking.
228       msvcirt: Implement ios stream locking.
229       msvcirt: Implement ios static locking.
230       msvcirt: Implement ios::flags.
231       msvcirt: Implement ios::setf.
232       msvcirt: Implement ios::unsetf.
233       msvcirt: Implement ios::fill.
234       msvcirt: Implement ios::precision.
235       msvcirt: Implement ios::width.
236       msvcirt: Implement ios::tie.
237       msvcirt: Implement ios::rdbuf.
238       msvcirt: Implement ios::delbuf.
239       msvcirt: Implement ios status-testing functions.
240       msvcirt: Implement ios operators.
241       msvcirt: Add ios format flag masks.
242       msvcirt: Implement ios manipulators.
243       msvcirt: Implement ios::bitalloc.
244       msvcirt: Add support for ios state variables.
245       msvcirt: Add ios instance counter.
246       msvcirt: Correct the statebuf array exports.
248 Jacek Caban (7):
249       ieframe: Allow travellog buffer to grow even if we're loading from the history.
250       ieframe: Fixed invalid COM object usage.
251       widl: Don't output C++ default value if the argument is followed by another without default value.
252       include: Added inspectable.idl file.
253       ieframe: Release client site interface before destroying embedding window.
254       ieframe: Added support for OnFocus notifications.
255       ieframe: Improved debug traces.
257 Jactry Zeng (2):
258       gdi32: Add a helper to map font replacement.
259       gdi32: Add multiple font replacement support.
261 Jarkko Korpi (1):
262       widl: Increase buffer size in typegen.c.
264 Julian Rüger (1):
265       po: Update German translation.
267 Lauri Kenttä (1):
268       po: Update Finnish translation.
270 Matteo Bruni (8):
271       wined3d: Make the core extensions enabling table-based.
272       wined3d: Add more entries to the core extensions table.
273       wined3d: Bind a VAO when using core profile contexts.
274       wined3d: Avoid glBegin() / glEnd() in check_fbo_compat() when possible.
275       wined3d: Don't run check_filter() on core contexts.
276       wined3d: Allow to apply extension emulation wrappers independently.
277       wined3d: Don't crash when emulating GL_EXT_fogcoord.
278       wined3d: Only install emulation wrappers when required.
280 Michael Müller (1):
281       aclocal.m4: Search for otool using AC_CHECK_TOOL.
283 Michael Stefaniuc (6):
284       include: Add IAMVfwCaptureDialogs declaration.
285       qcap: Remove initialization code from QI of VfwCapture.
286       qcap: There can be only ONE QueryInterface in VfwCapture!.
287       qcap: Support COM aggregation in VfwCapture.
288       qcap/tests: Add COM tests for VfwCapture.
289       wined3d: Merge two adjacent ifs with identical condition (PVS-Studio).
291 Nikolay Sivov (30):
292       dwrite: Implement pixel snapping in Draw().
293       dwrite: Check GetGdiCompatibleMetrics() return value (Coverity).
294       dwrite: Implement SetWordWrapping() for layout.
295       dwrite: Handle negative emsize in GetGdiCompatibleMetrics().
296       dwrite: Implement GetMetrics() for trimming sign.
297       dwrite: Remove excessive tracing when forwarding to IDWriteTextFormat1.
298       dwrite: Fix EndFigure notification in GetGlyphRunOutline().
299       po: Update Russian translation.
300       dwrite: Make sure explicit levels are always initialized (Valgrind).
301       dwrite/tests: Fix trimming sign instance leak (Valgrind).
302       dwrite: Fix transform matrix usage for pixel snapping.
303       dwrite: Partially implement GetGdiCompatibleGlyphAdvances().
304       dwrite: Partial implementation of GetGdiCompatibleGlyphMetrics().
305       dwrite: Properly pass measuring mode to renderer.
306       dwrite/tests: Some tests for CreateGdiCompatibleTextLayout().
307       dwrite: Round advances returned from GetGdiCompatibleGlyphPlacements().
308       dwrite: Fix vector transformation in GetGlyphOrientationTransform().
309       dwrite: Aliased texture could only be requested for aliased rendering mode.
310       dwrite: Improve parameter validation in GetGdiCompatibleGlyphAdvances(), add some tests.
311       dwrite/tests: Some tests for bounds returned by GetAlphaTextureBounds().
312       dwrite: Round centered alignment shift for compatible layouts.
313       dwrite/tests: Some tests for isNewline clusters.
314       dwrite: Bitmap render target uses top-down DIB.
315       dwrite: Update cached bitmap size on Resize() as well.
316       shell32: Added GetCurrentProcessExplicitAppUserModelID() stub.
317       webservices: Added WsCreateError stub.
318       user32: Initialize buffer before sending WM_GETTEXT.
319       user32: Don't send WM_GETTEXT from GetWindowText() with invalid buffer length.
320       dwrite/tests: Some tests for GetRecommendedRenderingMode().
321       dwrite: Implement GetRecommendedRenderingMode().
323 Piotr Caban (6):
324       shell32: Remove code for separating arguments from file path.
325       shell32: Handle executable with space in path in SHELL_execute.
326       shell32: Fix SHELL_execute code that removes quote arround file name.
327       msvcrt: Don't call DeleteCriticalSection on static critical section.
328       winemac.drv: Release mouse capture when destroying window specified in SetCapture call.
329       mshtml: Test body.offsetHeight value in quirks mode.
331 Qian Hong (1):
332       kernel32: Fix GetComputerName buffer overflow.
334 Sebastian Lackner (30):
335       ntdll: Fix incorrect assignment in assert statement (Coverity).
336       dwrite: Avoid dereferencing NULL pointer for fonts without VDMX.
337       vcomp: Implement omp_get_max_threads and omp_set_num_threads.
338       vcomp: Implement omp_{get,set}_nested.
339       vcomp: Implement _vcomp_set_num_threads and omp_get_thread_num.
340       server: Avoid sending unexpected wakeup with uninitialized cookie value.
341       kernel32/tests: Repeat test for SignalObjectAndWait multiple times to test wineserver wakeup cookie management.
342       configure: Do not assume gcc strength reduce bug when cross-compiling.
343       shell32: Ensure that commandline is null-terminated when no parameters are given.
344       ntdll: Avoid possible deadlock by using _exit() in NtTerminateProcess.
345       vcomp: Add multithreaded implementation for _vcomp_fork.
346       vcomp: Implement _vcomp_barrier.
347       vcomp/tests: Add initial tests.
348       vcomp: Implement _vcomp_sections_init and _vcomp_sections_next.
349       vcomp/tests: Add tests for vcomp sections.
350       vcomp: Allow calls to _vcomp_sections_init outside of parallel environment.
351       vcomp: Fix handling of _vcomp_fork with ifval == FALSE.
352       vcomp: Implement omp_in_parallel and add tests.
353       vcomp: Implement _vcomp_for_static_simple_init and _vcomp_for_static_end.
354       vcomp/tests: Add tests for _vcomp_for_static_simple_init.
355       vcomp: Implement _vcomp_for_static_init.
356       vcomp/tests: Add tests for _vcomp_for_static_init.
357       ntdll/tests: Add basic tests for RtlQueueWorkItem.
358       ntdll: Reimplement RtlQueueWorkItem on top of new threadpool API.
359       vcomp: Implement 32-bit atomic integer functions.
360       vcomp/tests: Add tests for 32-bit atomic integer functions.
361       vcomp: Implement atomic float functions.
362       vcomp/tests: Add tests for atomic float functions.
363       vcomp: Implement atomic double functions.
364       vcomp/tests: Add tests for atomic double functions.
366 Vincent Povirk (1):
367       winex11.drv: Don't change net_wm maximized state for minimized windows.
369 YongHao Hu (1):
370       msvcp110: Fix TRACE msg of tr2 functions.
372 Zhenbo Li (3):
373       mshtml: Add IHTMLXMLHttpRequest::responseText() method implementation.
374       mshtml: Add IHTMLXMLHttpRequest::status property implementation.
375       mshtml: Add nsChannel_GetResponseStatusText implementation.
378 Alexandre Julliard
379 julliard@winehq.org