Release 1.3.34.
[wine] / ANNOUNCE
1 The Wine development release 1.3.34 is now available.
2
3 What's new in this release (see below for details):
4   - Bytecode support in JavaScript.
5   - Support for gradients in the DIB engine.
6   - A number of Uniscribe improvements.
7   - Fixes for DirectDraw mode switching.
8   - A few more MSVC runtime functions.
9   - Various bug fixes.
10
11 The source is available from the following locations:
12
13   http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.34.tar.bz2
14   http://prdownloads.sourceforge.net/wine/wine-1.3.34.tar.bz2
15
16 Binary packages for various distributions will be available from:
17
18   http://www.winehq.org/download
19
20 You will find documentation on http://www.winehq.org/documentation
21
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/git for details.
24
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
27
28 ----------------------------------------------------------------
29
30 Bugs fixed in 1.3.34:
31
32    2361  Background music plays fast in The Typing of The Dead
33    3023  Orcad - "Place Part" never tries to put down a part
34    8066  Page fault when starting 9 Dragons
35    8322  TaskCoach failed to view Menu bar and right click menu (user32.MENU_GetBitmapItemSize handles HBMMENU_CALLBACK case incorrectly)
36   10771  Dialogs broken in Origin7/7.5/8, msxml needs to support ISupportErrorInfo?
37   12116  Multiple MSI-based installers fail to advance progress bar in InstallFiles action (schedule_install_files already moves and clamps to max value + MSI integer overflow)
38   12346  Installation second cd
39   15146  Touhou 10, 11 dialogue text transparent, difficult to read
40   15594  photosynth client won't present login dialog without native msxml3
41   18554  Regedit import fails
42   21456  Mathematica 4.0 crash
43   22711  Dungeon Keeper 2: X11 cursor is not hidden in-game
44   24610  Touhou games: no text in dialogue boxes
45   24677  ARM call_stack_handlers not implemented
46   24748  Dangerous Waters: crashes when loading 688i platform
47   25143  EiskaltDC++ fails to run
48   25345  iexplore loads https pages very slow
49   25492  Office Pro 2010 Trial: Word, Excel, and Powerpoint cannot open or save files
50   25515  Microsoft Word 2003 crashes (or freezes) printing Document with OTF
51   26588  A Farewell to Dragons: water has incorrect textures
52   26824  Anomaly: Warzone Earth Demo crashes on start
53   27014  exo from xfce4 causes "Failed to execute default Web Browser" error in gnome
54   27181  Very slow performance in Word 2007
55   27816  GoToMyPC: launch/download now fails
56   27835  Freespace 1 hangs on startup with a blank screen
57   27869  Wile using OSSv4, any application under wine (even winecfg when testing sound) rises vmix to maximum volume.
58   28256  Nook for PC (BNDReader.exe) wants msvcr90.dll.asctime_s
59   28447  Can't select lookup field by mouse in application with DevExpress components
60   28539  Ground Control hangs on exit
61   28541  Unimplemented function msvcp90.dll.??0?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@PBG@Z
62   28686  Unimplemented function msvcp90.dll.?rfind@?$basic_string@DU? $char_traits@D@std@@V?$allocator@D@2@@std@@QBEIDI@Z
63   28785  Unimplemented function msvcp90.dll.?rfind@?$basic_string@_WU? $char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEI_WI@Z
64   28867  Elona works not fast enough
65   28941  Internet Explorer 3.02 crashes on viewing file types
66   28981  powerpc build broken in gdi32/tests/generated.c, tons of "error: size of unnamed array is negative"
67   28983  Guildwars: no sound
68   29090  Winamp needs msvcr90.dll.__vswprintf_l
69   29097  Worms Armageddon produces a black screen on boot when used with OpenGL DDraw renderer (GDI works fine)
70   29108  Avast! Free Antivirus crashes on startup due to unimplemented function rpcrt4.dll.RpcEpRegisterNoReplaceW
71   29109  Avast! Free Antivirus crashes on each boot due to unimplemented function ntoskrnl.exe.ExInitializePagedLookasideList
72   29112  Builtin IE only display a blank page when  opening https://mybank.icbc.com.cn
73   29113  Builtin iexplore crashes clicking at https://mybank.icbc.com.cn/icbc/enperbank/index.jsp
74   29132  Hardwar 2.04 crashes before reaching the main menu
75   29135  Sound completely broken on Mac OS X in games
76   29141  Uru crashes on startup
77   29145  Perfect Dark doesn't bind port
78   29164  Swap buffers in GetAcceptExSockaddrs (WS2_async_accept).
79   29173  Unimplemented function netapi32.dll.NetUseGetInfo
80   29190  Dangerous Waters: Crash when ending a mission
81   29192  VT Trader crashes
82   29202  installing BioEdit doesn't create directories
83   29214  Clones crashes on startup with built-in dinput8.dll
84   29223  Avast! Free Antivirus shows black rectangles in place of gradients
85
86 ----------------------------------------------------------------
87
88 Changes since 1.3.33:
89
90 Akihiro Sagawa (3):
91       msvcrt: Use given locale info in _mbtowcs_l.
92       msvcrt: Fix wctob in C locale.
93       msvcrt: Add validity checks for _mbstrlen_l.
94
95 Alex Henrie (6):
96       po: Update Catalan translation.
97       appwiz.cpl: Add Catalan translation.
98       comctl32: Update Catalan translation.
99       shell32: Update Catalan translation.
100       wineconsole: Widen label to accomodate translations.
101       po: Update Catalan translation.
102
103 Alexander Morozov (2):
104       crypt32/tests: Add some tests for CryptDecodeObjectEx without CRYPT_DECODE_ALLOC_FLAG.
105       crypt32: Initialize a pointer for dynamic data.
106
107 Alexandre Julliard (60):
108       comctl32: Take the total bitmap size into account when reading a bottom-up image list.
109       comctl32: Avoid accessing imagelist internals.
110       comctl32: Merge imagelist definitions into the C file.
111       gdi32: Add a null driver fallback implementation for non-antialiased text output.
112       gdi32: Add a helper function to determine anti-aliasing flags.
113       gdi32: Add support for anti-aliasing in the null driver text output fallback.
114       winex11: Get rid of the non-Xrender client-side font rendering.
115       winex11: Don't allocate the glyph cache without Xrender, and cleanup initialization.
116       winecfg: Remove some untranslatable labels.
117       gdi32: Use reallocs when growing a path instead of doing it by hand.
118       gdi32: Add helper functions for allocating and freeing paths.
119       gdi32: Return the region directly from PATH_PathToRegion.
120       gdi32: Return a new path from PATH_FlattenPath instead of replacing the DC path.
121       gdi32: Return a new path from PATH_WidenPath instead of replacing the DC path.
122       gdi32: Store a pointer to the path in the DC and make the path structure opaque.
123       gphoto2: Convert dialogs to po files.
124       sane: Convert dialogs to po files.
125       browseui: Convert dialogs to po files.
126       browseui: Make sure that common controls are loaded before creating the dialog.
127       shlwapi: Convert dialogs to po files.
128       kernel32/tests: Avoid size_t in traces.
129       msxml3: Don't return REFIID to avoid compiler warnings.
130       makefiles: Build tags from all the source files.
131       user32: Don't allow activating a WS_CHILD top-level window through SetFocus.
132       gdi32: Only store the path in the DC when it's closed.
133       gdi32: Get rid of the no longer needed path states.
134       gdi32: Get rid of the GdiPath typedef.
135       gdi32: Get rid of the Hungarian line noise in the gdi_path structure.
136       gdi32: Specify an initial allocation size for paths to avoid some reallocations.
137       windowscodecs/tests: Avoid size_t in a trace.
138       localui: Convert dialogs to po files.
139       credui: Convert dialogs to po files.
140       mpr: Convert dialogs to po files.
141       avifil32: Convert dialogs to po files.
142       msacm32: Convert dialogs to po files.
143       wineps: Don't crash on missing loca OTF table.
144       winedbg: Use proper links in the crash dialog.
145       gdi32: Implement rectangular gradients in the DIB engine.
146       gdi32: Implement 16-bpp gradient dithering.
147       gdi32: Implement 8-bpp and 4-bpp gradient dithering.
148       gdi32: Don't set gradient alpha channel for 8888 bitmaps created with bitfields.
149       gdi32/tests: Add tests for rectangular gradients in DIBs.
150       ole32: Process all pending messages in CoWaitForMultipleHandles before waiting again, otherwise we may not wake up.
151       gdi32: Use the DIB engine and PutImage for the null driver rectangular gradient implementation.
152       winex11: Implement rectangular gradients using straight X11 calls.
153       winex11: Implement rectangular gradients using XRender if supported.
154       user32: Use the correct alpha for the title bar gradient and simplify the mesh.
155       uxtheme: Use the correct alpha for theme gradients.
156       serialui: Convert dialogs to po files.
157       msvfw32: Convert dialogs to po files.
158       mshtml: Convert dialogs to po files.
159       dinput: Convert dialogs to po files.
160       setupapi: Convert dialogs to po files.
161       wininet: Convert dialogs to po files.
162       oledlg: Convert dialogs to po files.
163       appwiz.cpl: Convert dialogs to po files.
164       comctl32: Fix text wrapping in syslink when an item starts in the middle of a line.
165       appwiz.cpl: Make the Gecko URL a proper link.
166       gdi32: Add some parameter checks in GdiGradientFill.
167       winex11: Always ignore alpha channel with XRender gradients.
168
169 Andrew Eikum (4):
170       winecoreaudio.drv: Fix latency calculation.
171       winecoreaudio.drv: Make driver sample accurate.
172       wineoss.drv: Remove volume setting support.
173       wineoss.drv: Add period to latency calculation.
174
175 Andrew Talbot (1):
176       widl: Avoid right-shift of negative values.
177
178 André Hentschel (18):
179       winemaker: Respect more spaces when splitting the options.
180       winemaker: Remove some unused variables.
181       winemaker: Be less picky when detecting the target type.
182       winemaker: Add support for compiling static libraries.
183       po: Update German translation.
184       winemaker: Also detect static libraries when scanning directories.
185       po: Update German translation.
186       po: Update German translation.
187       configure: Add checks for sparc64 and powerpc64.
188       ntdll: Move a return out of a #ifdef.
189       msvcrt: Implement asctime_s.
190       msvcrt: Implement _wasctime_s.
191       rpcrt4: Implement RpcEpRegisterNoReplaceA.
192       rpcrt4: Implement RpcEpRegisterNoReplaceW.
193       po: Update German translation.
194       winebuild: Fill the delay slot on Sparc.
195       po: Update German translation.
196       ntoskrnl: Add a stub for ExInitializePagedLookasideList.
197
198 Andy Clayton (1):
199       wininet: Avoid calling HTTP_ReceiveRequestData before reading headers.
200
201 Aric Stewart (16):
202       usp10: In Arabic only fallback to presentation form B for isolated glyphs.
203       usp10: Improve handling for ZWJ and ZWNJ in itemization.
204       usp10: Some unicode code points will force us into bidi mode.
205       usp10: Add a facility to mark itemization test elements as broken.
206       usp10: Handle Combining Diacritical Marks.
207       usp10: Windows breaks punctuation into 2 different script types.
208       usp10: Itemize numbers outside of the basic ascii set in a seperate script.
209       usp10: Cache the script with the feature so that in caches with multiple scripts we do not fetch the wrong feature from the cache.
210       usp10: Turn off dlig feature for hebrew. It is not used by default.
211       usp10: Standard features are only ccmp and locl.
212       usp10: Apply lookups in order over the whole range of glyphs instead of individually to each glyph.
213       usp10: Always apply features in logical order.
214       usp10: Handle the Gurmukhi addak.
215       usp10: Phags-Pa wants the calt feature enabled.
216       usp10: More properly handle the glyph properties on glyphs added by multiple substitutions.
217       usp10: Handle Thai SARA AM differently than GDEF.
218
219 Aurimas Fišeras (2):
220       po: Update Lithuanian translation.
221       po: Update Lithuanian translation.
222
223 Austin English (1):
224       netapi32: Add a stub for NetUseGetInfo.
225
226 Bernhard Loos (1):
227       winedevice: A driver path can also start with \systemroot\.
228
229 Bruno Jesus (4):
230       regedit: Allow binary files to be imported.
231       ws2_32: Invert SIOCATMARK logic.
232       ws2_32: Fix function GetAcceptExSockaddrs.
233       ws2_32: Remove duplicated code.
234
235 Dmitry Timoshkov (7):
236       kernel32: Add a test to see how a page protection changes after write.
237       kernel32: Add a test to show that Windows changes the WRITECOPY to WRITE protection on an image section write.
238       kernel32: Add a test for main module image section protections.
239       ntdll: Change the virtual memory test to accept both READWRITE and WRITECOPY protections.
240       ntdll: Revert 33b0f0edffa0c8a06b4ee8831c92fdc373f83ece.
241       kernel32: Add a test for protections accepted by CreateFileMapping, make it pass under Wine.
242       kernel32: Add a bunch of VirtualProtect tests on a memory-mapped file.
243
244 Eric Pouech (2):
245       msvcrt: Implemented _ultow_s.
246       cmd: Correctly parse program name when launching external processes.
247
248 Francois Gouget (28):
249       ddraw/tests: Fix compilation on systems that don't support nameless unions.
250       windowscodecs/tests: Fix compilation on systems that don't support nameless unions.
251       include: Move macros to winuser.rh and include it from winuser.h to avoid duplication.
252       winefile: Make it possible to translate the disk size units.
253       cryptui: Fix a string resource so its format placeholders can be reordered.
254       taskkill: Fix the string resources so their format placeholders can be reordered.
255       comdlg32: Fix a couple of string resources so their format placeholders can be reordered.
256       oleview: Fix a string resource so its format placeholders can be reordered.
257       ipconfig: Fix the string resources so their format placeholders can be reordered.
258       setupapi: Fix a string resource so its format placeholders can be reordered.
259       dxdiagn: Fix a string resource so its format placeholders can be reordered.
260       dinput: Remove an unused and untranslatable listview label.
261       inetcpl: Remove a couple of unused and untranslatable listview and trackbar labels.
262       gphoto2.ds: Remove an unused and untranslatable listview label.
263       taskmgr: Fix a string resource so its format placeholders can be reordered.
264       notepad: Fix a string resource so its format placeholders can be reordered.
265       include: Update winuser.rh.
266       cmd: Use WCMD_output_asis*() for strings that are not supposed to contain formating directives.
267       Assorted spelling fixes and wording tweaks.
268       cmd/tests: Treat lines that start with '---' as resynchronization points.
269       cmd/tests: Standardize the batch file section headers.
270       cmd/tests: Tweak subsection headers so they are treated as resynchronization points.
271       cmd/tests: Use resynchronization points to better deal with two IF statements tests.
272       cmd: Print error messages on stderr, not on stdout.
273       libwine: Include a couple of extra system headers to fix the compilation on Solaris.
274       netapi32: Fix the compilation on Solaris by including errno.h instead of sys/errno.h.
275       secur32: Fix the compilation on Solaris by including errno.h instead of sys/errno.h.
276       winspool: Fix the compilation on Solaris by including errno.h instead of sys/errno.h.
277
278 Frédéric Delanoy (26):
279       ntdll/tests: Avoid harcoding array lengths.
280       oleaut32: Avoid harcoding array lengths.
281       shell32: Avoid harcoding array lengths.
282       shlwapi: Avoid harcoding array lengths.
283       cmd: Move builtins list to builtins.c.
284       comctl32: Avoid hardcoding array lengths.
285       krnl386.exe16: Avoid hardcoding array lengths.
286       mountmgr.sys: Avoid hardcoding array lengths.
287       po: Update French translation.
288       msvcrt: Avoid hardcoding array lengths.
289       oleaut32: Avoid hardcoding array lengths.
290       shell32: Avoid hardcoding array lengths.
291       cmd: Avoid dead assignment (clang).
292       po: Update French translation.
293       winefile: Avoid uninitialized field in SYSTEMTIME structure (Coverity).
294       winebuild: Avoid dead code in BuildCallFrom16Core (Coverity).
295       cmd: Remove an unused global variable.
296       cmd: Use boolean types for boolean variables.
297       cmd: Reduce the scope of a global variable.
298       cmd: Rename unicodePipes variable.
299       cmd: Move a global var to the file using it.
300       cmd: Move commonly used global vars declarations to header file.
301       cmd: Reorder global vars declarations/definitions to improve readability.
302       gameux: Remove duplicate "if" condition.
303       gameux: Do not use RegCloseKey on invalid/uninitialized registry key handle (Coverity).
304       msvfw32: Fix a displayed label.
305
306 Gerald Pfeifer (1):
307       winex11.drv: Move a conditionally used label into the condition in X11DRV_XRender_Init.
308
309 Hans Leidekker (11):
310       winhttp: Reverse the order of arguments passed to Invoke.
311       winhttp: Fix a memory leak in run_script.
312       winhttp: Make the standard utilities available to PAC scripts.
313       msi: Perform a case insensitive match on the volume label.
314       ws2_32: Pass NULL nodename on to native getaddrinfo.
315       winhttp: Resolve the server name only on the first request.
316       winhttp: Consistently use the allocation macros.
317       winhttp: Support ICU_ESCAPE in WinHttpCrackUrl.
318       winhttp: Double the handle table size on reallocation.
319       msi: Split up delete_reg_key_or_value.
320       msi: Resolve the target folder if necessary in msi_get_target_folder.
321
322 Henri Verbeet (50):
323       wined3d: Recognize the SM4 eq opcode.
324       wined3d: Recognize the SM4 ge opcode.
325       wined3d: Recognize the SM4 round_ni opcode.
326       wined3d: Get rid of the WINED3DLIGHT typedef.
327       wined3d: Get rid of the WINED3DMATERIAL typedef.
328       wined3d: Recognize the SM4 udiv opcode.
329       wined3d: Recognize the SM4 ushr opcode.
330       wined3d: Recognize the SM4 xor opcode.
331       wined3d: Get rid of the WINED3DVIEWPORT typedef.
332       wined3d: Get rid of the WINED3DGAMMARAMP typedef.
333       wined3d: Remove the special case for loop and rep in shader_get_registers_used().
334       wined3d: Don't return a surface for a NULL dc in wined3d_device_get_surface_from_dc().
335       ddraw: Move setting ddraw->d3d_target out of ddraw_attach_d3d_device().
336       wined3d: Get rid of the WINED3DLINEPATTERN typedef.
337       wined3d: Get rid of the WINED3DRECTPATCH_INFO typedef.
338       ddraw: Set the render target to the wined3d frontbuffer on D3D device cleanup.
339       ddraw: Fail surface creation if the cooperative level isn't set yet.
340       wined3d: Trace the minimum buffer map alignment in wined3d_adapter_init_gl_caps().
341       wined3d: Get rid of the WINED3DTRIPATCH_INFO typedef.
342       wined3d: Get rid of the WINED3DADAPTER_IDENTIFIER typedef.
343       wined3d: Don't apply fixups to converted surfaces.
344       wined3d: Use the correct backbuffer format in wined3d_device_reset().
345       wined3d: Handle changing the backbuffer format in wined3d_device_reset().
346       wined3d: Get rid of the WINED3DCLIPSTATUS typedef.
347       wined3d: Get rid of the WINED3DVERTEXELEMENT typedef.
348       d3d9/tests: Test the window and backbuffer dimensions after display mode changes.
349       d3d8/tests: Test the window and backbuffer dimensions after display mode changes.
350       ddraw/tests: Add tests for primary dimensions to test_coop_level_mode_set().
351       wined3d: Get rid of the WINED3DDEVICE_CREATION_PARAMETERS typedef.
352       wined3d: Store the device type only once.
353       ddraw: Create the wined3d swapchain when setting the cooperative level.
354       ddraw: Rename the wineD3D field in IDirectDrawImpl to wined3d.
355       wined3d: Use proper texcoord masks for GLSL texm3x3spec / texm3x3vspec.
356       wined3d: Get rid of WINED3DDEVINFO_BANDWIDTHTIMINGS.
357       wined3d: Get rid of WINED3DDEVINFO_CACHEUTILIZATION.
358       ddraw: Resize the swapchain window on mode changes in exclusive mode.
359       wined3d: Add a flags parameter to wined3d_surface_create().
360       ddraw: Keep the primary surface mapped at the same address for early ddraw versions.
361       wined3d: Get rid of WINED3DDEVINFO_INTERFACETIMINGS.
362       wined3d: Get rid of WINED3DDEVINFO_PIPELINETIMINGS.
363       wined3d: Move the surface map counting code to wined3d_surface_map().
364       wined3d: Introduce a separate function to determine if a surface needs a PBO.
365       wined3d: Create a PBO in surface_load_location() even if SFLAG_INSYSMEM is already set.
366       wined3d: Get rid of WINED3DDEVINFO_STAGETIMINGS.
367       wined3d: Get rid of WINED3DDEVINFO_RESOURCEMANAGER.
368       d3d9: Add some FIXMEs for d3d9ex resource sharing.
369       d3d9: Implement texture creation from system memory.
370       d3d9/tests: Add a test for texture creation from system memory.
371       wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef.
372       wined3d: Get rid of the WINED3DRASTER_STATUS typedef.
373
374 Huw Davies (5):
375       gdi32: Simplify the Bresenham line drawing.
376       gdi32: Add solid_line primitives.
377       gdi32: Add an option to allow pen_lines to draw a closed figure.
378       gdi32: Avoid reading past the end of the indices array.
379       gdi32: Add support for checking the font's gasp flags.
380
381 Hwang YunSong (1):
382       po: Updated Korean translation.
383
384 Jacek Caban (48):
385       jscript: Use bytecode for binary negation implementation.
386       jscript: Use bytecode for unary '+' expression.
387       jscript: Added tests of unary '+' on not existent property.
388       jscript: Use bytecode for '+' expression implementation.
389       jscript: Use bytecode for 'in' expression implementation.
390       jscript: Use bytecode for int literal implementation.
391       jscript: Use bytecode for bool literal implementation.
392       jscript: Use bytecode for string literal.
393       jscript: Use bytecode for double literal.
394       mshtml: Use IUri for IHTMLLocation::get_hostname implementation.
395       mshtml: Added nsIChannel::SetContentCharset implementation.
396       mshtml: Use codepage reported by http headers.
397       mshtml: Added IMutable::SetMutable implementation.
398       mshtml: Properly remove event listeners.
399       jscript: Use bytecode for null literal.
400       jscript: Use bytecode for regexp literals.
401       jscript: Always use bytecode version of literal expressions.
402       jscript: Use bytecode for this expression implementation.
403       jscript: Use bytecode for void expression.
404       jscript: Fixed memory leaks.
405       jscript: Use bytecode for comma expression implementation.
406       jscript: Use bytecode for '-' expression implementation.
407       jscript: Use bytecode for unary '-' expression.
408       jscript: Use bytecode for '==' and '!=' expression.
409       urlmon: Reduce indention in are_equal_simple and move it.
410       urlmon: Rename are_equal_simple to compare_uris and make it failable.
411       urlmon: Make canonicalize_path_hierarchical Uri object and parse_data struct independent.
412       urlmon: Properly compare file URIs.
413       urlmon: Added file URIs compare tests.
414       jscript: Use bytecode for logical or expression.
415       jscript: Use bytecode for logical and expression.
416       jscript: Use bytecode for conditional expressions.
417       jscript: Use bytecode for new expression implementation.
418       jscript: Added bytecode-based version of identifier expression.
419       jscript: Use bytecode for '*' expression implementation.
420       jscript: Use bytecode for '/' expression implementation.
421       jscript: Use bytecode for modulo expression implementation.
422       jscript: Use bytecode for binary or implementation.
423       jscript: Use bytecode for binary xor expressions.
424       jscript: Mark some functions as static.
425       jscript: Use bytecode for delete on array expression implementation.
426       jscript: Use bytecode for delete member expression.
427       jscript: Get rid of no longer needed EXPRVAL_NAMEREF.
428       mshtml: Fixed nsEventStates handling.
429       jscript: Use bytecode for '<' expression implementation.
430       jscript: Use bytecode for '<=' expression implementation.
431       jscript: Use bytecode for '>' expression implementation.
432       jscript: Use bytecode for '>=' expression implementation.
433
434 Jörg Höhle (1):
435       mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now.
436
437 Ken Thomases (18):
438       secur32: Eliminate a dead store.
439       secur32: Clean up the helper in all cases where it was allocated.
440       secur32: Eliminate broken clean-up "cheat".
441       gdi.exe16: Don't double-close the spool file.
442       ntdll: Don't change SIGCHLD disposition; no automatic reaping of child processes.
443       libport: No need to reset SIGCHLD because we're not changing it anymore.
444       kernel32: No need to reset SIGCHLD because we're not changing it anymore.
445       gdi.exe16: No need to reset SIGCHLD because we're not changing it anymore.
446       winspool: No need to reset SIGCHLD because we're not changing it anymore.
447       kernel32: Use double-fork to avoid leaving zombie processes.
448       gdi.exe16: Wait for and reap print spool child process.
449       winspool: Wait for and reap print spool child process.
450       netapi32: Wait for and reap smbpasswd child process.
451       secur32: Reap child process to avoid leaving a zombie.
452       libwine: Reap child process to avoid leaving a zombie.
453       libport: For spawnvp(_P_DETACH, ...), double-fork to avoid creating zombies.
454       explorer: Use _P_DETACH instead of _P_NOWAIT with spawnvp() to avoid zombies.
455       winemenubuilder: Use _P_DETACH instead of _P_NOWAIT with spawnvp() to avoid zombies.
456
457 Luca Bennati (3):
458       po: Update Italian translation.
459       po: Update Italian translation.
460       po: Update Italian translation.
461
462 Marcus Meissner (5):
463       winhttp: Added missing LeaveCriticalSection (Coverity).
464       mshtml: Switch two checks (Coverity).
465       winhttp: Check return value of CLSIDFromProgID (Coverity).
466       expand: Initialize a variable (Coverity).
467       d3d9: Check that surface is allocated (Coverity).
468
469 Matteo Bruni (2):
470       wined3d: Update sRGB GL texture state.
471       ddraw: Reorder formats in EnumTextureFormats.
472
473 Michael Stefaniuc (10):
474       include: Drop "l" modifiers from numeric constants in shlguid.h.
475       include: Drop some superfluous l modifiers from numeric constants.
476       user32/tests: Drop superfluous function pointer casts.
477       qedit/tests: Add SampleGrabber COM aggregation test.
478       include: Make "long" numeric constants LP64/LLP64 proof (mapi*.h).
479       include: Fix "l" numeric constants in winbase.h.
480       include: Make "long" numeric constants LP64/LLP64 proof (ddeml.h).
481       include: Make some more "long" numeric constants LP64/LLP64 proof.
482       include: Drop unneeded l modifiers from numeric constants in rpcndr.h.
483       include: DPL_NOCONFIRMATION is not a long.
484
485 Nikolay Sivov (14):
486       msxml3: Added common ISupportErrorInfo implementation.
487       msxml3: Fix support for IXMLDOMDocument3.
488       msxml3: Forward IDispatch to IDispatchEx when supported.
489       msxml3: Support IDispatchEx for IXMLDOMNodeList too.
490       shell32: Avoid null pointer dereference in traces.
491       msxml3: Added IDispatchEx support for SAXReader.
492       msxml3: Add a couple of tests for unusual behaviour of ISupporterrorInfo.
493       msxml3: Fixed ISupportErrorInfo for IXMLDOMNamedNodeMap.
494       msxml3: Some refcount tests to show details of internal DOM representation.
495       msxml3: Use common helper for IXMLDOMText_get_nodeValue().
496       msxml3: Place nodeValue() test data in a table.
497       msxml3: Fix get_namespaceURI() for document nodes.
498       shlwapi: Partially implement SHRegCreateUSKeyW.
499       po: Updated Russian translation.
500
501 Piotr Caban (16):
502       msvcrt: Keep FILE critical section initialized after closing file.
503       msvcp90: Added partial locale::_Locimp implementation.
504       msvcp90: Added empty locale constructor and destructor implementation.
505       msvcrt: Fix FILE critical section initialization.
506       msvcp90: Added locale copy based constructors implementation.
507       msvcp90: Added locale::_Addfac implementation.
508       msvcp90: Added locale::name implementation.
509       msvcp90: Added _Timevec class implementation.
510       msvcp90: Reorganize __ASM_EXCEPTION_VTABLE macro.
511       msvcp90: Added runtime_exception implementation.
512       msxml3: Change parser position computation.
513       include: Update winsvc.h header.
514       services: Added support for SERVICE_CONFIG_PRESHUTDOWN_INFO.
515       advapi32: Added support for SERVICE_CONFIG_PRESHUTDOWN_INFO.
516       services: Wait for all services to terminate before exiting.
517       advapi32: Send shutdown notification to services.
518
519 Rico Schüller (11):
520       d3dx9: Handle a special case in ID3DXBaseEffect::GetInt().
521       d3dx9: Implement ID3DXBaseEffect::SetFloat().
522       d3dx9: Implement ID3DXBaseEffect::SetFloatArray().
523       d3dx9: Implement ID3DXBaseEffect::SetInt().
524       d3dx9: Implement ID3DXBaseEffect::SetIntArray().
525       d3dx9: Implement ID3DXBaseEffect::SetBool().
526       d3dx9: Implement ID3DXBaseEffect::SetBoolArray().
527       d3dx9: Implement ID3DXBaseEffect::SetMatrix().
528       d3dx9: Implement ID3DXBaseEffect::SetMatrixArray().
529       d3dx9: Implement ID3DXBaseEffect::SetMatrixTransposeArray().
530       d3dx9: Implement ID3DXBaseEffect::SetMatrixTranspose().
531
532 Ulrich Czekalla (1):
533       winex11: Avoid grabbing user_section while holding X11DRV_CritSection.
534
535 Vitaliy Margolen (4):
536       dinput: Stub IDirectInputJoyConfig8 interface.
537       dinput: Add more parameter checking to enum devices.
538       dinput: Add more error checking to IDirectInput_GetDeviceStatus.
539       dinput: Fix device enumeration by DX8 device type.
540
541 --
542 Alexandre Julliard
543 julliard@winehq.org