1 This is release 0.9.52 of Wine, a free implementation of Windows on Unix.
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.
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:
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
17 Binary packages for various distributions will be available from:
19 http://www.winehq.org/site/download
21 You will find documentation on
23 http://www.winehq.org/site/documentation
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.
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
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
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.
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.
52 Alexander Nicolaysen Sørnes (1):
53 comdlg32: PageSetupDlgW: Load paper orientation in ChangePrinterW.
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.
87 Alistair Leslie-Hughes (1):
88 msxml3: Fix memory leaks in tests.
91 gdiplus: Add GdipCreateHBITMAPFromBitmap() stub.
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.
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.
113 fonts: Correct External leading for japanese small font and enable fontmetric test for the font.
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.
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.
135 valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0).
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.
153 msi: Fix error handling in encode_streamname().
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.
164 winefile: Save font settings in registry.
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.
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.
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.
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().
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.
245 quartz: Move aggregation tests into separate file.
246 quartz: Make filtergraph aggregatable.
249 winedevice: Fix memory leak (found by Smatch).
250 winspool: Fix memory leak (found by Smatch).
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.
258 msi: Fixed buffer overflow in number parsing.
259 d3d9: Initialize pVertexBuffer.
262 ole32: Avoid leaving a critical section twice.
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.
270 shell32: Implement "My Network Places" shell folder.
273 d3d9: Add stub for Direct3DShaderValidatorCreate9().
275 Peter Oberndorfer (2):
276 winex11: Remove unused SWAP_INT macro.
277 gdi32: Fix a comment typo.
280 include: Added the new Vista messages.
281 user32: Added the new Vista messages to spy.
286 wined3d: Fix some typos.
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.
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.
345 qmgr: Generate C file with local GUID definitions from bits.idl.
346 qmgr: AddRef, QueryInterface, and stub functions for queue manager interface.
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.
388 gdiplus: Partly implement GdipCreateFromHDC2
389 kernel32: Silence a fixme in GetNativeSystemInfo.
392 regedit: Window caption correction.
395 gdi32, winex11.drv: Correct default Chinese font name.
396 secur32: Fix possible crash while loading SSP providers from registry.