Release 0.9.52.
[wine] / ANNOUNCE
1 This is release 0.9.52 of Wine, a free implementation of Windows on Unix.
2
3 What's new in this release:
4   - Improved graphics tablet support.
5   - Support for RPC context handles.
6   - Fixes for some longstanding screen depth issues.
7   - Implementation of "My Network Places" shell folder.
8   - Lots of bug fixes.
9
10 Because of lags created by using mirrors, this message may reach you
11 before the release is available at the public sites. The sources will
12 be available from the following locations:
13
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.52.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.52.tar.bz2
16
17 Binary packages for various distributions will be available from:
18
19   http://www.winehq.org/site/download
20
21 You will find documentation on
22
23   http://www.winehq.org/site/documentation
24
25 You can also get the current source directly from the git or CVS
26 repositories. Check respectively http://www.winehq.org/site/git or
27 http://www.winehq.org/site/cvs for details.
28
29 If you fix something, please submit a patch; instructions on how to do
30 this can be found at http://www.winehq.org/site/sending_patches
31
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
34
35 ----------------------------------------------------------------
36
37 Changes since 0.9.51:
38
39 Alex Villacís Lasso (2):
40       user32: Fix regression in DlgDirList caused by modified LB_DIR return behavior, with tests.
41       comdlg32: Fix another regression in 3.1-style file dialog from LB_DIR fix.
42
43 Alexander Dorofeyev (7):
44       ddraw: Fix incorrect WARN text.
45       wined3d: Rewrite IWineD3DSurfaceImpl_BltOverride colorfill codepath.
46       wined3d: Use IWineD3DDeviceImpl_ClearSurface in IWineD3DDeviceImpl_Clear.
47       ole32: Fix wrong timeout check.
48       ws2_32: Fix timeout check.
49       wined3d: Add zero/near zero vertex rhw special case.
50       wined3d: Also update alpha test when stage texture is NULL.
51
52 Alexander Nicolaysen Sørnes (1):
53       comdlg32: PageSetupDlgW: Load paper orientation in ChangePrinterW.
54
55 Alexandre Julliard (30):
56       Revert "user32: Moved some 16-bit functions."
57       oleaut32/tests: Avoid relying on system-dependent rounding.
58       server: Fix possible NULL dereference.
59       ntoskrnl.exe: Added implementation for IoCreateDriver and IoDeleteDriver.
60       ntoskrnl.exe: Allow returning data in ioctls along with a positive non-zero status.
61       user32: Set the WSF_VISIBLE flag on the main window station.
62       advapi32: Reimplement RegisterServiceCtrlHandler on top of RegisterServiceCtrlHandlerEx.
63       advapi32: Fix RegisterServiceCtrlHandler spec entry.
64       advapi32: Use exponential backoff when waiting for a service to start.
65       advapi32: Replace the list of services with an array.
66       advapi32: Return from StartServiceCtrlDispatcher when all services are stopped.
67       kernel32: Forward interrupts in 32-bit code to winedos too.
68       server: Use SIGQUIT instead of SIGTERM to terminate a thread.
69       advapi32: Move the EnumDependentServicesA/W stubs in service.c where they belong.
70       wineboot: Simplify the unnecessarily complex code structure.
71       wineboot: Add support for starting NT-style services.
72       wineboot: Rewrite wininit.ini processing to use GetPrivateProfileSectionW. Convert to Unicode.
73       wineboot: Convert the rest of the code to Unicode.
74       wine.inf: Mark the spool service as disabled, it's just a stub.
75       include: Added the mountmgr.h header.
76       server: Don't count system processes as users of a desktop.
77       server: Don't give out full access to the system process event.
78       explorer: It no longer needs to be made a system process.
79       advapi32: Start non-interactive services in a separate window station.
80       ntdll: Increase the buffer size dynamically for relay debug lists.
81       kernel32: Store the initial directory as a full path in the process parameters.
82       kernel32: Yet another workaround for broken apps in GlobalMemoryStatus.
83       kernel32: Initialize MaximumLength of the user params directory too.
84       winedos: Add the possibility of refusing to emulate some interrupts.
85       wintab32: Fix debug traces to use wine_dbg_sprintf.
86
87 Alistair Leslie-Hughes (1):
88       msxml3: Fix memory leaks in tests.
89
90 Andrew Riedi (1):
91       gdiplus: Add GdipCreateHBITMAPFromBitmap() stub.
92
93 Andrew Talbot (10):
94       kernel32: Remove unneeded casts.
95       kernel32: Remove unneeded casts.
96       kernel32: Remove unneeded casts.
97       mapi32: Remove unneeded casts.
98       kernel32: Revert the removal of a cast from a macro.
99       mciavi32: Remove unneeded casts.
100       mciseq: Remove unneeded casts.
101       msacm32: Remove unneeded casts.
102       msvcrt: Remove unneeded cast.
103       msi: Remove unneeded cast.
104
105 Andrey Turkin (5):
106       server: I/O completion ports can only be used with overlapped I/O.
107       server: Store I/O completion information in async structure.
108       ntdll: Implement BindIoCompletionCallback.
109       dbghelp: Adjust minidump streams ordering and sizing.
110       dbghelp: Treat const addresses as const unsigned.
111
112 Aric Stewart (1):
113       fonts: Correct External leading for japanese small font and enable fontmetric test for the font.
114
115 David Adam (4):
116       d3dx8: Add definition for MatrixStack.
117       d3dx8: Rename d3dx_core_private.h to d3dx8_private.h.
118       d3dx8: Add basic functions and stubs for MatrixStack.
119       d3dx8: Implement D3DXCreateMatrixStack.
120
121 Dmitry Timoshkov (11):
122       user32: Always clip the button painting to the client rectangle.
123       gdi32: Add a GdiConvertToDevmodeW test, make it pass under Wine.
124       gdi32: When compiling with PSDK headers request latest DEVMODE definition.
125       gdi32: In the calculations use a fixed dmSize, not a passed in (possibly too large) one.
126       user32: Make sure to setup clipping before any painting is done.
127       user32: Set the edit text in a combobox only if combobox has strings.
128       include: Add CONTEXT86_EXTENDED_REGISTERS and CONTEXT86_ALL definitions.
129       gdi32: Add a test for minimal acceptable DEVMODEA size, make it pass under Wine.
130       user32: Add a test for an invalid DEVMODE passed to ChangeDisplaySettings, make it pass under Wine.
131       riched20: Remove a redundant parameter from trace.
132       user32: Reimplement IsHungAppWindow.
133
134 Eric Pouech (1):
135       valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0).
136
137 Francois Gouget (13):
138       rpcrt4: Add an rpcasync.h header stub and fix the RpcErrorStartEnumeration() prototype.
139       user32/tests: Use GetProcAddress() on ChangeDisplaySettingsExA() because it is missing on Windows 95.
140       msi: Add a trailing '\n' to Wine traces.
141       secur32/tests: Dynamically load various APIs and don't link with crypt32.dll to make the test run on Windows 95.
142       shell32/tests: Avoid SHDeleteKeyA() because shlwapi.dll is missing on Windows 95.
143       shell32/tests: Copy the PathRemoveBackslashA() and PathAddBackslashW() implementations because shlwapi.dll is missing on Windows 95.
144       shell32/tests: Use GetProcAddress() on SHGetPathFromIDListW() because it is missing on Windows 95.
145       shell32/tests: Use GetProcAddress() on Shell_NotifyIconW() because it is missing on Windows 95.
146       shell32/tests: Use GetProcAddress() on SHFileOperationW() because it is missing on Windows 95.
147       oleaut32/tests: Avoid SHDeleteKeyW() because shlwapi.dll is missing on Windows 95.
148       dinput: Make _dump_cooperativelevel_DI() and _dump_EnumDevices_dwFlags() more self-contained.
149       Assorted spelling fixes.
150       configure: Work around an Xcode 3.0 bug when detecting the libGL library.
151
152 Gerald Pfeifer (1):
153       msi: Fix error handling in encode_streamname().
154
155 Huw Davies (6):
156       include: Add IMimeAllocator.
157       inetcomm: Add IMimeAllocator implementation.
158       inetcomm: Fix spelling typo.
159       inetcomm: Implement IMimeBody_GetParameters.
160       inetcomm: Unquote parameter values.
161       inetcomm: Implement IMimeBody_GetOffsets.
162
163 Ivan Sinitsin (1):
164       winefile: Save font settings in registry.
165
166 Jacek Caban (24):
167       mshtml: Remove not used argument of nsACString_GetData.
168       mshtml: Remove not used argument in nsAString_GetData.
169       shdocvw: Ignore Exec(CGID_Explorer, 66) calls in tests.
170       urlmon: Use flag to store protocol lock state.
171       urlmon: Fixed protocol tests.
172       urlmon: Added BindProtocol::GetBindString implementation.
173       urlmon: Added IServiceProvider implementation to BindProtocol object.
174       urlmon: Added BindProtocol::Switch implementation.
175       urlmon: Added BindProtocol::Continue implementation.
176       urlmon: Added BindProtocol::[Un]LockRequest.
177       urlmon: Added more BindProtocol::ReportProgress implementation.
178       urlmon: Added more binding tests.
179       urlmon: Fixed BindToObject tests.
180       mshtml: Use IBindCtx passed to Load in BindToStorage call.
181       mshtml: Added AboutProtocolInfo::QueryInfo implementation.
182       mshtml: Added ResProtocolInfo::QueryInfo implementation.
183       mshtml: Added QueryInfo tests.
184       urlmon: Added CoInternetQueryInfo implementation.
185       urlmon: Added CoInternetQueryInfo tests.
186       urlmon: RegisterNameSpace clean up.
187       urlmon: Added [Un]RegisterMimeFilter implementation.
188       urlmon: Added mime filters tests.
189       urlmon: Use heap_alloc_zero to allocate BindProtocol.
190       urlmon: Rename BindProtocol's IInternetProtocolSink methods.
191
192 James Hawkins (23):
193       msi: Release the record when loading the hash data.
194       msi: Add more tests for MsiOpenPackage.
195       msi: Validate the parameters of MsiOpenPackage.
196       msi: If the package doesn't exist, return ERROR_FILE_NOT_FOUND.
197       msi: Verify that the PID_PAGECOUNT and PID_REVNUMBER summary info properties exist.
198       msi: Simplify ExpandAnyPath.
199       msi: Add tests for MsiEnumClients.
200       msi: Validate the parameters of MsiEnumClients.
201       msi: Check the user component key for the clients.
202       msi: Also check the local system component key for the clients.
203       msi: Return ERROR_UNKNOWN_COMPONENT if no products exist.
204       msi: Return ERROR_INVALID_PARAMETER if the product list is empty and index is not zero.
205       msi: The line control has a height of exactly 2 device units.
206       msi: Set the text color after calling the window proc.
207       msi: Test sorting a table using a column that is not selected.
208       msi: Sort each table of the join separately.
209       msi: Free the ordering information.
210       msi: Allow NULL parameters to be passed to the local MsiSetProperty.
211       msi: Initialize a default COM apartment for custom actions.
212       msi: The BS_GROUPBOX style should only be used if the HasBorder attribute is set.
213       msi: Fix deleting temporary rows, with tests.
214       msi: Allow the not-equal operator in WHERE query string comparisons.
215       msi: Allow whitespace after the property name when setting a property in the dialog.
216
217 Jeremy White (11):
218       wintab32: Store and use the physical device id to match device to cursor.
219       wintab32: Do not offset the physical device id by the cursor number.
220       wintab32: Add constants for cursor types and use them.
221       wintab32: Order the cursor array by the standard Wacom promulgates.
222       wintab32: Add additional device tracing.
223       wintab32: Compute our physical device characteristics based on the first tablet device that looks like a stylus.
224       wintab32: Correctly handle devices with a device id of 0.
225       wintab32: Don't return information for non existent cursors.
226       wintab32: Implement the ability to return the number of devices and cursors.
227       wintab32: Capture the number of buttons earlier, allowing our button maps to be filled in.
228       wintab32: Fix the W->A translation for CSR_NAME and CSR_BTNNAMES.
229
230 Johannes Stezenbach (3):
231       wininet: Implement support for INTERNET_OPTION_VERSION in InternetQueryOptionW.
232       wininet: Fix error return code in FindFirstUrlCacheEntryW() stub.
233       ws2_32: Set *res = NULL for error return from WS_getaddrinfo().
234
235 Kirill K. Smirnov (7):
236       winhelp: Remember last added page.
237       winhelp: Avoid any keywords comparision during lookup, store pointer to listbox ITEMDATA instead.
238       server: Properly notify renderer while activating another screen buffer.
239       ws2_32: Fix flags conversion in getnameinfo() function.
240       kernel32: ReadConsoleW should wait for at least one character before returning.
241       winhelp: When we reuse window structure, old brush should not be reused.
242       kernel32: Invalidate local copy of console input event handle while reallocating console.
243
244 Lei Zhang (2):
245       quartz: Move aggregation tests into separate file.
246       quartz: Make filtergraph aggregatable.
247
248 Lionel Debroux (2):
249       winedevice: Fix memory leak (found by Smatch).
250       winspool: Fix memory leak (found by Smatch).
251
252 Maarten Lankhorst (3):
253       riched20: Implement ECO/EM SELECTIONBAR.
254       riched20: Fix bugs in EM_SETOPTIONS.
255       winealsa: Add special case for microphone source in mixer.
256
257 Marcus Meissner (2):
258       msi: Fixed buffer overflow in number parsing.
259       d3d9: Initialize pVertexBuffer.
260
261 Michael Jung (1):
262       ole32: Avoid leaving a critical section twice.
263
264 Michael Stefaniuc (3):
265       rpcrt4: Add missing LeaveCriticalSection. Found by Smatch.
266       secur32/tests: InitFunctionPtrs() needs to use the global crypt32dll variable.
267       gdi32: There is no need to cast NULL to a function pointer.
268
269 Mike McCormack (1):
270       shell32: Implement "My Network Places" shell folder.
271
272 Peter Beutner (1):
273       d3d9: Add stub for Direct3DShaderValidatorCreate9().
274
275 Peter Oberndorfer (2):
276       winex11: Remove unused SWAP_INT macro.
277       gdi32: Fix a comment typo.
278
279 Reece H. Dunn (2):
280       include: Added the new Vista messages.
281       user32: Added the new Vista messages to spy.
282
283 Rico Schüller (3):
284       comdlg32: Fix typo.
285       kernel32: Fix typo.
286       wined3d: Fix some typos.
287
288 Rob Shearman (50):
289       widl: Clear padding in the buffer due to alignment.
290       widl: Return types shouldn't be freed.
291       widl: Only base types or reference pointers to base types don't need to be freed.
292       include: Add definitions for RPC_FC_SSTRING and RPC_FC_C_SSTRING.
293       rpcrt4: Clear padding inserted into the buffer during marshalling because of alignment.
294       rpcrt4: Add a FIXME for RPC_FC_P_ALLOCALLNODES in PointerUnmarshall.
295       rpcrt4: Fix NdrConformantStringUnmarshall to use buffer memory if possible.
296       rpcrt4: Return an error from rpcrt4_conn_tcp_read if recv returns 0.
297       rpcrt4: Make a server association when a bind packet is received in the server.
298       rpcrt4: Move association code into a separate file.
299       hlink: Fix some memory leaks in the tests.
300       include: Add more NDR types and function declarations to rpcndr.h.
301       include: Add more types and function declarations to the rpcasync.h header file.
302       rpcrt4: Don't copy memory from the buffer in NdrConformantStringUnmarshall if we just pointed the memory pointer into the buffer.
303       rpcrt4: Add a stub for I_RpcGetCurrentCallHandle.
304       include: Add some context handle defines to rpcdcep.h.
305       mscoree: Add a stub for GetVersionFromProcess.
306       rpcrt4: Implement I_RpcGetCurrentCallHandle.
307       widl: The detection of types is highly dependent on the ordering of the various type detection functions.
308       widl: Fix the length used when clearing alignment space in generated files.
309       rpcrt4: Fix the ALIGN_POINTER_CLEAR macro.
310       rpcrt4: Memory should only be cleared in ComplexUnmarshall, not in ComplexMarshall.
311       rpcrt4: Initialise memory passed into RPCs in the server test.
312       rpcrt4: Don't use BufferEnd in RpcStream_Write.
313       rpcrt4: Fix NdrConformantStringUnmarshall to always increment the buffer during unmarshalling.
314       ole32: Fix RPC_GetLocalClassObject to wait for 30 seconds, even if messages arrive while we are waiting.
315       rpcrt4: Print an error if stub buffer pointer is passed into safe_copy_from_buffer.
316       rpcrt4: Fix a memory leak from the get_filename call in the server tests.
317       kernel32: Add a test for calling VirtualAlloc on a view of a SEC_RESERVE file mapping.
318       widl: Tweak the rules for when to call pfnFree for arrays.
319       rpcrt4: Set pStubMsg->BufferMark in NdrConformantVaryingArrayUnmarshall and NdrVaryingArrayUnmarshall.
320       widl: Fix the generation of temporary variables for declared arrays.
321       widl: Fix pointer detection in structures and arrays.
322       include: Remove semi-colons from the end of cpp_quote statements as MIDL likes them.
323       rpcrt4: Move low-level NDR context handle functions to a separate file.
324       rpcrt4: Implement higher-level NDR server context handle functions.
325       rpcrt4: Implement low-level context handle support.
326       rpcrt4: Add tests for low-level context handle functions.
327       widl: Add support for generating code for out-only context handles by calling NdrContextHandleInitialize.
328       rpcss: Use context handles to automatically free running object table entries if the client process quits without calling IrotRevoke.
329       hlink: Fix memory leak by freeing extension services This->headers in the release function.
330       msi: Fix several memory leaks after using IEnumSTATSTG_Next.
331       oleaut32: Fix copy and paste error in VARIANT_UserUnmarshall with VT_UNKNOWN test.
332       quartz: Fix memory leak in FilterGraphInner_Release.
333       rpcrt4: Add tests for varying and conformant varying arrays.
334       rpcrt4: Re-use existing memory for embedded pointers in NdrConformantVaryingArrayUnmarshall.
335       rpcrt4: Re-use existing memory for embedded pointers in NdrVaryingArrayUnmarshall.
336       rpcss: Zero the memory of several variables before writing them to the pipe to silence Valgrind warnings.
337       explorer: Fix memory leak when one or more properties are not present on a hal device.
338       server: Initialise the apc_call_t union in async_set_result to all zero to avoid a Valgrind warning.
339
340 Roderick Colenbrander (2):
341       wined3d: In case of GL_EXT_paletted_textures we use GL_COLOR_INDEX and don't need a GL_RED fixup.
342       wined3d: Only store the palette index in the alpha component when the primary render target uses P8.
343
344 Roy Shea (2):
345       qmgr: Generate C file with local GUID definitions from bits.idl.
346       qmgr: AddRef, QueryInterface, and stub functions for queue manager interface.
347
348 Stefan Dösinger (37):
349       winex11: Distinguish between bpp and depth.
350       winex11: Activate the depth-bpp difference.
351       d3d9: The refrast returns an error on invalid clear rects.
352       d3d9: D3DLOCK_DISCARD is not valid on managed textures.
353       d3d9: Do not set NONE MIN and MAG filters.
354       d3d9: Remove a few more incorrect D3DLOCK_DISCARDs.
355       d3d9: Add a note about a breakage in the refrast.
356       wined3d: Disable the SWAPEFFECT_DISCARD clear.
357       wined3d: Correct a pixel shader version comparison.
358       wined3d: Ignore tesselated and unused streams when comparing attribs.
359       wined3d: Filter out some shader compilation spam.
360       kernel32: Add a test for BindIoCompletionCallback.
361       wined3d: Implement D3DFMT_G16R16.
362       wined3d: Split up the render target -> render target blit.
363       wined3d: Implement blits from the active render target to swapchains.
364       wined3d: Emulate half float vertices if GL_NV_half_float is not there.
365       wined3d: Some improvements for SFLAG_CONVERTED checking.
366       wined3d: Implement texture -> swapchain blits with stretch_rect_fbo.
367       wined3d: Always dump the fbo state on errors.
368       wined3d: Store if half float conversion is needed in the decl.
369       wined3d: Fixed function vertex attribute types are flexible.
370       wined3d: Fix vertex buffers based on type, not semantic.
371       wined3d: Move the GL info structure into the adapter.
372       wined3d: Add a test for 16 bit floats.
373       wined3d: Implement half float vertex buffer conversion.
374       wined3d: Change the vertex buffer declaration's data format.
375       d3d9: Extend the fixed function vertex declaration test.
376       wined3d: Improve some traces.
377       wined3d: Add a test for POSITIONT vertex fixups.
378       wined3d: Vertex attributes are 4 byte aligned.
379       wined3d: Per stream offsets are 4 byte aligned.
380       wined3d: Implement and test vertex fixups with per stream offsets.
381       d3d9: Accept D3DDEVTYPE_REF devices in the vertex declaration test.
382       wined3d: Fix a problem in BltOverride.
383       wined3d: Get rid of the invymat.
384       wined3d: Combine two glScalef calls into one.
385       wined3d: Multiply the half pixel correction with .w.
386
387 Stefan Leichter (2):
388       gdiplus: Partly implement GdipCreateFromHDC2
389       kernel32: Silence a fixme in GetNativeSystemInfo.
390
391 Vincent Hardy (1):
392       regedit: Window caption correction.
393
394 Zhangrong Huang (2):
395       gdi32, winex11.drv: Correct default Chinese font name.
396       secur32: Fix possible crash while loading SSP providers from registry.
397
398 --
399 Alexandre Julliard
400 julliard@winehq.org