1 This is release 0.9.35 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4 - Broken aRts sound driver now removed for good.
5 - Many fixes to the Quartz DLL sound support.
6 - File I/O performance improvements.
7 - The usual assortment of Direct3D fixes.
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.35.tar.bz2
15 http://prdownloads.sourceforge.net/wine/wine-0.9.35.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 Alessandro Pignotti (1):
40 dplayx: Implement proper interface locking for DP_EnumSession.
42 Alexandre Julliard (39):
43 make_makefiles: Add the .INIT/.BEGIN rules for the main makefile.
44 server: Add a generic wait queue to the file descriptor object.
45 server: Avoid redundant polling in fd_queue_async_timeout.
46 server: Take advantage of the fd generic wait queue to remove a lot of serial code.
47 server: Use the fd generic wait queue for directory change I/O operations.
48 server: Make async I/O queues into real objects.
49 server: Check file access in register_async before calling the object method.
50 kernel32: Added some last error tests for mailslots.
51 server: Add a separate function to set the timeout of an async I/O operation.
52 server: Make timeout status for async I/O specifiable. Fix mailslots timeout handling.
53 server: Hold a pointer to the queue from the async operations.
54 make_requests: More aggressive grepping for status values.
55 server: Add support for associating a file descriptor to a message queue.
56 winex11.drv: Store the display file descriptor directly in the server message queue.
57 server: Fix the handling of the signaled status for file descriptors.
58 server: Use the standard file descriptor signal mechanism for directory changes.
59 ntdll: Avoid setting status in IO_STATUS_BLOCK until the I/O operation is done.
60 ntdll: Avoid relying on the IO_STATUS_BLOCK for storing the current transfer count.
61 ws2_32: Don't access the IO_STATUS_BLOCK until the I/O operation is finished.
62 ntdll: Make test for heap boundaries more strict in HEAP_FindSubHeap.
63 kernel32: Add a bit of slack to the mailslot timeout test.
64 ntdll: Reimplement NtReadFile.
65 ntdll: Reimplement NtWriteFile.
66 ntdll: Rely on the server to queue the final APC for asynchronous read/write.
67 ntdll: Use send(2) instead of write(2) for zero-byte writes to sockets.
68 ntdll: Add some test cases for asynchronous I/O.
69 setupapi: Avoid using sizeof in traces.
70 server: Add support for restarting an async I/O when the client side couldn't finish it right away.
71 ntdll: Simplify the async read/write code now that most of the work is done in the server.
72 ntdll: Determine the async read avail_mode flag from the client side.
73 server: Explicitly shutdown closed pipes to prevent access from file descriptors cached in the client.
74 kernel32: Add SYNCHRONIZE access to mailslot handles.
75 server: Store the opening options in the file descriptor instead of in the individual objects.
76 server: Rename the get_file_info function to get_fd_type and get rid of the flags.
77 ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
78 shell32: Have _ILCreateFromFindDataW also create a FileStructW type of pidl.
79 server: Create a separate fd object for each mailslot writer. Make them first-class file handles.
80 server: Don't bother with default entry points for objects that don't even return an fd.
81 winex11.drv: Hack to disable XInitThreads when an XIM is used.
84 comctl32: Constify some variables.
85 comctl32: Constify some variables.
86 comctl32: Constify some variables.
87 comctl32: Constify some variables.
88 comctl32: Constify some variables.
89 comctl32: Constify some variables.
90 comctl32: Constify some variables.
91 comctl32: Constify some variables.
92 comctl32: Constify some variables.
93 comctl32: Constify some variables.
94 comctl32: Constify some variables.
95 advapi32: Constify some variables.
96 atl: Constify some variables.
97 advpack: Constify some variables.
98 comcat: Constify some variables.
99 avifil32: Constify some variables.
100 comdlg32: Constify some variables.
101 comdlg32: Constify some variables.
102 comdlg32: Constify some variables.
103 comdlg32: Constify some variables.
104 comdlg32: Constify some variables.
105 comdlg32: Constify some variables.
106 comdlg32: Remove inappropriate const qualifier.
107 include: Remove superfluous semicolons.
108 d3d8: Void functions should not return a value.
109 d3d9: Void functions should not return a value.
110 kernel32: Remove superfluous semicolons.
111 mapi32: Void functions should not return a value.
112 crypt32: Constify some variables.
113 mshtml: Void functions should not return a value.
114 msvcrt: Remove superfluous semicolons.
115 ntdll: Void functions should not return a value.
116 ntdll: Remove superfluous semicolons.
117 ole32: Void functions should not return a value.
118 oleaut32: Remove superfluous semicolons.
121 ntdll: Add Vista version option.
122 winecfg: Add Windows Vista version option.
125 comctl32: Unset active page while setting a new active page for a propsheet.
126 comctl32: Propsheet exception fix.
127 ole32: Storage optimization.
128 msi: Register fonts with full target paths as applications can and will install fonts to places other than the windows/fonts directory.
129 shell32: Avoid unneeded A->W conversions in _ILSimpleGetTextW.
130 shell32: Update the debug functions to handle Unicode value pidl.
131 shell32: Use _ILSimpleGetTextW instead of using _ILGetTextPointer
132 msi: Do not crash in MsiGetUserInfo if org, user or serial are not present, instead return USERINFOSTATE_ABSENT.
135 regedit: Support REG_MULTI_SZ creation and editing.
136 regedit: Update Korean resource.
139 quartz: Don't fill the dsound buffer with small amounts.
140 quartz: Remove errant parser output pins on input connection failure.
141 quartz: Set the sample time based on the number of bytes read before sending it downstream.
142 quartz: Use a safe APC to kill the PullPin thread when the PullPin is being released.
143 quartz: Use a second-long DSound buffer for playback.
144 quartz: Hold a reference on the PullPin's filter while the processing thread is alive.
145 quartz: Connect input when the pins connect, not when querying.
146 quartz: Add a QueryConnect method for transform filters.
147 quartz: Break loop on error in ACMWrapper.
148 quartz: Implement Get/SetSyncSource for the FilterGraph's IMediaFilter interface.
149 quartz: Don't call ReleaseSemaphore on NULL semaphore handles.
150 quartz: Tell filters to stop sending data when the chain is broken.
151 quartz: Avoid releasing NULL objects.
152 quartz: Send a notification when the filter graph clock changes.
153 quartz: Use more precise positioning information for the DSound filter's reference clock.
154 quartz: Add partial implementation of IReferenceClock for DSoundRenderer.
155 quartz: Add a cleanup callback for parser filters to call on release.
156 quartz: Make sure cached media samples are released for parser filters.
157 quartz: Fix ALIGN macros.
158 quartz: Fix error with operator precedence.
159 quartz: Pass the media sample to the individual transform filter callbacks.
160 winedbg: Align module addresses to 8 characters.
161 quartz: Implement IAMFilterData interface for IFilterMapper.
164 rpcrt4: Add tests for RpcServerListen and friends.
167 imagehlp: BindImageEx stub should report success.
168 winex11.drv: GetAsyncKeyState must check mouse buttons, too.
170 Detlef Riekenberg (4):
171 localui: Add localui.dll with stubs.
172 localui/tests: Add initial test.
173 localspl/tests: Remove duplicate tests.
174 localui: Add version resource.
176 Dmitry Timoshkov (8):
177 kernel32: Add GetCPInfo test.
178 gdi32: Make GetKerningPairsA not fail for fonts with SYMBOL charset.
179 winspool: Add a test for DeviceCapabilities, fix some bugs found.
180 shlwapi: Fix a forward to user32.PrivateExtractIconExW.
181 user32: Windows uses ptMaxTrackSize to set an initial window size not ptMaxSize.
182 winebuild: Check if a given forward does exist in one of the imported dlls, fix a couple of problems detected.
183 gdi32: Fix a couple of problems with negative lfWidth test.
184 ntdll: Fix a compiler warning.
187 winedbg: When reloading real PE modules from a minidump, also look in the search path (as we do for ELF modules).
188 winedbg, winedump: Extended some info printed from system info directory in minidump about the CPU.
189 taskmgr: Let the debug channels work again.
192 wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
193 wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
194 wined3d: Add support for float texture formats back in.
195 wined3d: Fix UpdateSurface for sourceRect != sourceWidth.
196 wined3d: Fix GLSL cnd instruction.
197 wined3d: Add GL_EXT_framebuffer_blit to extension handler.
198 wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord.
200 Felix Nawothnig (13):
201 gdi32: Properly handle negative font widths.
202 wined3d: Make CreateCubeTexture fail when not supported.
203 wined3d: Downgrade some ERRs to FIXMEs.
204 wined3d: Only issue state_patchsegments FIXME once.
205 comctl32: Fix item rect calculation.
206 comctl32: Use appropriate font for header drag image.
207 taskmgr: Use default font for proc listview.
208 comctl32: Allow destruction of toolbar in BN_CLICKED handler.
209 comctl32: Allow enabling TVS_CHECKBOXES on the fly.
210 d3d8: Add missing relay trace.
211 wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE.
212 wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER.
213 wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set.
216 ole32/tests: Spelling fix.
217 ole32/tests: Spelling fix.
218 Assorted spelling and English fixes.
219 shell32/tests: Fix some expected FindExecutable() error codes.
220 shell32/tests: End the lines with CR+LF otherwise the profile APIs are unable to read them back on Win >= 2000.
221 shell32/tests: On Windows 98 FindExecutable() does not '\0' terminate the returned command which caused many tests to fail.
222 shell32/tests: On NT4 FindExecutable() returns an extra backspace character in some tests.
223 oleaut32/tests: Fix compilation on systems that don't support nameless structs or unions.
226 wined3d: Handle FBO attachments slightly more efficiently.
227 wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target.
228 wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values.
229 wined3d: Make bind_fbo a bit more generic.
230 wined3d: Separate attaching a surface to an FBO from set_render_target_fbo.
231 wined3d: Use the framebuffer blit extension to implement StretchRect.
232 wined3d: Add some StretchRectFilterCaps.
233 wined3d: Don't report render target formats we don't support as supported.
234 wined3d: Display the stream offset in GetStreamSource/SetStreamSource traces.
235 wined3d: Set the stream offset to 0 in DrawPrimitiveUP/DrawIndexedPrimitiveUP.
236 wined3d: Add some traces to stretch_rect_fbo.
237 wined3d: Remove some redundant IWineD3DSurface_PreLoad calls from stretch_rect_fbo.
238 wined3d: Disable the scissor test in stretch_rect_fbo.
239 wined3d: Disable the scissor test for depth blits.
240 wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride.
241 wined3d: Fix some swizzles on scalars.
244 wintrust: Improve a number of stubs.
245 setupapi: Implement SetupGetFileCompressionInfoEx{A, W}.
246 setupapi: Add tests for SetupGetFileCompressionInfoEx.
247 setupapi: Implement SetupDecompressOrCopyFile{A, W}.
248 setupapi: Add tests for SetupDecompressOrCopyFile.
249 setupapi: Remove debug traces from allocation routines.
250 setupapi: Implement SetupGetFileCompressionInfo on top of SetupGetFileCompressionInfoEx.
251 kernel32: Allow any amount of whitespace between the words ANSI and SCSI in /proc/scsi/scsi.
254 wineps.drv: Add a heuristic to cope with resolution strings of the form "nnnmmmdpi" (ie without the 'x' separator).
255 winspool.drv: Implement level 1 support for EnumPrinters.
256 imagehlp: Add support for the indices array passed to ImageEnumerateCertificates.
259 d3d9: Break out two helper functions from test_fvf_to_decl.
260 d3d9: Add a test for the converted vertex decl.
263 mshtml: Change TRACE to FIXME in stubs.
264 mshtml: Added IHTMLBodyElement::get_background implementation.
265 mshtml: Correctly handle utf-16 encoded pages.
266 mshtml: Added IPersistFile::Save implementation.
267 mshtml: Added IDM_COMPOSESETTINGS and IDM_HTMLEDITMODE stub implementation.
270 msi: Reset the is_extracted flag when every cabinet is loaded.
273 xcopy: Add support for /EXCLUDELIST:file1+file2 etc.
274 xcopy: Add support for /D and /D:m-d-y.
275 xcopy: Rearrange code to closely match windows ordering.
276 xcopy: Move all messages into an English resource file.
277 xcopy: Update comments with unsupported operations and current status.
279 xcopy: Make displayed names mirror windows.
280 xcopy: /E implies recursive (fixes ActiveState Perl installer).
281 xcopy: Hack/workaround for filenames starting with a '.'.
282 oleaut32: Convert to VT_DECIMAL fails with overflow (with test).
283 cmd.exe: Only search for supplied command as-is if it includes an extension.
284 cmd.exe: Attempt to launch pgm even if fails to locate it.
285 cmd.exe: Fix dir filename /s and resolve many output differences.
286 cmd.exe: Make dir support multiple parameters.
287 cmd.exe: Make dir a* b* or dir a* b* /s mirror windows.
288 cmd.exe: Partially fix 'dir *.' (ie files with no extension).
289 cmd.exe: Add support for move with simple wildcards.
290 cmd.exe: Add move support for wildcards and directories.
291 cmd.exe: Add prompting and COPYCMD plus /Y support to move.
292 cmd.exe: Fix regression when launching a fully qualified program.
295 ntdll: Don't use settimeofday() to attempt to set the timezone.
298 gdi32: Add two basic tests to check what WidenPath does.
299 gdi32: Correction of WidenPath behaviour when pen width is 1.
300 gdi32: Correct WidenPath behaviour when working on an open path.
303 advapi32: Spelling fixes.
304 comctl32: Fix first day of the week in monthcal.
305 comctl32: More monthcal hit tests.
306 user32: WM_ACTIVATEAPP on minimize message test.
307 comctl32: monthcal: GetMonthRange Tests.
310 user32: Add RealChildWindowFromPoint.
312 Maarten Lankhorst (2):
313 winearts.drv: Kill off winearts.
314 winecfg: Close audio driver when not needed any more.
317 ntdll: Remove superflous NULL checks.
318 configure: Include <sys/types.h> before including <linux/joystick.h>.
320 Michael Ploujnikov (1):
321 wined3d: Remove DDBLT_WAIT fixme.
323 Michael Stefaniuc (3):
324 msvcrt: Move the code to demangle a name with its template argument list out of get_class() and into a separate function.
325 msvcrt: Demangle a C++ mangled string that is only a name with it's template argument list.
326 ws2_32/tests: Remove redundant NULL check before HeapFree().
329 advapi32/tests: Reopen the main handle if needed.
330 advapi32/tests: Some cleanup.
331 ole32/stg_bigblockfile: Check page before use (Coverity).
332 odbccp32: Don't print *pcbPathOut as it can be NULL (Coverity).
333 ntdll/tests: Use GetModuleHandle and skip.
334 user32/tests: Don't run unicode tests if not supported.
335 advapi32/tests: Make sure NT4 and W2K tests don't fail.
336 setupapi/tests: Run tests on win98 again.
337 advapi32/tests: Use skip when OpenSCManagerA is not implemented.
338 advapi32/tests: Fix RegQueryValueExA test for win9x and ME.
339 advpack/tests: Don't hardcode the windows directory.
342 dinput: Add missing definition to public header.
343 ntdll: Remove one exception test.
346 urlmon: Fix a reference count leak that would keep the module alive when it shouldn't.
347 advpack: Call OleInitialize before registering OCXs, like native does.
348 advpack: Stop processing if there was an error registering an OCX.
349 ntdll: Pass the correct value to NtClose in the tests.
350 msi: Don't wait on closed handles in ACTION_FinishCustomActions.
351 atl: AddRef the object being returned in AtlInternalQueryInterface, not "this".
352 ole32: Convert the OpenDll list to a standard Wine list.
353 ole32: Move the in-process module loading to COMPOBJ_DllList_Add.
354 ole32: Move the handling of loading a dll and getting an in-process object from it to an apartment-specific function.
355 ole32: Add a test that shows CoFreeUnusedLibraries only frees unused libraries from the current apartment.
356 ole32: Cache the address for the library's DllGetClassObject and DllCanUnloadNow in the OpenDll list entry.
357 ole32: Keep a list of the loaded dlls for each apartment.
358 ole32: In 16-bit OLE, LPOLESTR uses multibyte, not Unicode characters so make LoadTypeLib16 take an LPSTR instead of LPOLESTR.
359 ole32: Add tests for drag and drop functions.
360 ole32: Check for COM not being initialised and an invalid window handle being input to RegisterDragDrop.
361 ole32: Check the input hwnd is valid in RevokeDragDrop.
362 ole32: Don't release the registered drop targets in OleUninitialize.
363 ole32: Move declaration for FileMonikerImpl_DecomposePath from compobj_private.h to moniker.h.
364 ole32: Fix a hack which depended on the IID of the interface being marshaled
365 shell32: Return Unicode strings from all of the IShellFolder::GetDisplayNameOf functions in not running in Win9x mode.
366 msi: Provide UI action data for uncompressed files, not just compressed ones.
368 Rolf Kalbermatter (4):
369 notepad: Implement handling of page setup dialog parameters.
370 notepad: Fix a possible rounding error when storing the font point size to the registry.
371 notepad: Fix text label.
372 notepad: Improve printing considerably.
374 Stefan Dösinger (10):
375 wined3d: Add GL_APPLE_client_storage to our extension list.
376 wined3d: Use GL_APPLE_client_storage if available.
377 wined3d: Add D3DDEVCAPS3_* to the wined3d caps header.
378 wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
379 wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap.
380 wined3d: Index buffer data is unsigned.
381 wined3d: Dirtify the shader and declaration states if the bound interface is destroyed.
382 d3d9: AddRef the device in IDirect3DVertexDeclaration9::AddRef.
383 d3d9: Fix the circular converted vertex declaration reference.
384 d3d9: Fix vertex decl test.
387 advapi32: Add some tests for RegDeleteTreeA.
390 winecfg: Add a button for audio test.
393 winecfg: Fix outdated Czech localization.
395 Vitaliy Margolen (2):
396 dinput: Set the event regardless of the queue state.
397 ntdll: Take size of the arena from the current pointer before advancing.