Release 1.3.15.
[wine] / ANNOUNCE
1 The Wine development release 1.3.15 is now available.
2
3 What's new in this release (see below for details):
4   - Support for changing network passwords.
5   - Reflection support in shader compiler.
6   - Tests no longer attempt to cope with Win9x behavior.
7   - A number of MSHTML and MSXML improvements.
8   - Various bug fixes.
9
10 The source is available from the following locations:
11
12   http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.15.tar.bz2
13   http://prdownloads.sourceforge.net/wine/wine-1.3.15.tar.bz2
14
15 Binary packages for various distributions will be available from:
16
17   http://www.winehq.org/download
18
19 You will find documentation on http://www.winehq.org/documentation
20
21 You can also get the current source directly from the git
22 repository. Check http://www.winehq.org/git for details.
23
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
26
27 ----------------------------------------------------------------
28
29 Bugs fixed in 1.3.15:
30
31   11965  gethostbyname requires a successful WSAStartup invocation before performing an operation
32   12583  clipboard monitor is not working in PSPad
33   14412  staruml can't load examples
34   16551  install fails - msi_cabextract FDICopy fails
35   18153  Wizard101 will not load
36   18598  Source Insight: Window Title Bar does not get updated with the new file when jumping to the definition from the current file.
37   19654  The "Mudokon Status Indicator" in Abe's Oddysee doesn't work correctly
38   21210  Clicking on URL hyperlinks in PowerPoint 2007 results in a crash
39   23734  Office 2007 installer: cannot add or remove programs after initial install
40   24250  Sam and Max 304 aborts on unimplemented function msvcr80.dll.getenv_s
41   24268  mono's gluezilla uses unimplemented function msvcr80._stat32
42   24290  GetOpenFileName() triggers read of uninitialized variable
43   24440  Second Life crashes with unimplemented function(s) from msvcr80.dll
44   24553  unimplemented msvcrt.dll._wfindfirst64
45   25033  Solo on Keyboard 9.0.2.1 setup fails
46   25098  BrainSplode! crashes with Unimplemented function d3dx9_36.dll.D3DXCreateTextA
47   25273  msvcrt/misc.ok I10_OUTPUT long double crash with winetest.exe, not make test
48   25443  Unimplemented function msvcr90.dll._ftime64_s
49   25618  Super Meat Boy fails to output audible sound
50   25866  Mafia: City of Lost Heaven - Crash when starting Freeride Supreme Mode
51   26114  gdi32/mapping tests shows a couple memory leaks in valgrind
52   26133  d3dx9_36: surface and texture tests shows an invalid read under valgrind
53   26174  Theme internals crash with Unimplemented function ADVAPI32.dll.EnableTraceEx
54   26177  Compilation of dlls/msxml3 fails on CentOS 3
55   26178  MS Word 2003 save document with embedded fonts needs t2embed.dll._TTEmbedFont@44 implemented
56   26201  wineboot fails to install gecko automatically
57   26228  msxml3 fails to build when libxml2 is built with +icu useflag
58   26233  Dragon Age 2 demo - sound sometimes missing in EA logo movie
59   26248  Pokerstars client, windows pops up just to die
60
61 ----------------------------------------------------------------
62
63 Changes since 1.3.14:
64
65 Akihiro Sagawa (5):
66       hhctrl.ocx: Use DEFAULT_GUI_FONT to show non-ansi characters properly.
67       shdocvw: Add Japanese translation.
68       wineconsole: Add Japanese translation.
69       credui: Add Japanese translation.
70       msvfw32: Add Japanese translation.
71
72 Alexander Kochetkov (1):
73       gdi32: Fix scaling factors for EMR_EXTTEXTOUTW.
74
75 Alexander Scott-Johns (2):
76       comctl32: Fix read of uninitialized data in LISTVIEW_GetItemExtT when LVIF_TEXT is not set (Valgrind).
77       comctl32: Fix read of uninitialized data in notify_itemactivate (Valgrind).
78
79 Alexandre Goujon (1):
80       ws2_32: Make gethostbyname fail if WSAStartup was not called before.
81
82 Alexandre Julliard (39):
83       cabinet: Fix the remaining todo_wine tests in fdi.c.
84       cabarc: Set the initial cabinet number to 0.
85       kernel32: Use debugstr_a to avoid overflow with user-specified string.
86       ntdll: Improve the error reporting for invalid PE file architectures.
87       wine.inf: Put some fake dlls in the right place for WoW64.
88       cabinet: Preserve trailing slash on directory name in Extract().
89       server: Increment the usage count of the global table also when starting a local hook.
90       winex11: Synchronize the mouse cursor in update_mouse_state.
91       winex11: Update the window cursor at most once every 100ms if nothing changed.
92       d3dx9_36: Cleanup the fixme_once handling.
93       msxml3: Include the system libxml headers before the Windows headers.
94       server: Make the foreground thread input per-desktop instead of global.
95       server: Store the global cursor position in the server.
96       server: Store the cursor clip rectangle in the server.
97       server: Store the global key state in the server.
98       server: Work around Mac OS not being able to set global breakpoint flags.
99       winedbg: Support setting a breakpoint from a file name and line number.
100       server: Fill the key state in mouse events from the server-side state.
101       server: Maintain the "set since last time" bit for the global keystate.
102       user32: Retrieve the key state for GetAsyncKeyState from the server.
103       user32: Retrieve the current cursor position from the server.
104       winex11: Pass a window handle for keyboard hardware messages too.
105       server: Don't pass a thread id to send_hardware_message, determine it from the window.
106       ntdll: Don't print an error when architecture is set to win64 and the app is 64-bit.
107       server: Pass the original hardware input data to the server and set the message parameters on the server side.
108       server: Set the message code for keyboard input on the server side.
109       server: Set the message code for mouse input on the server side.
110       winex11: Fetch the key state from the server when adjusting state on KeymapNotify and key events.
111       user32: Export a Wine-specific function to send hardware input from the graphics driver.
112       server: Invoke low-level hardware hooks directly from the server side.
113       user32: Handle input injected through SendInput entirely in user32.
114       winex11: Get rid of the ClipCursor and SendInput entry points.
115       winex11: Merge updating the mouse state and sending the input into a single helper function.
116       winex11: Convert the clipboard data list to a standard Wine list.
117       winex11: Convert the clipboard format list to a standard Wine list.
118       winex11: Add a debug helper for printing clipboard formats.
119       winex11: Pre-register atoms for all the built-in clipboard formats.
120       winex11: Always reference clipboard formats by atom instead of name.
121       user32: Remove GetClipboardFormatName from the user driver interface.
122
123 Alistair Leslie-Hughes (4):
124       mshtml: Add support for get/put mousemove event.
125       oleaut32: Implement ITypeInfo_GetNames Stub/Proxy.
126       msxml3: Add IObjectSafety support to IXMLHTTPRequest.
127       mshtml: Implement IHTMLAnchorElement get/put target.
128
129 Amine Khaldi (3):
130       comdlg32: Add missing break (Coverity).
131       riched20: Add a missing break.
132       d3dcompiler_43: Avoid an unintended fall-through.
133
134 Andrew Eikum (1):
135       dsound: Also handle two-to-six-channel conversions.
136
137 Andrew Nguyen (2):
138       configure: Check for additional libxml2 headers to reject inadequate libxml2 versions.
139       configure: Check for a modern sched_setaffinity prototype.
140
141 André Hentschel (9):
142       advapi32: Add stub for EnableTraceEx.
143       odbccp32: Improve some stubs.
144       msvcrt/tests: Don't test function directly when reporting errno.
145       ntoskrnl.exe: Be more verbose in MmGetSystemRoutineAddress.
146       msvcrt: Implement _wfindfirst64.
147       msvcrt: Implement _wfindnext64.
148       winex11.drv: Quiet a noisy FIXME.
149       kernel32/tests: Add SetLastError() before a test (Valgrind).
150       t2embed: Add stub for TTEmbedFont.
151
152 Austin English (33):
153       gdi32/tests: Remove win9x hacks.
154       kernel32/tests: Remove win9x hacks.
155       version/tests: Remove win9x hacks.
156       userenv/tests: Remove win9x hacks.
157       urlmon/tests: Remove win9x hacks.
158       spoolss/tests: Change skip() to win_skip().
159       shell32/tests: Remove win9x hacks.
160       oleaut32/tests: Remove win9x hacks.
161       oleaut32/tests: Fix a couple of todo_wine's.
162       msi/tests: Remove win9x hacks.
163       msxml3/tests: Remove win9x hacks.
164       advapi32/tests: Remove Win9x hacks.
165       advpack/tests: Remove win9x hacks.
166       comdlg32/tests: Remove win9x hacks.
167       cryptnet/tests: Remove win9x hacks.
168       comctl32/tests: Remove win9x hack.
169       d3d8/tests: Remove win9x hack.
170       dsound/tests: Remove win9x hack.
171       fusion/tests: Remove win9x hacks.
172       hlink/tests: Remove win9x hacks.
173       inetmib1/tests: Add missing broken().
174       kernel32/tests: Remove win9x hacks.
175       mlang/tests: Remove win9x hacks.
176       msi/tests: Remove win9x hacks.
177       gdi32/tests: Remove win9x hacks.
178       lz32/tests: Remove win9x hacks.
179       riched20/tests: Remove win9x hacks.
180       crypt32/tests: Remove win9x hacks.
181       rpcrt4/tests: Remove win9x hacks.
182       secur32/tests: Remove win9x hacks.
183       setupapi/tests: Remove win9x hacks.
184       ntprint/tests: Remove win9x hacks.
185       shlwapi/tests: Remove win9x hacks.
186
187 Charles Davis (2):
188       ntdll: Fix IOCTL_CDROM_RAW_READ on Mac OS.
189       ntdll: Implement CDROM_GetInterfaceInfo() on Mac OS.
190
191 Damjan Jovanovic (1):
192       winemenubuilder: FriendlyDocName isn't part of the association.
193
194 David Adam (2):
195       d3dx9_36: Add a test for D3DXCreateBox.
196       d3dx9_36: Implement ID3DXMesh_GetNumBytesPerVertex.
197
198 Dmitry Timoshkov (9):
199       user32: Cope with failing SetForegroundWindow().
200       gdi32: Add dumping of child GDI font cache.
201       gdi32: Go through all hfontlist entries not just the first one when checking whether font is in the child font list.
202       gdi32: Do not leak the hfont list (Valgrind).
203       gdi32: Use graphics mode specified at the EMF creation time when playing EMR_EXTTEXTOUT record.
204       gdi32: EnumFontFamilies should also match against fully qualified face name.
205       gdi32: Add a EnumFontFamilies test to see how it handles various font faces.
206       comctl32: 'clip' rect is unused in the WM_ERASEBKGND rebar class handler.
207       user32: Add a test to make sure that SendInput sets a non-zero event time.
208
209 Dylan Smith (1):
210       d3dx9: Add stubs for D3DXCreateText.
211
212 Erich Hoover (1):
213       shdocvw: Implement IWebBrowser::ExecWB and IWebBrowser::QueryStatusWB.
214
215 Frédéric Delanoy (1):
216       po: Update French translation.
217
218 Gerald Pfeifer (1):
219       wpp: Add explicit casts when mixing unsigned and signed integers.
220
221 Hans Leidekker (9):
222       msi: Fix a trace.
223       appwiz.cpl: List 32-bit applications on 64-bit platforms.
224       uninstaller: List 32-bit applications on 64-bit platforms.
225       msi: A custom action dll failing to load is not a fatal error.
226       netapi32: Try running the smbpasswd tool in NetUserChangePassword.
227       server: Map the Unix user id to a local user SID instead of the interactive SID.
228       advapi32: Use a fixed computer SID that matches local user SIDs.
229       userenv: GetProfilesDirectoryW accepts a NULL buffer.
230       userenv: Implement and test GetUserProfileDirectory.
231
232 Henri Verbeet (20):
233       wined3d: Filter sRGB capabilities during format initialization.
234       wined3d: Recognize some Northern Islands cards in select_card_ati_mesa().
235       wined3d: Merge device_unload_resource() and reset_unload_resources().
236       wined3d: Remove IWineD3DResource::UnLoad() from the public interface.
237       wined3d: Pass const resources to some resource functions.
238       wined3d: Make IWineD3DResourceImpl an independent structure.
239       wined3d: Rename ATI to AMD.
240       wined3d: Recognize some Nouveau renderer strings.
241       wined3d: The basetexture_set_dirty() return value is never used.
242       wined3d: Use basetexture_set_dirty() in some more places.
243       wined3d: Standalone surfaces should never be sRGB.
244       wined3d: Retrieve the surface's texture name through a function.
245       wined3d: Retrieve the GL texture through a function.
246       wined3d: Add support for EXT_texture_sRGB_decode.
247       wined3d: Use EXT_texture_sRGB_decode to avoid sRGB texture duplication.
248       wined3d: Pass gl_info to basetexture_bind().
249       wined3d: Pass gl_info to surface_bind().
250       ddraw: Just pass NULL as index buffer parent.
251       wined3d: Remove COM from the buffer implementation.
252       wined3d: Get rid of the IWineD3DBuffer typedef.
253
254 Huw Davies (4):
255       oleaut32: Mask off the lsb from the vtbl offset. This is set when the user specifies an offset in ICreateTypeInfo.
256       oleaut32: Fix the typelib marshaler when the vtbl has holes.
257       widl: Initialise [out] only conformant arrays.
258       gdi32: Remove a wayward CDECL.
259
260 Jacek Caban (39):
261       include: Make some include guards compatible with MS headers.
262       jscript: Added SetScriptState(SCRIPTSTATE_UNINITIALIZED) implementation.
263       jscript: Added more uninitialization tests.
264       wscript: Added tests.
265       urlmon: Register MIME filter only for bindings testing them.
266       mshtml: Added IHTMLElement4 stub implementation.
267       mshtml.idl: Added DispHTMLDOMAttribute declaration.
268       mshtml: Added IHTMLElement4::getAttributeNode implementation.
269       mshtml: Added IDispatchEx support to HTMLDOMAttribute object.
270       mshtml: Added attribute object tests.
271       mshtml: Make sure we don't try to create node object for attributes.
272       mshtml: Improved debug traces.
273       mshtml: Added IHTMLDOMAttribute::get_nodeValue implementation.
274       mshtml: Moved call_disp_func to htmlevent.c.
275       mshtml: Added IHTMLStyle::[get|put]_backgroundPosition implementation.
276       mshtml: Fixed buffer handling in set_nsstyle_attr.
277       mshtml: Moved VARIANT to style value string conversion to separated function.
278       mshtml: Reimplement IHTMLStyle::put_backgroundPositionX using background-position property.
279       mshtml: Reimplement IHTMLStyle::get_backgroundPositionX using background-position property.
280       mshtml: Reimplement IHTMLStyle::put_backgroundPositionY using background-position property.
281       mshtml: Reimplement IHTMLStyle::get_backgroundPositionY using background-position property.
282       mshtml: Added more backgroundPosition* tests.
283       jscript: Fixed corner cases in parseInt implementation.
284       mshtml: Fixed typos in IHTMLInputElement::value tests.
285       mshtml: Store style filter in HTMLStyle object.
286       mshtml: Store style object in element object.
287       mshtml: Added simple filter parser to support opacity.
288       mshtml: Added IHTMLFormElement::onsubmit implementation.
289       mshtml: Fixed memory leak.
290       mshtml: Added support for canceling default event behavior.
291       mshtml: Added onsubmit and event canceling tests.
292       mshtml: Added IHTMLFormElement::get_elements implementation.
293       mshtml: Added IHTMLLocation::replace implementation.
294       mshtml: Correctly handle NULL BSTR in VARIANT in IDispatchEx implementation.
295       mshtml: Reuse attribute objects.
296       mshtml: Use our IDispatchEx-based attributes implementation instead of nsIDOMAttr.
297       mshtml: Added more attribute object tests.
298       mshtml: Fixed use after free in HTMLElement_destructor.
299       mshtml: Added support for indexed access to form elements.
300
301 Jerome Leclanche (1):
302       winemenubuilder: Make sure extension-based mimetypes are always lowercase.
303
304 John Edmonds (4):
305       gdi32/tests: Added tests for copying a single pixel from top down and bottom up bitmaps.
306       gdi32: Fixed GetDIBits for top-down bitmaps.
307       gdi32/tests: Updated tests for top-down destination bitmaps.
308       gdi32: Fixes GetDIBits for top-down destination bitmaps.
309
310 Joris Huizer (1):
311       userenv: GetUserProfileDirectoryW: Plug memory leak.
312
313 Juan Lang (17):
314       cryptnet: Delete existing cache entries when out of date.
315       wininet: Rename variables for readability.
316       wininet: De-Hungarian auth cache member names.
317       wininet: De-Hungarian appinfo member names.
318       wininet: De-Hungarian session member names.
319       wininet: De-Hungarian HTTP request member names.
320       wininet/tests: Test retrieving http requests from cache.
321       wininet: Use correct scheme for cache entries.
322       wininet: Support setting the expired time in SetUrlCacheEntryInfo.
323       wininet: Store entries in url cache with valid expiration date.
324       wininet: Default to 10 minutes expiration for cache entries.
325       wininet: Default to 10 minutes expiration for cache entries.
326       wininet: Support the Cache-Control max-age directive for setting url cache entry expiration.
327       wininet: Move creating cache file to a helper function.
328       include: Add some missing definitions.
329       wininet: Fix off-by-one error.
330       wininet: Remove outdated comment.
331
332 Jörg Höhle (2):
333       winmm: Let WideCharToMultiByte search for NUL string terminator (Valgrind).
334       mciwave: Fix a leak when Open fails (valgrind).
335
336 Maarten Lankhorst (7):
337       gdiplus: Implement in-memory font storage.
338       gdi32: Handle BITMAP_CopyBitmap correctly for negative heights.
339       mshtml: Make sure system xpcom dll gets loaded.
340       ntdll: Fix time accounting in NtQuerySystemInformation.
341       gdiplus: Clean up gdip_format_string.
342       gdiplus: Add tests and fix GdipDrawImagePointsRect.
343       gdiplus: Implement GdipAddPathString.
344
345 Marcus Meissner (19):
346       wineoss.drv: Fixed incorrect sizeof() (Coverity).
347       rsaenh: Fixed bad sizeof() usage (Coverity).
348       kernel32: Fixed mismatched bracket (Coverity).
349       cryptui: Fixed bad sizeof() (Coverity).
350       dbghelp: Fixed pasted size error (Coverity).
351       regedit: fgetc() gets int, not char (Coverity).
352       user32: Move functional code out of assert() (Coverity).
353       user32: Remove side effect code out of asserts() (Coverity).
354       winedump: Remove double assignment (Coverity).
355       msvcrt: Use = instead of == in test (Coverity).
356       ws2_32: name is never NULL as array (Coverity).
357       user32: Fixed some more side effect functions in assert() (Coverity).
358       server: Avoid shadowing a global variable.
359       kernel32: Avoid shadowing "status" variable.
360       shdocvw: Rewrite code to make more understandable (Coverity).
361       oleaut32: Local variable goes out of scope via pointer (Coverity).
362       dbghelp: Local variable used out of scope (Coverity).
363       msi: Pointer to out of scope local variable (Coverity).
364       msvcrt: Move side effect out of assert (Coverity).
365
366 Matteo Bruni (7):
367       d3dcompiler: Fix initial allocation (Valgrind).
368       d3dx9: Remove a couple of spurious assignments (LLVM/Clang).
369       d3dx9: Remove an unnecessary initialization (LLVM/Clang).
370       d3dx9/tests: Remove spurious assignment (LLVM/Clang).
371       wpp: Free strings on define deletion (Valgrind).
372       wpp: Let pp_add_define take the responsibility of copying strings (Valgrind).
373       d3dx9: Fix memory access for images with less than 4 bytes per pixel (Valgrind).
374
375 Michael Stefaniuc (3):
376       storage.dll16: Remove unused struct declaration.
377       msxml3: COM cleanup for the IDispatchEx iface.
378       storage.dll16: COM cleanup in storage.c.
379
380 Nikolay Sivov (28):
381       msxml3: Store document event handler for ready state notification.
382       msxml3: Remove useless parts of schema cleanup helper.
383       msxml3: Use helper to consistently dump variant parameters.
384       msxml4: Add version info.
385       msxml3: Remove forward to removeChild() method for nodes.
386       msxml3: Remove appendChild() forward.
387       msxml3: Remove hasChildNodes() forward.
388       msxml3: Remove get_ownerDocument() forward.
389       msxml3: Remove get_text() forward.
390       msxml3: Remove selectNodes() forward.
391       msxml3: Remove selectSingleNode() forward.
392       msxml3: Remove transformNode() forward.
393       msxml3: Get rid of not longer used internal IXMLDOMNode vtable.
394       comctl32/comboex: Reduce variable scope.
395       comctl32/datetime: Fix use of out-of-scope local buffer (Coverity).
396       comctl32/rebar: Don't use local variable with the same name as function parameter (Coverity).
397       comctl32/listview: Fix dead condition (Coverity).
398       comctl32/ipaddress: Use array index after range check (Coverity).
399       oleaut32: Fix sizeof() usage (Coverity).
400       msxml3/tests: Remove broken test and parameter check.
401       msxml3: Reject xmlns attribute to be added to element.
402       msxml3: Always set out pointer to null on failed QueryInterface.
403       msxml3: Add get_output() implementation for processor.
404       msxml3: Fail on certain node types in insertBefore() for attributes, remove broken tests.
405       msxml3: Link dom attribute with parent interface pointer.
406       msxml3: Test insertBefore() behaviour with node relinking, simplify common test cases.
407       msxml3: Remove child with parent method first before insert with insertBefore().
408       msxml3: Test to show namespace definition output for children.
409
410 Paul Vriens (1):
411       msi: Add a missing va_end() (Coverity).
412
413 Peter Schellenbach (1):
414       oleaut32: Fixed short time & medium time named formats.
415
416 Peter Urbanec (5):
417       gdi32: Fix 64-bit pointer issues when copying upside-down bitmaps.
418       comctl32: Use signed indices, so that the number of parts can be set to zero.
419       comctl32/tests: Enable statusbar tooltip tests.
420       comctl32: Add a check for setting number of parts in the statusbar to zero.
421       wintab32: Better handling of XInput initialisation errors.
422
423 Rafał Mużyło (1):
424       winealsa.drv: Drop redundant calls.
425
426 Rico Schüller (28):
427       d3dcompiler: Parse reflection constant buffers.
428       d3dcompiler: Implement ID3D11ShaderReflection::GetConstantBufferByIndex().
429       d3dcompiler: Implement ID3D11ShaderReflection::GetConstantBufferByName().
430       d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetDesc().
431       d3dcompiler: Parse reflection variables.
432       d3dcompiler: Parse reflection types.
433       d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetVariableByIndex().
434       d3dcompiler: Implement ID3D11ShaderReflectionConstantBuffer::GetVariableByName().
435       d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetDesc().
436       d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetBuffer().
437       d3dcompiler: Implement ID3D11ShaderRefleflection::GetVariableByName().
438       d3dcompiler: Implement ID3D11ShaderReflectionType::GetDesc().
439       d3dcompiler: Implement ID3D11ShaderReflectionVariable::GetType().
440       d3dcompiler: Fix SystemValueType for pixelshader output signature.
441       d3dcompiler/tests: Add reflection ps output desc test.
442       d3dcompiler: Reorder section parsing to reflect the order from the shader blob.
443       d3dcompiler/tests: Add constant buffer test.
444       d3dcompiler/tests: Improve test_reflection_bound_resources().
445       d3dcompiler: Parse member types.
446       d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeByIndex().
447       d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeByName().
448       d3dcompiler: Implement ID3D11ShaderReflectionType::GetMemberTypeName().
449       d3dcompiler: Use defines for shader target masks.
450       d3dcompiler/tests: Add GetMemberType* tests.
451       d3dcompiler: Implement ID3D11ShaderReflectionType::IsEqual().
452       d3dcompiler: Move some code from header to source file.
453       d3dcompiler: Add debug helper for shader variable class.
454       d3dcompiler: Add debug helper for shader variable type.
455
456 Thomas Mullaly (1):
457       mshtml/tests: Make IDispatch Vtbl const.
458
459 Vincent Povirk (8):
460       msvcrt: Try to call CorExitProcess instead of ExitProcess on exit.
461       mscoree: Overhaul of mono runtime shutdown process.
462       mscoree: Always return S_FALSE from DllCanUnloadNow.
463       gdiplus: Test writes with conversion and without a user buffer.
464       gdiplus: Copy the bits on bitmap unlock if the write flag is set.
465       gdiplus: Don't copy bits into the buffer when a bitmap is locked write-only.
466       gdiplus: Copy only the area requested when (un)locking bitmaps.
467       gdiplus: Implement ImageLockModeUserInputBuf.
468
469 Wolfram Sang (3):
470       user32/tests: Modify proper fields instead of magic offsets.
471       user32: Make DIB_GetBitmapInfo checks stricter.
472       user32: Check bitmap info before it is used.
473
474 --
475 Alexandre Julliard
476 julliard@winehq.org