1 This is release 0.9.34 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
5 - A range of fixes for various installers.
6 - New builtin xcopy tool.
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.34.tar.bz2
15 http://prdownloads.sourceforge.net/wine/wine-0.9.34.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 ----------------------------------------------------------------
40 wined3d: Fix struct size calculation in EnumTextureFormats.
42 Alessandro Pignotti (3):
43 dplayx: Check for null pointer dereference in DP_FindPlayer.
44 dplayx: Corrected the way nameserver initializes the sessiondesc structure on broadcast request reply.
45 dplayx: Fixes the order of GUID initialization and storage.
48 cmd: Enlarge max. length of PATH variable.
50 Alexandre Julliard (38):
51 dbghelp: Avoid some warnings on Solaris.
52 wldap32: Prefix option defines with WLDAP32 to avoid conflicts with system headers.
53 ntdll: Remove unnecessary pointers in fstab parsing on Solaris.
54 server: Use the common pattern for async I/O parameters in named pipe requests.
55 server: Grab the owner object of an APC while the APC is executing.
56 server: Make struct async into a real object, to keep it around while the APC is running.
57 server: Return the status from an async I/O APC call to the server.
58 server: Add an async_data_t structure to store parameters for async I/O requests.
59 setupapi: Add support for .inf files in utf-8 format.
60 server: Add support for storing an event to signal upon async I/O completion.
61 server: Notify the async object when the APC call completed.
62 server: Move the signalling of the completion event for NtRead/WriteFile to the server.
63 ws2_32: Move the signalling of the completion event to the server.
64 server: Move the signalling of the named pipe completion event to the server.
65 server: Use a standard async I/O event to signal directory changes.
66 winex11.drv: Relax the bitmap depth check in CreateBitmap to accept some compatible formats.
67 server: Add an open_file() function to the object operations.
68 server: Implemented the open_file method for named pipe and mailslot devices.
69 server: Create the named pipe and mailslot devices under \Device.
70 server: Don't enforce named pipes path format in ntdll, only in the server.
71 server: Don't enforce mailslots path format in ntdll, only in the server.
72 ntdll: Better support for NT path names in wine_nt_to_unix_file_name.
73 server: Implement the open_file method for mailslots.
74 server: Implement the open_file method for named pipes.
75 server: Print the callback function in the APC_ASYNC_IO trace.
76 kernel32: Fixed timeout calculation in WaitNamedPipe.
77 ntdll: Avoid overwriting the result of the async I/O callback in NtFsControlFile.
78 server: A named pipe wait can be satisfied by an idle pipe server too.
79 server: Always return STATUS_PENDING when an async I/O operation has been queued.
80 kernel32: Don't use the reserved argument of the APC routine callback.
81 server: Add support for queuing a user APC upon async I/O completion.
82 server: Remove the return value of the flush() method, it's not used.
83 Makefile: More portable invocation of ctags/etags.
84 ntdll: Ignore failure to open current directory, it's broken on Mac OS X.
85 kernel32: Make default behavior more consistent when AeDebug key is not present.
86 libwine: Hack to work around the Solaris dlopen() brain damage.
87 kernel32: Better default for dwActiveProcessorMask in GetSystemInfo.
88 Makefile: Try to force the makefile to be rebuilt with non-GNU make too.
91 winex11.drv: Add Xcursor support for 32 bit cursors.
92 dsound: Change a couple DPRINTF's to TRACE's
95 comcat: Declare some variables static and const.
96 comctl32: Replace inline static with static inline.
97 advapi32: Replace inline static with static inline.
98 kernel32: Replace inline static with static inline.
99 ntdll: Replace inline static with static inline.
100 user32: Replace inline static with static inline.
101 wined3d: Replace inline static with static inline.
102 winex11.drv: Replace inline static with static inline.
103 server: Replace inline static with static inline.
104 winebuild: Replace inline static with static inline.
105 wineps.drv: Replace inline static with static inline.
106 ddraw: Replace inline static with static inline.
107 dsound: Replace inline static with static inline.
108 msvcrt: Replace inline static with static inline.
109 dinput: Replace inline static with static inline.
110 setupapi: Replace inline static with static inline.
111 gdi32: Replace inline static with static inline.
112 comctl32: Constify some variables.
113 dbghelp: Replace inline static with static inline.
114 kernel32/tests: Replace inline static with static inline.
115 mlang/tests: Replace inline static with static inline.
116 msg711.acm: Replace inline static with static inline.
117 comctl32: Constify some variables.
118 msi: Replace inline static with static inline.
119 shell32: Replace inline static with static inline.
120 msvcrt/tests: Replace inline static with static inline.
121 ole32: Replace inline static with static inline.
122 oleaut32: Replace inline static with static inline.
123 rpcrt4: Replace inline static with static inline.
124 comctl32: Constify some variables.
125 comctl32: Constify some variables.
126 include: Replace inline static with static inline.
127 shlwapi: Replace inline static with static inline.
128 wintab32: Replace inline static with static inline.
129 wininet: Replace inline static with static inline.
130 winmm: Replace inline static with static inline.
131 ws2_32: Replace inline static with static inline.
132 comctl32: Constify some variables.
133 winelib: Replace inline static with static inline.
134 loader: Replace inline static with static inline.
135 secur32: Replace const pointer parameters with correct pointers to const.
136 comctl32: Constify some variables.
137 comctl32: Constify some variables.
138 comctl32: Constify some variables.
139 comctl32: Cast-qual warnings fix.
142 ole32: Rework storage with blockfiles to properly use ILockBytes interfaces.
143 Revert 7c35db07c35db0... msiexec: Use CommandLineToArgvW instead of process_args to reduce code duplication.
144 imm32: Change the default IME window to better reflect applications request.
147 quartz: Hold a reference on a filter while sending data to it.
148 quartz: Release objects when pins fail to connect.
149 quartz: Disconnect pins when their filter is removed.
150 quartz: Release objects when they're no longer needed.
151 quartz: Don't delete critical sections before the filter's pins are done using them.
152 quartz: Don't redundantly set waveparser output pin data before it's created.
153 quartz: Fully disconnect the AsyncReader when released.
154 quartz: Make DSoundRender_Run start the playback buffer.
155 quartz: Implement volume and pan control for DSoundRenderer.
156 quartz: Store the current reference time with the PullPin.
157 quartz: Propogate transform filter errors upstream.
158 quartz: Return proper CLSID for parser filters.
159 quartz: Protect DSound buffer creation with a critical section lock.
160 winemp3: Clear stream buffers when the stream is reset.
161 quartz: Add filters using their names.
163 Clinton Stimpson (1):
164 riched20: Fix text replacement with text limit.
166 Damjan Jovanovic (2):
167 ws2_32: In some cases send should block until the entire buffer is sent.
168 ws2_32: WSASendTo should always re-enable the FD_WRITE event.
170 Detlef Riekenberg (7):
171 libs/wine: Use xstrdup to avoid duplicate code.
172 kernel32/tests: DuplicateTokenEx is not present on all platforms.
173 advapi32/tests: DuplicateTokenEx is not present on all platforms.
174 localspl/tests: Rename hXcv for special tests.
175 localspl/tests: Open the default Xcv-channel only once.
176 localspl/tests: Fix copy+paste bug.
177 winspool.drv: Do not cache the port names.
179 Dmitry Timoshkov (11):
180 winex11.drv: In the case requested glyphs do not present in the font fail gracefully instead of asserting.
181 msvcrt: Print FIXME on platforms where _except_handler3 is a stub.
182 user32: Avoid compiler specific code in the DefWindowProc test.
183 ole32: Move the storage signatures to the appropriate file that uses them.
184 riched20: Add a test that shows that under Win9x RichEdit20W windows are not unicode, but always expect to see unicode input.
185 user32: WM_GETTEXT message converters have to 0-terminate output buffer if there is enough space even if there is no text to convert.
186 riched20: Split unicode and ansi window procs, handle messages depending on the unicode flag.
187 gdi32: Implement GdiGetCodePage.
188 gdi32: Make the EMF driver return sane NUMCOLORS value.
189 include: Add some API prototypes to appropriate header files, fix some prototypes.
190 shlwapi: Match shlwapi wrappers to MSDN descriptions.
193 wined3d: Fix LockRect memory location calculation for WINED3DFMT_DXT*.
196 wined3d: Implement linear fog with pixel shader.
197 wined3d: Remove fog coordinate clamping in the vertex shader.
198 d3d9/tests: Add test for fog with shader.
199 wined3d: Implemented bump map transform for texbem in GLSL with native signed textures.
200 wined3d: Fix glsl texbem instruction for projective textures.
201 wined3d: Fix arb texbem instruction for projective textures.
202 d3d9/tests: Add test for texbem instruction.
203 wined3d: Implement support for projective textures in ps 2.0 and later.
206 wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported.
207 wined3d: Fix broken ERR() message.
208 wined3d: Use GL_TEXTURE_2D for dummy textures.
211 setupapi: Fix InstallCatalog()'s calling convention.
212 netapi32/tests: Add a missing '\n' to a trace().
213 gdi32: Remove a space before '\n' in a trace.
215 Remove unneeded checks on the GetModuleHandle() return value for cases where we are linked with the dll.
217 Gabriel Gambetta (1):
218 ntdll: Add Uruguayan Summer Time timezone.
221 configure: Add -lXau to NASLIBS if applicable to obtain XauGetBestAuthByAddr and XauDisposeAuth.
224 comctl32: tab: Added message sequence tests for the tab control.
225 comctl32: tab: Minor bug fixes in the curSel and curFocus getters and setters.
228 wine.inf: Register an 'install' verb with the shell for .inf files.
229 wine.inf: Open/print .rtf files with wordpad.
230 wine.inf: Add cabinet.dll to the list of fake dlls.
231 setupapi: Add a stub implementation for InstallCatalog.
232 userenv: Add stub implementations for {Register, Unregister}GPNotification.
233 mpr: Fix buffer size calculation in WNetGetUniversalNameW.
234 mpr: Add a stub implementation for WNetGetUniversalNameA.
235 ntdll: Fully initialize the security descriptor returned from RtlSelfRelativeToAbsoluteSD.
236 shell32: Add a stub implementation for SHPathPrepareForWrite{A, W}.
239 user32: Use a window's icon in preference to its class icon.
240 winex11.drv: Rename a local variable to avoid confusion with a global.
241 winex11.drv: Delete the tile pixmap whenever the drawable is changed.
244 spoolss: Added RevertToPrinterSelf stub implementation.
245 advapi: Constify argument of StartServiceCtrlDispatcher[AW] functions.
246 advapi: Improve SetEntriesInAclW stub.
247 spoolsv: Added spoolsv.exe.
248 wine.inf: Register Spooler service.
249 wine.inf: Code clean up.
250 mshtml: Added DispHTMLDocument dispinterface declaration.
251 mshtml: Added DIID_DispHTMLDocument to QueryInterface.
252 winnt.h: Added activation context structures declarations.
255 setupapi: Add missing SetupCopyOEMInf flags.
256 setupapi: Add several tests for SetupCopyOEMInf, with fixes so the tests don't crash.
257 setupapi: Handle the SP_COPY_NOOVERWRITE flag.
258 setupapi: Don't allow relative paths in SetupCopyOEMInf.
259 setupapi: The Inf file should be copied regardless of the destination buffer, with tests.
260 setupapi: Correct the Inf output position.
261 setupapi: SetLastError to ERROR_SUCCESS on success.
262 msi: Load the folder property if available and requested.
265 wined3d: Print lastpixel state fixme only once.
268 cmd.exe: Add support for DIR /D.
269 cmd.exe: Add support for dir /-C.
270 cmd.exe: Add support for DIRCMD and sequential qualifier processing.
271 cmd.exe: Add support for dir /A filtering.
272 cmd.exe: Add errorlevel support for DIR command.
273 cmd.exe: Only write 'bytes free' message if a file was displayed during dir.
274 Basic implementation of xcopy.
275 xcopy: Add support for /W (pause).
276 xcopy: Add support for /T (no copy).
277 xcopy: Prompt when overwriting files, add /Y and /-Y support.
278 xcopy: Add support for COPYCMD override and fix /-y.
279 xcopy: Add support for /N (shortname copy).
280 xcopy: Add support for /U (target must exist).
281 xcopy: Add support for /R (Replace read only files).
282 xcopy: Add support for /H (Hidden/System).
283 xcopy: Add support for /C (Continue if errors).
284 xcopy: Add support for /P (Prompt).
285 xcopy: Add support for xcopy /A and /M (archive copies).
288 amstream: sign-compare fixes.
289 advpack: sign-compare fix.
292 advapi32: Implement RegGetKeySecurity with NtQuerySecurityObject.
293 wine.inf: Move fake rundll32 to the system directory.
296 netapi32: Downgrade a FIXME and an ERR to a trace to not clutter test output on handled error conditions.
297 netapi32: fix a comment.
298 netapi32: Get rid of an ugly macro definition only used once.
299 netapi32: Downgrade another WARN and ERR to a TRACE.
300 netapi32: Remove another macro, replace by more readable functions.
301 netapi32: Downgrade more ERRs to TRACEs.
302 netapi32/tests: Use skip when skipping tests.
303 netapi32: Add test for adding/deleting users.
304 netapi32/test: Test the username and password length limits.
305 netapi32: Implement NetUserAdd with a dummy user database.
306 netapi32: Implement NetUserDel.
307 netapi32: Implement NetUserChangePassword.
308 netapi32/tests: Make NetGetUserInfo checks language independent.
310 Kanit Therdsteerasukdi (1):
311 comctl32: datetime: Reject invalid flags in DTM_SETSYSTEMTIME.
314 Revert "gdi32: Disable the freetype mmap sharing on Mac OS.".
317 gdi32: WidenPath partial implementation.
320 kernel32: Print a fixme only once.
321 shell32: Define avi resource #163.
322 kernel32: Add stub for AttachConsole.
323 ntdll: Add NtAreMappedFilesTheSame stub.
325 Marcin Grześkowiak (1):
326 user32: Use charset of currently selected font in DrawTextExA.
328 Michael Stefaniuc (1):
329 quartz: Fix typo that produced an empty if-statement.
331 Mikołaj Zalewski (14):
332 browseui: Remove a test with a wrong pointer.
333 shell32/explorer: Support different structure sizes in Shell_NotifyIcon.
334 shell32: Don't free user supplied data in Shell_NotifyIcon if GetIconInfo failed.
335 shell32: Add some more notify icon defines.
336 user32: tests: Using DefWindowProcA with RegisterClassW works under Windows.
337 comctl32: CreateToolbarEx should send TB_SETBITMAPSIZE twice.
338 comctl32: toolbar: The default button size is 16x16.
339 comctl32: toolbar: Test standard buttons size.
340 comctl32: toolbar: We shouldn't try to resize standard bitmaps.
341 shell32: autocomplete: Don't use sel uninitialized.
342 user32: combobox: The text area height should be font_height+4.
343 wrc: Add HTML resources support to wrc --verify-translation.
344 wrc: Change the format of the output of "wrc --verify-translation".
345 comctl32: toolbar: TB_HIDEBUTTON and TB_MOVEBUTTON shouldn't force a recalc.
348 gdi32: Don't write a metafile record for escapes that require output.
351 kernel32/tests: Use skip.
352 wininet/ftp: Simplify FTP_FtpGetFileW a bit.
353 wininet/ftp: Move a definition in FTP_FtpFindFirstFileW (Coverity).
354 wininet/tests: Expose a problem with FtpGetFile.
355 wininet/ftp: Remove unneeded check.
356 wininet/ftp: Fix potential memory leak.
357 netapi32/tests: Use LoadLibrary where needed and skip.
358 shlwapi/path: Proper use of GetProcessHeap().
359 oleaut32/tests: Use skip.
360 kernel32/profile: Rename a test.
361 kernel32/profile: Move GetPrivateProfileSectionA to its own test.
362 kernel32/profile: Add a few NULL checks (Coverity).
363 kernel32/profile: Some parameter tests for GetPrivateProfileSectionA.
364 advapi32/tests: Use skip.
365 advapi32/tests: Move check for ERROR_CALL_NOT_IMPLEMENTED to the first call.
366 advapi32/tests: Add check to see if LookupAccountNameA is implemented.
367 advapi32/tests: Add check to see if ImpersonateSelf is implemented.
368 advapi32/tests: Add check to see if SetEntriesInAclW is implemented.
371 wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext.
374 comctl32: Fixed TreeView_EndEditLabelNow crash.
375 comctl32: Set label width after editting.
378 ole32: Add warnings for failures in the structured storage stream functions.
379 ole32: Implement TYMED_FILE for STGMEDIUM marshaling and unmarshaling.
380 include: Fix the byte-order in the definition of the USER_MARSHAL_CB_SIGNATURE macro.
381 oleaut32: Add some tests for user marshaling a VT_UNKNOWN variant.
382 oleaut32: Make the VARIANT_UserUnmarshal tests work on XP.
383 oleaut32: Clear the input pvar structure in VARIANT_UserUnmarshal to free the data instead of just initializing.
384 ole32: Add a test for StgStreamImpl_SetSize with a non-zero HighPart for the size.
385 atl: Add support for the pMapEntries parameter to AtlModuleUpdateRegistryFromResourceD.
386 atl: Add support for the registrar parameter of AtlModuleUpdateRegistryFromResourceD.
387 winedump: Fix the output for Makefile.in with respect to the dependencies line to match that required by the build system.
388 ole32: The 16-bit version of CoDisconnectObject is not compatible with the 32-bit version, so create a separate stub for the former.
389 rpcrt4: Implement associations which are intermediary objects that track the relationship between the client and a given endpoint on the server.
390 rpcrt4: Make some parameters of non-exported functions const.
391 ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager.
392 ole32: Add the OXID_INFO structure to dcom.idl.
393 ole32: Generate OXID_INFO in the stub manager.
394 rpcrt4: Retrieve the maximum token length from the security provider rather than using a hardcoded and rather small limit.
395 rpcrt4: Call InitializeSecurityContext from only one function.
396 rpcrt4: Call CompleteAuthToken if InitializeSecurityContext returned a code that says it should be called.
397 rpcrt4: Use the correct authorization trailer length using information from the security provider.
398 ole32: Handle NULL sub-objects correctly in the STGMEDIUM user marshaling functions so that no further data in marshaled or unmarshaled.
399 ole32: Add documentation for CreateBindCtx, BindMoniker, GetRunningObjectTable and OleRun.
400 ole32: Add documentation for CoGetClassObject and GetClassFile.
401 ole32: Move GetClassFile to moniker.c and move OleRun to ole2.c.
402 ole32: Register the ProgID for the class and file monikers.
403 ole32: Pass the OXID info to RPC_CreateClientChannel and use this to pass the server process ID to channel hooks.
404 ole32: Add tests for the standard marshaler's implementation of IClientSecurity.
405 ole32: Do a case-insensitive comparison in the count_moniker_matches in the moniker tests as Win9x marshals an all upper-case file name for file monikers.
406 ole32: Display the testname for the test for display name in test_moniker.
407 ole32: Add some more tests for MkParseDisplayName.
408 ole32: Implement MkParseDisplayName.
409 rpcrt4: Fixing the using of the auth_len values the wrong way round - PKT_PRIVACY implies the packet will be encrypted, not just signed.
411 Stefan Dösinger (13):
412 wined3d/ddraw: Forward DDSCL_MULTITHREADED to wined3d.
413 wined3d: Fix client gl unit selection.
414 wined3d: Remove some old stuff.
415 wined3d: Activate a context before doing opengl calls.
416 wined3d: Store an array of contexts in the swapchain.
417 wined3d: Add GL_ATI_envmap_bumpmap to our gl extension header.
418 wined3d: Support GL_ATI_envmap_bumpmap for D3DFMT_V8U8.
419 wined3d: Store the pixel format in the texture.
420 wined3d: General signed format correction without native signed formats.
421 wined3d: Handle input modifiers in texcrd with arb shaders.
422 wined3d: Implement bem shader instruction.
423 wined3d: Disable texture coordinate arrays on the correct unit.
424 ddraw: When changing the back buffers also update the render target.
427 wined3d: Check for float texture formats correctly.