1 This is release 0.9.54 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4 - Photoshop CS/CS2 should now work, please help us testing it.
5 See http://wiki.winehq.org/AdobePhotoshop for details.
6 - A number of RPC fixes.
7 - Various improvements to the debugger support.
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.54.tar.bz2
15 http://prdownloads.sourceforge.net/wine/wine-0.9.54.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 Alexander Dorofeyev (4):
40 wined3d: Change colorkey fixup for stage 0 alphaop / alphaarg.
41 ddraw: Fix handling of alpha with D3DTBLEND_MODULATE.
42 ddraw/tests: Add test for D3DTBLEND_MODULATE.
43 wined3d: Fix not released swapchain in some codepaths.
45 Alexander Nicolaysen Sørnes (7):
46 wordpad: Fix width when text break = margins.
47 wordpad: Add basic ruler.
48 riched20: Include selection bar size in POSFROMCHAR.
49 riched20: Don't clear CFM_UNDERLINE flag when applying styles where it is set.
50 uninstaller: Disable Uninstall button when no items selected.
51 uninstaller: Fix Norwegian Bokmål resource.
52 winecfg: Update Norwegian Bokmål resource.
54 Alexandre Julliard (55):
55 kernel32: Close the stdio handles when creating a detached process.
56 kernel32: Don't inherit stdin/stdout handles in wineboot.
57 user32: Don't inherit stdin/stdout handles in explorer.
58 server: Take into account the extended registers part of the i386 context.
59 kernel32/tests: Avoid size_t in traces.
60 ntdll: Copy extended registers too in copy_context().
61 ntdll: Linux support for saving and restoring the extended FPU context on exceptions.
62 ntdll: Mac OS support for saving and restoring the extended FPU context on exceptions.
63 ntdll: Restore typecast that is really needed.
64 ntdll: Fall back to a server device ioctl for files with no associated fd.
65 mountmgr.sys: Fix values returned for IOCTL_STORAGE_GET_DEVICE_NUMBER on emulated disks.
66 winebuild: Reserve the space for the PE header in the .init section.
67 winmm: Load only one sound driver at a time.
68 wineboot: Add a --init option used when launched automatically at startup.
69 wineboot: Delay import the dlls that are not needed for the default initialisation.
70 winebuild: Don't try to use the .init section on Mac OS.
71 kernel32: Fix the system affinity returned by GetProcessAffinityMask.
72 server: Don't force the process affinity to 1, leave it up to the client.
73 winex11.drv: Don't fetch the atom for a null device type.
74 winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.
75 winex11.drv: Moved initialization of screen_width/height to xinerama_init to do it inside the x11 lock.
76 ntdll: Don't try to restore extended fpu context if not supported.
77 widl: Use the real argument names in the C method macros.
78 winex11.drv: Set the initial icon hints in set_initial_wm_hints().
79 libwine: Properly increment source pointer for surrogates in wine_utf8_wcstombs.
80 user32,server: Set the initial window rectangles to 0,0-0,0.
81 winex11.drv: Fix handling of strange window sizes in CreateWindow, with tests.
82 winex11.drv: Only allocate wm hints if we have an X11 window.
83 ntdll: Don't fetch extended FPU context if there's no FPU context at all.
84 server: Add a separate request to set the window visible rect.
85 server: Invalidate the correct region when custom valid rects are specified.
86 winex11: Abstract the server part of SetWindowPos into a separate function.
87 winex11: Make the client rect relative to the parent window for consistency with the server side.
88 winex11: Properly invalidate moved child windows instead of forcing SWP_NOCOPYBITS.
89 winex11: Move the window bits according to the valid rects instead of invalidating.
90 winex11: Move resetting of the cursor clip rectangle into xinerama_init().
91 winex11: Leave it up to explorer to specify the correct size and position for the desktop.
92 winex11: Update the win data rectangles before doing anything else in SetWindowPos.
93 winex11: Move code around in X11DRV_SetWindowPos to reduce indentation levels.
94 winex11: Add a mapped flag to the window data instead of relying on WS_VISIBLE.
95 winex11: Apply the existing window region (if any) when creating the whole window.
96 winex11: Set hints for the existing window text when creating the whole window.
97 winex11: Set icon hints on non-managed windows too, since they may become managed later on.
98 winex11: Get the icon from the window in case it was changed before the whole window was created.
99 winex11: Remove obsolete code to set Z-order for child windows.
100 winex11: Export a function to dock a window into the system tray, and get rid of the WS_EX_TRAYWINDOW style.
101 comctl32: Tooltips should be top-most windows.
102 user32: Menus should be top-most windows.
103 winex11: Don't create a win_data structure for the root window in non-desktop mode.
104 winex11: Create the window data structure lazily, once the window is made visible.
105 winex11: Check for need to make window managed when WS_VISIBLE is set outside of SetWindowPos.
106 winex11: Catch DIB memory accesses that touch the last page beyond the DIB bits end.
107 user32: Moved the bulk of CreateWindow and SetWindowPos from the driver back into user32.
108 Avoid sizeof in traces.
109 winex11: Check for managed mode in create_whole_window again now that it is called lazily.
111 Alistair Leslie-Hughes (15):
112 msxml3: Implement get_dataType.
113 msxml3: Correct get_attributes for CDATA Section.
114 msxml3: Implemented IXMLDOMCDATASection COM Object.
115 msxml3: Implement GetClassID for XMLDocument IPersistStream interface.
116 msxml3: Corrected getAttribute to return current value and assign output var.
117 mscoree: Fix memory leak.
118 msxml3: Implement put_text.
119 msxml3: Implement get_nodeTypeString.
120 msxml3: Attribute nodes are not typed.
121 msxml3: Implement IXMLDOMImplementation Interface.
122 msxml3: Implement IXMLDOMDocumentFragment Interface.
123 msxml3: Entity Reference nodes do not support attributes property.
124 msxml3: Implement IXMLDOMEntityReference interface.
125 msxml3: Return correct IDispatch Interface.
126 gmsxml3: Added typelib support.
129 wined3d: Set swapchain container before flagging front buffer with SFLAG_INDRAWABLE.
132 wordpad: Update German strings and correct shortcuts to match XP wordpad.
135 netapi32: Remove unneeded cast.
136 msvcrt: Remove unneeded casts.
137 ntdll: Remove unneeded casts.
138 msxml3: Remove unneeded cast.
139 msvfw32: Remove unneeded casts.
140 setupapi: Fix dead code (Coverity).
141 ole32: Remove unneeded casts.
142 oleaut32: Remove unneeded casts.
143 qcap: Remove unneeded casts.
144 psapi: Remove unneeded cast.
145 rpcrt4: Remove unneeded casts.
146 quartz: Remove unneeded casts.
147 riched20: Remove unneeded casts.
148 rsaenh: Remove unneeded casts.
149 sane.ds: Remove unneeded casts.
150 secur32: Remove unneeded casts.
151 setupapi: Remove unneeded casts.
152 shell32: Remove unneeded casts.
153 shell32: Remove unneeded casts.
154 shell32: Remove unneeded casts.
155 urlmon: Remove unneeded cast.
156 user32: Remove unneeded casts.
157 user32: Remove unneeded casts.
158 uxtheme: Remove unneeded casts.
159 vmm.vxd: Remove unneeded casts.
160 wined3d: Remove unneeded casts.
161 wined3d: Remove unneeded casts.
162 wined3d: Remove unneeded casts.
163 wined3d: Remove unneeded casts.
164 winedos: Remove unneeded casts.
167 wineboot: Russian translation.
168 shell32: Update Russian translation.
169 wordpad: Adding to Russian translation.
170 wordpad: Corrections in Russian translation.
171 regedit: Update Russian translation.
172 write: Russian translation.
173 browseui: Russian translation.
174 wininet: One addition to Russian translation.
175 credui: Added Russian translation.
178 wineps.drv: Properly handle NULL LPLOGFONT in PSDRV_EnumDeviceFonts.
182 tools: Spelling fixes.
183 wined3d: Spelling fixes.
184 comctl32: Spelling fixes.
186 Christoph von Wittich (1):
187 msi: Fix process token leak.
189 Christopher Berner (1):
190 user32: Fixed off by one scroll bar pixels.
193 oleaut32: Use the symbolic name for TYPEFLAG_FDISPATCHABLE.
196 gdiplus/tests: Don't free if alloc failed.
197 hlink/tests: Skip tests if hlink couldn't be created.
198 urlmon: Fix unlikely free of uninitialized pointer.
199 winealsa.drv: Don't return garbage if can't find active channel.
200 gdi32: Fix AddFontResource behavior with relative paths.
202 Dmitry Timoshkov (11):
203 gdi32: Use public FS_xxxxxx defines.
204 gdi32: Initialize more fields in GetEnumStructs.
205 gdi32: Add a test for undocumented EnumFontFamiliesEx(NULL), make it pass under Wine.
206 gdi32: Do not allow to create too large device dependent bitmaps like Windows does.
207 gdi32: Allocate cache for face enumeration data only when necessary.
208 ntdll: Do not perform base relocation if an image is not a DLL.
209 gdi32: Actually perform the fractional scaling test, make it pass under Wine.
210 winebuild: Add a couple of missing indentations in the generated asm files.
211 user32: Make MapVirtualKeyEx(MAPVK_VK_TO_CHAR) behave more like in Windows.
212 shell32: Add a LogoffWindowsDialog stub.
213 winex11.drv: Remove an incorrect FIXME.
216 dbghelp: Silence superfluous message (spotted by Robert Reif).
217 dbghelp: In Minidump, change a couple of internal names for consistency.
218 winedbg: Fixed bt all so that current process/thread isn't lost.
219 winedbg: Workaround broken minidumps with invalid 32->64 address conversion.
220 winedbg: Added a way to support differently selector information depending on current target.
221 ole32: Fixed datacache object so that we can retrieve meaningful information.
222 msvcrt: symbol undecoration: Now correctly parsing the template forms.
223 msvcrt: symbol undecoration: Handling of void in template parameters' list.
224 msvcrt: symbol undecoration: Added support for cointerface.
225 msvcrt: symbol undecoration: Added support for a couple of more calling conventions.
226 msvcrt: symbol undecoration: Corrected handling of non static member function modifiers.
227 msvcrt: symbol undecoration: Added support for thunks.
228 msvcrt: symbol undecoration: Added support for RTTI types.
229 msvcrt: symbol undecoration: Really check that we get a template string before making use of it.
230 ntdll: Fixed getting the RTS status from line, and now using sane default values for all (compilation/system) cases.
231 msvcrt: Corrected the .spec definition for the printf functions family.
232 regedit: Warn about newest unicode export from native regedit.
234 Eric van Beurden (6):
235 dbghelp: Update some mscvpdb.h definitions and descriptions.
236 dbghelp: Return TRUE in SymInitializeW if process is already initialized and add an ERR to SymCleanup.
237 dbghelp: Wrap TRACE strings using the debugstr functions and update some type casting.
238 dbghelp: Some minidump corrections so that windbg can read our minidump files.
239 dbghelp: Fix file searching to search only listed directories instead of the whole HD.
240 dbghelp: Prevent huge minidumps by ensuring the memory range is clamped.
242 Francois Gouget (11):
243 gdi32: Small wording tweaks in comments.
244 ddraw/tests: Fix compilation on systems that don't support nameless unions.
245 Fix spelling error in the generated conformance test files.
246 include: Document some Microsoft spelling mistakes so we know they are not to be fixed.
247 kernel32/tests: Small spelling fix in a parameter name.
248 Assorted spelling fixes.
249 advapi32/tests: Actually test strings that expand to something bigger than their original size.
250 advapi32/tests: Add the trailing '\n' to an ok() call.
251 kernel32/tests: Test the expansion of indirect environment variable references.
252 winemenubuilder: Expand environment variable references in the shortcut's WorkDir, Description and IconPath fields.
253 Assorted spelling fixes.
256 wininet: Fix type of a loop variable in HTTP_BuildHeaderRequestStr().
257 kernel32: Fix type of a loop variable in SNOOP16_Entry().
258 kernel32: Use setproctitle where applicable to set the process name.
264 license: Update copyright info for the new year.
265 msvcrt: Fix _execv spec entries for the forwarding variants too.
266 msvcrt: _ftol returns a 64-bit value.
267 msvcr71: Add an implementation that forwards to msvcrt.
268 gdi32: Last parameter of GetICMProfile is an output parameter.
269 gdi32: Make GetICMProfile behave more like native. Rewrite ansi version as a wrapper and move color management functions to their own file.
270 gdi32: Add tests for GetICMProfile and SetICMMode.
271 mscms: Use NT directory for storing color profiles.
272 mscms: Open .icm files only when enumerating color profiles.
275 shdocvw: Added DWebBrowserEvents2 test.
276 shdocvw: Call OnFullScreen in put_FullScreen.
277 shdocvw: Call WindowSetResizable in put_Resizable.
278 shdocvw: Call StatusTextChange in set_status_text.
279 shdocvw: Store URL in BindStatusCallback.
280 shdocvw: Use more flexible mechanism instead of WB_WM_NAVIGATE2.
281 shdocvw: Delay creating URL moniker to bind_to_object call.
282 shdocvw: Do navigation in message handler.
283 shdocvw: Store headers as BSTR.
286 msi: dest_path refers to the directory prefix, not the entire file path.
287 propsys: Add a stub implementation of propsys.dll.
288 msi: Add more MsiFormatRecord tests.
291 d3d9 tests: Correct some typos.
294 loader: Updated French man page.
297 wintrust: Don't expect ImageGetCertificateData to succeed when Certificate is NULL.
298 crypt32: Don't release default crypto provider on process shutdown.
299 crypt32: Fix race condition in loading default provider.
300 hhctrl.ocx: Don't return uninitialized stream.
303 gdi32: Fix spec file to export the right symbols for GetGlyphOutline.
306 winex11.drv: Accomodate XGetWindowProperty returning an actual format of something other than 32 for the TARGETS property.
309 ddraw: Register the DirectDraw 7 Object.
311 Marcus Meissner (13):
312 server: Enumerate process in reverse.
313 mshtml: Check for This->frame.
314 wined3d: Check for overflows.
315 urlmon: Skip pstgmed related tests if NULL.
316 wmi: Initial version of wmi.dll.
317 gdi32: Fix possible NULL ptr in TRACE.
318 msi: Replaced msi_free() by LocalAlloc() since ConvertSidToStringSidW uses LocalAlloc().
319 wined3d: Removed deadcode.
320 cmd: Include <time.h> for time().
321 wined3d: Initialize swapchain.
322 rpcrt4: Initialize CurrentHeader.
323 d3d9/tests: Initialize decl.
324 wininet: Check if buffer has overflowed potentially.
326 Michael Stefaniuc (3):
327 winedump: Do not create a header file when not generating skeleton code.
328 winedump: Use the DEFINE_THISCALL_WRAPPER macro instead of the GET_THIS macro for functions with __thiscall calling convention.
329 winedump: Use a switch in the generated DllMain().
331 Pablo Spallanzani (1):
332 wined3d: Fix texture coordinate calculation in surface_blt_to_drawable.
335 mscoree: Semi-stub for LoadStringRCEx and LoadStringRC.
338 kernel32/tests: FindFirstVolumeA is not available on win98.
339 advapi32/tests: Make tests run on win9x/NT4 again.
340 user32/tests: Run full test again on win95 and NT4.
341 msi/tests: Only use functions if they are implemented.
342 msi/tests: Only use functions if they are implemented.
343 kernel32/tests: Win9x returns a different last error.
346 user32: Make the clipboard tests pass on Vista.
347 user32: Make the class tests pass on Vista.
348 user32: Make the edit tests pass on Vista.
349 gdi32: Vista returns UNICODE_NOCHAR if a character does not exist.
350 advapi32: Fix some cred test failures on Vista and prevent it crashing.
353 include: Flesh out winhttp.h with more function declarations, typedefs and defines.
354 rpcrt4: Allocate a context handle if a NULL GUID is being unmarshalled.
355 rpcrt4: Add support for calculating the memory size of complex types with embedded non-conformant strings.
356 rpcrt4: Don't print fixmes for NDR types without a freeing function.
357 rpcrt4: Add traces to the start of TowerConstruct and TowerExplode.
358 winhttp: Add a stub for WinHttpOpen.
359 rpcrt4: Fix the calculation of element sizes for complex arrays by using a new function ComplexStructSize that doesn't touch the buffer to calculate the size.
360 rpcrt4: Handle complex arrays in calc_arg_size.
361 rpcrt4: The initialisation of [out] variables in the stubless code must be after the unmarshaling of [in] and [in, out] variables has been completed.
362 mlang: Implement Rfc1766ToLcidW.
363 rpcrt4: Allow NULL networkaddr and endpoint in rpcrt4_np_get_top_of_tower.
364 ole32: Partially implement ServerRpcChannelBuffer_GetDestCtx.
365 rpcrt4: Move the setting of retval_ptr outside of any particular stub phase in stub_do_args and stub_do_old_args.
366 rpcrt4: Add tests for RPC_FC_P_DEREF|RPC_FC_P_ONSTACK pointers.
367 comctl32: Keep on displaying the last frame of the animation after the animation has stopped.
368 comctl32: Support seeking to a particular frame.
369 rpcrt4: Add an exception handler for stubless object proxies.
370 rpcrt4: Only initialise the context handle to NULL in NdrContextHandleUnmarshall if it is an out-only or return one.
371 iphlpapi: Implement GetBestInterfaceEx.
372 kernel32: Initialise the top 16-bit stack frame to zero.
373 widl: Write out code for initialising out-only client context handles.
374 riched20: The wParam parameter to WM_GETTEXT contains the number of characters, not the number of bytes.
375 riched20: Always treat the nCount variable in the EM_GETTEXTEX handler as a character count.
376 rpcrt4: Implement asynchronous RPC support.
377 rpcrt4: Move the receiving of an individual fragment to a separate function.
378 rpcrt4: Remove some unimplemented win9x-only spec entries.
379 rpcrt4: Don't set BufferStart and BufferEnd in NdrStubCall2.
380 ole32: Don't get the HRESULT from the buffer if we get an RPC_S_CALL_FAILED status back from the runtime.
381 advapi32: Add more tests for SetEntriesInAcl.
382 ntdll: Fix the index check in RtlGetAce.
383 advapi32: Implement SetEntriesInAclW.
384 advapi32: Add a test for LookupAccountNameA on a well-known group.
385 advapi32: Implement LookupAccountNameW for well-known groups.
386 rpcrt4: Fix the error handling in RpcBindingSetAuthInfoA/W when RpcAuthInfo_Create fails.
387 rpcrt4: Pass the SPN input to RpcBindingSetAuthInfoA/W into InitializeSecurityContextW instead of AcquireCredentialsHandleA/W.
388 rpcrt4: Check the return value of RPCRT4_ClientAuthorize in RPCRT4_Send.
389 credui: The list should be the first parameter to the list_add_tail function.
390 credui: Return the state of the dialog's save checkbox to CredUIPromptForCredentials.
391 ntdsapi: Add tests for DsMakeSpnW.
392 ntdsapi: Implement DsMakeSpnW.
393 wininet: Pass the server name into InitializeSecurityContextW.
395 Roderick Colenbrander (2):
396 wined3d: Fix glBlendColorEXT for use on RivaTNT.
397 wined3d: Don't use texture_rectangle for paletted textures.
400 qmgr: Implement IClassFactory methods.
403 gdi32: Fix Traditional Chinese font mapping to "PMingLiU", "MingLiU".
404 winecfg: Add Traditional Chinese translation.
406 Stefan Dösinger (15):
407 wined3d: Add a new IWineD3DResource::UnLoad method.
408 wined3d: Implement IWineD3DSurface::UnLoad.
409 wined3d: Implement IWineD3DVertexBuffer::UnLoad.
410 wined3d: Implement IWineD3DIndexBuffer::UnLoad.
411 wined3d: Implement IWineD3DVolume::UnLoad.
412 wined3d: Implement IWineD3DTexture::UnLoad.
413 wined3d: Implement IWineD3DCubeTexture::UnLoad.
414 wined3d: Implement VolumeTexture::UnLoad.
415 d3d9: Reject IDirect3DDevice9::Reset with active default pool resources.
416 wined3d: Unload all resources on Reset.
417 wined3d: Keep track of shaders.
418 wined3d: Reset the shader state on shader_*_destroy.
419 wined3d: Destroy arb shaders on shader destroy.
420 wined3d: Destroy opengl shaders on reset.
421 wined3d: Clear the constant list before finding constants.
424 advapi32: Added some tests for QueryServiceConfig2A/W.
427 d3dx9: Start implementation of d3dx9_36.