msi: Handle environment strings without a value.
[wine/multimedia.git] / ANNOUNCE
blob9998fbf90f11617c6e90614d58650b7e8c66a905
1 The Wine development release 1.1.32 is now available.
3 What's new in this release (see below for details):
4   - Many crypto fixes, particularly on 64-bit.
5   - Improved DVD access on Mac OS.
6   - Several common controls improvements.
7   - Various HTML support improvements.
8   - More DIB optimizations.
9   - Various bug fixes.
11 The source is available from the following locations:
13   http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.32.tar.bz2
14   http://prdownloads.sourceforge.net/wine/wine-1.1.32.tar.bz2
16 Binary packages for various distributions will be available from:
18   http://www.winehq.org/site/download
20 You will find documentation on http://www.winehq.org/site/documentation
22 You can also get the current source directly from the git
23 repository. Check http://www.winehq.org/site/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 1.1.32:
32    2181  Civilization 2: crashes because of WM_SETFOCUS message
33    3047  CSpy/Tab: Cursor Select & Keyboard Navigation Not Implemente/ Not Working
34    5259  Delphi 1 app will not minimize with minus icon in desktop mode
35    6003  Steam: No scroll bars are shown
36    7042  Crash in Icewind Dale 1 when creating a character
37    9374  Ricochet Infinity window fills the screen when switching from fullscreen mode
38    9688  Thief: Deadly Shadows does not render text properly
39   10435  Portal 1.0: Portals don't always appear correctly (clipping plane / frustum not being respected?)
40   10525  HLSW 2 crashes at start
41   10970  Crazy Taxi crashes when "Now Loading" appears
42   11180  Unhandled exception: unimplemented function ntoskrnl.exe.IoQueryDeviceDescription called in 32-bit code
43   11424  Canon Digital Photo Professional (DPP) pane refresh
44   12171  adding popupmenu to itself, then using finditem causes stack overflow
45   12245  Graphics skip in Deus Ex
46   12858  winmm: wave.ok test fails in PC-BSD but not Linux
47   13006  Xfire ListView shows blocks for text or white spaces
48   13261  Civilization III Crashes When Starting New Game
49   13422  Age of Conan patcher doesn't draw anything
50   13501  Rome Total War v1.5: Crashes everytime when entering a battle.
51   13514  Age of Conan will not start
52   13547  Warcraft III loses all textures after game window loses focus in OpenGL mode
53   13576  Black Hawk Down Demo causes wine to exit upon entering map
54   13800  Examdiff crashes
55   14005  Debugger Detected [304]
56   14267  C++ runtime error when playing icewind dale2
57   15155  Cortex Command builds 20, 21 immediately terminate upon startup
58   15273  Civilization 4 installer fails with error -5009
59   15312  Visual Studio 2005 requires SetDIBits to handle a NULL DC and DIB_RGB_COLORS
60   16033  Metal Gear Solid I Bug
61   17211  Proteus 6 Lite (Ares.exe & Isis.exe) both crash upon opening a design.
62   17497  Xfire crashes with latest version (1.104)
63   17530  netapi32:access crashes if +heap enabled
64   17584  VB6 Textbox crash
65   17605  Google Sketchup 7 crashes on file save
66   17760  CryptAcquireContext: Use MS_ENHANCED_PROV instead of MS_DEF_PROV when pszProvider == NULL
67   17768  7Zip rebar crash
68   17777  WinPolis hangs when sound is enabled
69   17810  Base unittests for chromium don't run to completion under Wine
70   17813  Net unittests for chromium fail under Wine
71   17905  PDF-XChange Viewer mouse pointer drop shadow
72   17964  Red Alert 3 Uprising crashes during install
73   17974  Garry's mod: screen on toolgun isn't rendered
74   17994  Failure in D3D8 test in test function texop_test
75   18000  user32 test run failure
76   18055  Searching in Steam does not work.
77   18067  RtlAllocateHeap leaks memory in the small->large path
78   18297  Easybooks crashes
79   18438  Installation of ArcGIS 9.3 on Wine 1.1.21 at C:/ArcGIS fails and exit
80   18480  Civilization III 1.29f will not start game.
81   18573  Unimplemented function KERNEL32.dll.QueryFullProcessImageNameA
82   19064  Microsoft Security Essentials Setup crashes missing QueryAllTracesW
83   19091  Missing background in Civilization 4 main menu.
84   19188  [Close Combat Iv][CC4] All versions fail to launch
85   19468  SimCity 4 Deluxe is showing an error messages when starting
86   19629  BFVietnam 1.1: Fog rendering incorrectly
87   19702  Atlas der Schweiz does not start anymore
88   19819  Small bug in TranslateCharsetInfo
89   19932  Steam web browser scrolls to end when mouse is out of window
90   20130  CDRoller: Can't start because debugger is detected.
91   20184  eXperience112 don`t work
92   20188  MSN Messenger 7.5 hangs while signing in
93   20212  AutoCAD 2009: unimplemented function dwmapi.dll.DwmGetTransportAttributes
94   20285  cmd.exe does not treat tabs as parameter delimiters
95   20304  Warcraft 3 stats lagging very bad in-game after about 10 minutes if you are not host
96   20310  Game Original War doesn't look well because of broken transparency
97   20313  Patch "user32: Draw the whole button only if requested" caused uninitialized memory use
98   20317  Uninitialised memory reference in SetEntriesInAclW()
99   20325  Month calendar control does not send MCN_SELCHANGE when changing month
100   20334  SysReAllocStringLen should return null terminated strings
101   20341  pcsx2 beta: crashes when exiting LilyPad configuraiton dialog
102   20365  Radio Mobile icons drawn too big
103   20368  sockaddr_in6 wrong size; causes chromium's net_unittests HostResolverImplTest.NumericIPv6Address test case to fail
104   20370  chromium net_unittests.exe fail ssl tests because they can't check for root cert
105   20372  WS2_register_async_shutdown forgets to initialize local_iosb.Information to zero?
106   20399  MPLAB 8.40 crashes
107   20430  widl generating proxies and stubs with uninitialized variables?
108   20437  winemenubuilder produces wrong mimetype files
109   20440  RM2k3 Event Editor works very slow
111 ----------------------------------------------------------------
113 Changes since 1.1.31:
115 Alexander Kochetkov (2):
116       oleaut32/tests: Checking null terminator in return value of SysReAllocStringLen.
117       oleaut32: Fix null terminator in SysReAllocStringLen.
119 Alexandre Julliard (51):
120       server: Add support for allocating purely client-side user handles.
121       user32: Add functions for manipulating client-side user handles.
122       user32: Use client-side user handles for DeferWindowPos.
123       user32: Use the generic handle functions for windows too.
124       user32: Use client-side user handles for menus.
125       user32: Get rid of the 16-bit heap support.
126       user32: Set last error in WIN_GetRectangles.
127       oleaut32/tests: Fix some test failures on Win64.
128       winex11: Make all render format pointers const.
129       winex11: Store the device format in the Xrender info structure.
130       ntdll: Use the exception code as exit status when no debugger is present.
131       winetest: Improve the native dll check to catch .NET dlls too.
132       winex11: The xrender tile picture must be used only inside the critical section.
133       kernel32: Use the PWD variable to set the initial current directory.
134       setupapi: Get rid of the code to build fake dlls from existing modules.
135       setupapi: Use a global buffer to read fake dll files and free it only once we are done with all the fake dlls.
136       setupapi: Check that the source is a valid fake dll and skip wrong 32/64 type dlls.
137       setupapi: Abstract the creation of the fake dll destination to a separate function.
138       setupapi: Maintain a list of fake dlls that have been created already.
139       setupapi: Add support for using a wildcard in fake dll creation.
140       setupapi: Add support for specifying a fake dll source as '-' to delete it.
141       user32: Reimplement accelerator functions to use 32-bit user handles instead of 16-bit functions.
142       user32: Move 16-bit resource functions to user16.c.
143       server: Free client-side user handles at process exit.
144       user32: Add a helper to retrieve the dimensions of an icon.
145       ntdll: Assume leaf function when we can't find exception information for an ELF module.
146       widl: Output a pointer description for arrays declared as pointers.
147       widl: Use write_pointer_description_offsets() to output no_repeat descriptors for consistency.
148       widl: Arrays of pointers are always complex on 64-bit.
149       widl: Write a proper type description for pointer array elements.
150       ws2_32: Set Information to 0 upon completion of an async shutdown.
151       gdiplus: Remove a useless inline specifier.
152       netapi32/tests: Don't try to get the size of a freed buffer.
153       user32/tests: Use the correct lparam in the WM_DDE_ACK reply.
154       kernel32: Return the appropriate binary type for 64-bit PE files.
155       kernel32: Make sure the 32/64-bit state of the wineprefix matches the binary we are running.
156       widl: Fix the prototype of generated exception filters.
157       ole32/tests: Set returned pointer to NULL in CreateInstance (Valgrind).
158       advapi32: Fix lookup of the current user SID in SetEntriesInAclW.
159       ntdll: Always set the I/O status information on ioctl completion (Valgrind).
160       kernel32: Store the symlink target directly into the correct buffer in GetVolumeNameForVolumeMountPointW.
161       rpcrt4/tests: Fix a double free (Valgrind).
162       user32: Data chunks in RIFF file must be word-aligned.
163       kernel32: Create the syswow64 directory if necessary.
164       ntdll: Move the window and system dir variables to directory.c
165       ntdll: Abstract the support for comparing file identities.
166       ntdll: Add Windows directory redirections for Wow64.
167       msvcrt: Implement __lconv_init.
168       user32: Don't print CreateWindow warning for HWND_MESSAGE windows.
169       winex11: Do not give focus to a WS_EX_NOACTIVATE window.
170       user32: Fix the return value of EnumThreadWindows.
172 Andrew Eikum (27):
173       ole32: Use rgiidExclude in StorageImpl::CopyTo.
174       ole32/tests: Add tests for IStorage::CopyTo with IID exclusions.
175       mshtml: Fix typo in WARN.
176       mshtml: Fix typo in TRACE.
177       include: Remove redundant #defines in mshtmdid.h.
178       mshtml.idl: Add IHTMLDocumentCompatibleInfo[Collection] dispifaces.
179       mshtml.idl: Add IHTMLDocument6 dispiface.
180       mshtml: Add stub implementation for IHTMLDocument6.
181       mshtml: Add test suite for IHTMLLocation.
182       mshtml: Add helper function get_url_components.
183       mshtml: Implement IHTMLLocation::get_port.
184       mshtml: Implement IHTMLLocation::get_protocol.
185       mshtml: Implement IHTMLLocation::get_host.
186       mshtml: Implement IHTMLLocation::get_hostname.
187       mshtml: Reimplement IHTMLLocation::get_href.
188       mshtml: Reimplement HTMLLocation::get_pathname.
189       mshtml: Implement IHTMLLocation::get_hash.
190       mshtml: Implement IHTMLLocation::get_search.
191       mshtml/tests: Remove todo_wine paths.
192       hlink.idl: Fix typo in comment.
193       hlink: Use HLINKSETF flags in Hlink::fnSetMonikerReference.
194       mshtml.idl: Fix IHTMLImageElementFactory uuid.
195       mshtml: Add stub implementation for HTMLImageElementFactory.
196       mshtml: Implement HTMLImageElementFactory::create.
197       mshtml: Add DispatchEx support to HTMLImageElementFactory.
198       mshtml: Handle DISPATCH_CONSTRUCT flag for DispatchEx objects.
199       mshtml: Add HTMLImageElementFactory::value for constructing IHTMLImgElement objects.
201 Andrey Turkin (5):
202       ntdll: Run TLS callbacks in zero-sized TLS directories.
203       advapi32: Ignore invalid MultipleTrusteeOperation values in SetEntriesInAcl.
204       programs: Update Russian translations.
205       dlls: Update Russian translations.
206       server: Open mem file for write when writing memory.
208 Aric Stewart (1):
209       wininet: Cache basic authentication values based on realm and host.
211 Aurimas Fišeras (1):
212       kernel32/nls: Add genitive forms for Lithuanian locale.
214 Austin English (1):
215       include: fix a compiler warning on GNU/FreeBSD.
217 Charles Davis (13):
218       ntdll: Implement CDROM_ReadQChannel() on Mac OS.
219       ntdll: Implement CDROM_RawRead() on Mac OS.
220       ntdll: Use the parent device for everything when processing a storage IOCTL request on Mac OS.
221       ntdll: Shorten an ERR message and change it to a FIXME.
222       ntdll: Implement DVD_StartSession() on Mac OS.
223       ntdll: Implement DVD_EndSession() on Mac OS.
224       ntdll: Implement DVD_SendKey() on Mac OS.
225       ntdll: Implement DVD_ReadKey() on Mac OS.
226       ntdll: Implement DVD_ReadStructure() on Mac OS.
227       ntdll: Partially implement CDROM_GetControl() on Mac OS.
228       ntdll: Implement CDROM_ScsiGetCaps() on Mac OS.
229       ntdll: Implement DVD_GetRegion() on both Linux and Mac OS.
230       ntdll: Finish implementation of DVD_ReadKey() with key type DvdGetRpcKey on Linux.
232 Christian Costa (3):
233       ddraw: Make SetColorKey handle case where dwColorSpaceHighValue < dwColorSpaceLowValue + tests.
234       d3dxof: Properly initialize nb_childs.
235       d3dxof: Only consider 4 lowest bits in DXFILELOADOPTIONS + tests.
237 Colin Fletcher (1):
238       cmd.exe: Treat tabs as parameter delimiters.
240 Damjan Jovanovic (3):
241       cfgmgr32.h: Define MAX_DEVICE_ID_LEN.
242       usb.h: Add USBD_STATUS codes and the USBD_VERSION_INFORMATION struct.
243       winemenubuilder: Ignore Windows MIME types without a slash.
245 Dan Kegel (1):
246       kernel32: Fix two little leaks in heap test.
248 Detlef Riekenberg (16):
249       include: Add typedef for WNODE_HEADER.
250       include: Add typedef for EVENT_TRACE_PROPERTIES.
251       advapi32: Add stubs for QueryAllTraces[A|W].
252       advapi32: Add stubs for StartTrace[A|W].
253       advapi32: Add stub for EnableTrace.
254       advapi32: Add stubs for ControlTrace[A|W].
255       localspl: Implement fpEnumPrintProcessors.
256       winspool: Implement EnumPrintProcessors[A|W].
257       winspool/tests: Add tests for EnumPrintProcessors.
258       d3d8/tests: Mark a failure of GetLightEnable on Win9x as broken().
259       winspool: Fix a copy & paste error in a comment.
260       localspl: Implement fpGetPrintProcessorDirectory.
261       winspool: Use the backend for GetPrintProcessorDirectory and update the tests.
262       winspool/tests: Fix a failure on NT4 for EnumPrintProcessors.
263       localspl: Accept environment 'Windows IA64'.
264       user32: Bump version to XP values.
266 Dmitriy Anisimkov (1):
267       ws2_32: Ignore EINTR poll result code in WS_select.
269 Dmitry Timoshkov (3):
270       user32: Make sure that focus_rect is always initialized.
271       kernel32: Implement HeapQueryInformation, add some basic tests for it.
272       rsaenh: Fix the accepted RC2 key length, based on a test case by Dan Kegel.
274 Eric Pouech (29):
275       mmsystem: Move the 16bit mmio code into a dedicated file (mmio16.c).
276       winmm: Create real 16<>32 thunks for mmio support in MMSystem.
277       winmm: Transform the mmio proc kind into a boolean (to distinguish between ANSI and Unicode).
278       mciwave: Simplify async command management by directly calling the right function instead of going through winmm again.
279       mciwave: Try to synchronize better async commands.
280       winmm: Protect MCI_SYSINFO against null buffers.
281       mmsystem: Move the 16-bit MCI functions to a new mci16.c file.
282       mmsystem: Cleanly separate MCI in MMSystem from WinMM code.
283       winmm: Get rid of WINE_TIMER_IS32 internal flag.
284       winmm: Simplify mciLoadCommandResource by dropping 16bit module support.
285       winmm: Move the 16=>32W MCI map functions to mci16.c.
286       mmsystem: Create a real function for mciExecute.
287       winmm: Create a real function for MMSYSTEM.timeGetTime.
288       winmm: Added partial infrastructure for driver management in mmsystem.c.
289       winmm: Use the new 16=>32 thunks for Aux driver type.
290       winmm: Move the 16bit management of mixer driver type to the new 16=>32 thunking scheme.
291       winmm: Move the 16bit management of midi in driver type to the new 16=>32 thunking scheme.
292       winmm: Move the 16bit management of midi out driver type to the new 16=>32 thunking scheme.
293       winmm: Move the 16bit management of midi stream (for midi out driver type) to the new 16=>32 thunking scheme.
294       winmm: Move the 16bit management of wave in driver type to the new 16=>32 thunking scheme.
295       winmm: Move the 16bit management of wave out driver type to the new 16=>32 thunking scheme.
296       winmm: Get rid of the bFrom32 parameter in MMDRV_Alloc and MMDRV_Message.
297       winmm: Get rid to 16=>32 mappers in winmm (they're now in mmsystem).
298       winmm: Restrict exposure of WINE_MMTHREAD to mmsystem.
299       winmm: Duplicate the 16<>32 time struct conversion functions in both DLLs.
300       winmm: Simply use kernel32.{Release|Restore}ThunkLock instead of using 16bit convolutions.
301       winmm: Get rid of 16bit driver support in mci.
302       winmm: Get rid of 16bit driver support.
303       winmm: Final split of mmsystem.
305 Erich Hoover (2):
306       user32: Test for 'F10' key events.
307       winex11: Send WM_SYSKEYDOWN and WM_SYSKEYUP when the 'F10' key is used.
309 Erik Inge Bolsø (1):
310       wine.inf: Fix NT4 SP6a registry key.
312 Francois Gouget (8):
313       comctl32/monthcal: Fix compilation on systems that don't support nameless unions.
314       crypt32: Fix compilation on systems that don't support nameless unions.
315       ntdll/tests: Fix compilation on systems that don't support nameless unions.
316       ddraw/tests: Fix compilation on systems that don't support nameless unions.
317       shlwapi: Fix compilation on systems that don't support nameless unions.
318       shell32: Fix compilation on systems that don't support nameless unions.
319       comctl32: Add a trailing '\n' to a Wine trace.
320       hnetcfg: Make NetFwOpenPort_create() static.
322 Ge van Geldorp (1):
323       winex11.drv: Fix build on systems without libXrender.
325 Gerald Pfeifer (1):
326       winebuild: Add support for PLATFORM_FREEBSD to get_ld_command.
328 Hans Leidekker (25):
329       hnetcfg: Add stub implementations of INetFwOpenPorts and INetFwOpenPort.
330       hnetcfg: Add stub implementations of INetFwServices and INetFwService.
331       iphlpapi: Allow both direct and indirect default routes in GetBestRoute.
332       sti: Return success from the IStillImageW::UnregisterLaunchApplication stub.
333       msi: Define common strings only once.
334       msi: Add some tests for MsiGetTargetPathW.
335       msi: Reorder functions to avoid forward declarations.
336       msi: Use a function to test the UI level instead of passing a boolean around.
337       msi: Eliminate the last parameter from ACTION_PerformActionSequence.
338       msi: Allocate MSISCRIPT structure at package creation time.
339       msi: Get rid of some redundant initializations.
340       msi: Always create a temporary copy of the package.
341       msi: Create the local copy before opening the database.
342       msi: Open the database read/write in MSI_OpenPackageW.
343       mscms/tests: Avoid accessing uninitialized memory.
344       hnetcfg: Improve the stub for INetFwServices::Item.
345       winhttp: Fix a memory leak.
346       winhttp: Correct SSL lock size and make sure we free as many as we allocated.
347       winhttp/tests: Free the certificate context after use.
348       winhttp: Fix two memory leaks.
349       msi: Avoid accessing uninitialized memory.
350       msi/tests: Avoid accessing uninitialized memory.
351       msi/tests: Free the string returned from ConvertSidToStringSid.
352       wininet: Avoid accessing uninitialized memory.
353       msi: Fix calculation of required buffer size in MsiSummaryInfoGetPropertyW.
355 Henri Verbeet (49):
356       d3d9: Only run the vertex/pixel shader constant apply tests when the implementation supports them.
357       d3d8: Cleanup the stateblock test callbacks a bit.
358       d3d9: Cleanup the stateblock test callbacks a bit.
359       d3d10: Explicitly handle D3D10_SVC_STRUCT in set_variable_vtbl().
360       wined3d: Vertex state stateblocks should also record the vertex declaration.
361       wined3d: Capture on a recorded stateblock doesn't record the vertexdeclaration in d3d9.
362       d3d8: Add some stateblock tests for device resources.
363       d3d9: Add some stateblock tests for device resources.
364       wined3d: Remove some code that doesn't make sense.
365       wined3d: Get rid of stateblock_copy_values().
366       wined3d: Rename PLIGHTINFOEL to something less awful.
367       wined3d: Remove the useless "changed" and "enabledChanged" fields from struct wined3d_light_info.
368       wined3d: Simplify IWineD3DStateBlockImpl_Capture().
369       wined3d: Merge some bitfields in struct SAVEDSTATES.
370       wined3d: Don't apply more than num_contained_render_states in IWineD3DStateBlockImpl_Apply().
371       wined3d: Simplify IWineD3DStateBlockImpl_Apply().
372       secur32: Recognize the ARC4 cipher in schannel_get_cipher_algid().
373       secur32: Don't try to cleanup uninitialized handles in SECUR32_deinitSchannelSP().
374       secur32: Don't bother zeroing the handle table in SECUR32_initSchannelSP().
375       d3d8: Get rid of some unused variables in IDirect3DDevice8Impl_CopyRects() (LLVM/Clang).
376       ddraw/tests: Check some more return values (LLVM/Clang).
377       d3d8/tests: Check some more return values (LLVM/Clang).
378       d3d9/tests: Check some more return values (LLVM/Clang).
379       wined3d: Printing a FIXME once only works if the relevant BOOL is static (LLVM/Clang).
380       d3d9: Fix some IDirect3DDevice9Ex methods.
381       d3d9/tests: Remove an unused color result.
382       ddraw/tests: Remove some leftover debug code.
383       wined3d: Cleanup IWineD3DDeviceImpl_UpdateTexture().
384       d3d8: Add traces.
385       d3d9: Add traces.
386       wined3d: Get rid of the useless "isPBuffer" bitfield in struct wined3d_context.
387       wined3d: Validate the D3D context in FindContext().
388       wined3d: Use context->valid in context_destroy_gl_resources().
389       wined3d: Destroy FBO entries from the context that created them.
390       dxgi: Free the adapters array in dxgi_factory_Release() (Valgrind).
391       wined3d: Rename WineD3DAdapter to wined3d_adapter.
392       wined3d: Free the adapter's format info in IWineD3DImpl_Release() (Valgrind).
393       wined3d: Free the shader buffer in shader_glsl_free() (Valgrind).
394       winex11.drv: Properly free "visinfo" in get_formats() (Valgrind).
395       wined3d: Fix some GLINFO_LOCATION abuse.
396       wined3d: Get rid of GL_LIMITS.
397       wined3d: Free the blitter private data in arbfp_blit_free() (Valgrind).
398       wined3d: Free the context array in IWineGDISwapChainImpl_Destroy() (Valgrind).
399       d3d9: Free "elements" in a vertexdeclaration_init() error path (Valgrind).
400       d3d8/tests: Properly release the first device in test_depth_stencil_reset().
401       d3d9/tests: Release the IDirect3D9Ex interface in test_qi_ex_to_base().
402       wined3d: Replace the "stateLookup" tables with a single "wrap_lookup" table.
403       wined3d: Don't use the stack as cursor mask (Valgrind).
404       wined3d: Compare and copy the actual palette in palette9_changed() (Valgrind).
406 Hib Eris (8):
407       msi/tests: Add tests for merging existing tables.
408       msi: Fix a failure with merging existing tables.
409       msi/tests: Add test for merging string types.
410       msi/tests: Add tests for rows order.
411       msi: Fix merging string type checks.
412       msi: Add function get_table_value_from_record.
413       msi: Fix table rows order.
414       msi: Remove table_find_insert_idx().
416 Ilya Shpigor (1):
417       programs: Add initial extrac32 utility.
419 Jacek Caban (46):
420       mshtml: Return NULL documentElement in READYSTATE_UNINITIALIZED state.
421       mshtml: Improved IHTMLElement2::doScroll stub.
422       mshtml: Moved QueryService call to hlink_frame_navigate.
423       mshtml: Added IHTMLLocation::put_href implementation.
424       shdocvw: Improved debug messages.
425       mshtml: Added IHTMLWindow2::name property implementation.
426       mshtml: Added IHTMLWindow2::get_length implementation.
427       mshtml: Create nsIDOMEvent in create_event if not available.
428       mshtml: Added IHTMLElement3::fireEvent implementation.
429       mshtml: Added IHTMLElement::click implementation.
430       mshtml: Added more events tests.
431       mshtml: Added IHTMLBaseFrame interface stub implementation.
432       mshtml: Added IHTMLFrameBase IDispatchEx support.
433       mshtml: Use DISPATCH_* macros instead of INVOKE_*.
434       mshtml: Added support for DISPATCH_METHOD|DISPATCH_PROPERTYGET calls to InvokeEx implementation.
435       mshtml: Return failure in GetContentType if content type is not available.
436       jscript: Don't use VARTYPE as is in literal_t.
437       jscript: Separate flags parsing from regexp creating.
438       jscript: Create regexp object when evaluating regexp literal.
439       msxml3: Store xmlnode structure instead of pointer in node implementations.
440       shlwapi: Properly handle ParseURL errors in UrlGetPart[AW].
441       shlwapi: Make more strict restriction for URL scheme and fix error handling in ParseURLA.
442       shlwapi: Make more strict restriction for URL scheme and fix error handling in ParseURLW.
443       shlwapi: Added ParseURL[AW] tests.
444       jscript: Added SetProperty(SCRIPTPROP_INVOKEVERSIONING) implementation.
445       mshtml: Ignore version bits in grfdex.
446       jscript: Ignore version bits in grfdex.
447       jscript: Pass invoke version to IDispatchEx functions.
448       jscript: Return array length in Array.unshift for invoke version >= 2.
449       jscript: Added Error.toString implementation for invoke version >= 2.
450       jscript: Added invoke version 2 tests.
451       jscript: Use the value returned from constructor in 'new' expression if the value if an object.
452       mshtml: Moved creating new element to separated function.
453       mshtml: Use create_nselem in IHTMLOptionFactory::create.
454       mshtml: Use create_nselem in set_font_size.
455       mshtml: Use create_nselem in exec_hyperlink.
456       mshtml: Use create_nsdoc in exec_indent.
457       mshtml: Moved nsdoc to HTMLDocumentNode object.
458       mshtml: Moved nsIDocumentObserver implementation to HTMLDocumentNode object.
459       mshtml: Moved Wine[Add|Remove]Observer calls to HTMLDocumentNode constructor/destructor.
460       mshtml: Get rid of update_nsdocument call in SetStatus hack.
461       mshtml: Moved HTMLDocumentNode creating to HTMLWindow_Create.
462       mshtml: Initialize iframe windows when added to document.
463       jscript: Fixed a test that depends on time zone.
464       jscript: Fixed replace string parsing.
465       mshtml: Call pop_mutation_queue in MUTATION_IFRAME handler.
467 James Helferty (1):
468       d3d9/tests: Fix position of EndScene in visual test.
470 Jeff Zaroyko (2):
471       wined3d: Fix prototype for set_texture_matrix.
472       d3dxof: Remove unused variable.
474 Jeffrey Morlan (1):
475       netapi32: Fix heap buffer overflows.
477 Juan Lang (79):
478       winegcc: Examine each argument of compile command rather than only the first.
479       netapi32: Improve a trace.
480       crypt32: Pass pointer to structure rather than assuming a particular alignment.
481       crypt32: Explicitly pass array pointer when decoding CRL entries rather than assuming a particular alignment.
482       crypt32: Explicitly pass array pointer when decoding cert extensions rather than assuming a particular alignment.
483       crypt32: Explicitly pass array pointer when decoding CRL entry extensions rather than assuming a particular alignment.
484       crypt32: Explicitly pass array pointer when decoding CRL extensions rather than assuming a particular alignment.
485       crypt32: Simplify CRYPT_AsnDecodeExtensions.
486       crypt32: Let decoder helpers do more sanity checking.
487       crypt32: Simplify CRYPT_AsnDecodeSMIMECapabilities.
488       crypt32: Explicitly pass array pointer when decoding PKCS attribute values rather than assuming a particular alignment.
489       crypt32: Explicitly pass array pointer when decoding CMS message certs rather than assuming a particular alignment.
490       crypt32: Explicitly pass array pointer when decoding CMS message CRLs rather than assuming a particular alignment.
491       crypt32: Explicitly pass array pointer when decoding name constraints' permitted subtrees rather than assuming a particular alignment.
492       crypt32: Explicitly pass array pointer when decoding name constraints' excluded subtrees rather than assuming a particular alignment.
493       crypt32: Simplify CRYPT_AsnDecodeDistPointName.
494       crypt32: Explicitly pass array pointer when decoding CMS message signers rather than assuming a particular alignment.
495       crypt32: Explicitly pass array pointer when decoding CTL entries rather than assuming a particular alignment.
496       crypt32: Explicitly pass array pointer when decoding CTL extensions rather than assuming a particular alignment.
497       crypt32: Remove a redundant trace.
498       crypt32: Explicitly pass array pointer when decoding policy qualifier notice numbers rather than assuming a particular alignment.
499       crypt32: Explicitly pass array pointer when decoding basic constraints' subtrees rather than assuming a particular alignment.
500       crypt32: Explicitly pass array pointer when decoding cert policy qualifiers rather than assuming a particular alignment.
501       crypt32: Explicitly pass array pointer when decoding CTL entry attributes rather than assuming a particular alignment.
502       crypt32: Simplify CRYPT_AsnDecodePKCSAttributes.
503       crypt32: Add array descriptor members describing offsets of outer structure.
504       crypt32: Simplify calling CRYPT_AsnDecodeArrayNoAlloc.
505       crypt32: Let CRYPT_AsnDecodeArrayNoAlloc calculate array size rather than requiring every caller to do so.
506       crypt32: Further simplify calling CRYPT_AsnDecodeArrayNoAlloc.
507       crypt32: Pass decode flags to CRYPT_AsnDecodeArrayNoAlloc.
508       crypt32: Convert internal callers of CRYPT_AsnDecodeArray to call CRYPT_AsnDecodeArrayNoAlloc.
509       crypt32: Correct a sequence item size.
510       crypt32: Decode names using CRYPT_AsnDecodeArrayNoAlloc.
511       crypt32: Decode unicode names using CRYPT_AsnDecodeArrayNoAlloc.
512       crypt32: Decode authority info access with CRYPT_AsnDecodeArrayNoAlloc.
513       crypt32: Decode cert policies info using CRYPT_AsnDecodeArrayNoAlloc.
514       crypt32: Decode CRL dist points using CRYPT_AsnDecodeArrayNoAlloc.
515       crypt32: Decode enhanced key usages using CRYPT_AsnDecodeArrayNoAlloc.
516       crypt32: Rename CRYPT_AsnDecodeArrayNoAlloc to CRYPT_AsnDecodeArray, and pass a CRYPT_DECODE_PARA * to it so that it can allocate memory if requested.
517       crypt32: Allocate memory if requested in CRYPT_AsnDecodeArray.
518       crypt32: Let CRYPT_AsnDecodeArray allocate memory for its callers.
519       crypt32: Don't pass CRYPT_DECODE_ALLOC_FLAG to array item decoders.
520       crypt32: Simplify CRYPT_AsnDecodeIntInternal.
521       crypt32: Fix an invalid alignment assumption decoding a subtree's maximum.
522       crypt32: Explicitly pass pointers to blob arrays rather than relying on an invalid alignment assumption.
523       crypt32: Explicitly pass pointers to blob arrays rather than relying on an invalid alignment assumption.
524       crypt32: Use helper function to search for certs.
525       crypt32: Introduce a helper function to search for certificates that doesn't require recreating the search key for every certificate.
526       crypt32: Avoid repeatedly decoding authority key id extensions when searching for a cert's issuer.
527       crypt32: Compare certificates in a consistent order.
528       wintrust: Simplify CRYPT_AsnDecodeInt.
529       ws2_32: Don't overwrite address length before checking it.
530       crypt32: Add a safe default for unsupported critical extensions.
531       rsaenh: Add some traces to key importing.
532       rsaenh: Make the enhanced crypto provider the default.
533       wintrust: Correct sizes of structure members.
534       crypt32/tests: Get rid of a couple of certs unneeded by a test.
535       crypt32: Test CertFindCertificateStore for finding Unicode strings.
536       crypt32: Implement CryptFindCertificateInStore for unicode strings.
537       crypt32: Fix duplicating a NULL CRL context.
538       crypt32: Fix duplicating a NULL CTL context.
539       crypt32: Set an output parameter on the success path.
540       crypt32: Add a helper function to encode a cert's public key.
541       crypt32: Use helper function to encode public keys for hashing.
542       crypt32: Encode public keys with NULL parameters if they're empty (and make tests more restrictive).
543       rsaenh: Store key when algid is a CALG_RSA_* algid, too.
544       crypt32: Check basic constraints extension for end certs too.
545       crypt32: Get CA flag from basic constraints extension of every cert in the chain.
546       crypt32: Add key usage extension to non-root CA certs.
547       crypt32: Add tests for key usage in the base policy.
548       crypt32: Check key usage during chain validation.
549       rsaenh: Add more tests of the RC2 key length.
550       rsaenh: Fail if CRYPT_IPSEC_HMAC_KEY is passed to CryptImportKey.
551       rsaenh: Revert part of d3c482250a8232e9657ecefb3e61fff0194e3fbe.
552       crypt32: Fix test failures on older versions of crypt32.
553       wintrust: Test the pgKnownSubject field of WINTRUST_FILE_INFO.
554       advapi32: Fix a comment typo.
555       wintrust: Make sure item size is at least the min size, and only align sizes that are greater.
556       crypt32: Make sure item size is at least the min size, and only align sizes that are greater.
558 Julius Schwartzenberg (2):
559       user32: Change extra value for standard edit class to 6.
560       user32/tests: Test extra value of standard dialog and edit classes.
562 Jörg Höhle (3):
563       winmm: MCI notification is controlled by keyword only.
564       runtest: -i sets WINETEST_INTERACTIVE=1 and enables even more tests.
565       winecoreaudio: Move ERR&WARN out of OSSpinLock sections.
567 Ken Thomases (15):
568       winecoreaudio: Consolidate formatting of FOURCC values in a function.
569       winecoreaudio: Add more debug logging.
570       winecoreaudio: Remove some unused structure fields.
571       winecoreaudio: Move instance-specific fields of WINE_WAVEOUT to sub-struct.
572       winecoreaudio: Make wodMessage signature match WINEMM_msgFunc32 typedef.
573       winecoreaudio: For WODM_* messages, treat dwUser as a driver instance handle.
574       winecoreaudio: Allow opening multiple wave-out instances.
575       winecoreaudio: Fix declaration of CoreAudio_MIDIRelease to match definition.
576       winecoreaudio: Fix an error check (bad copy-paste).
577       winecoreaudio: Minor grammar fix in comment.
578       winecoreaudio: Quiet a noisy FIXME.
579       winmm/tests: Don't complain for Wine drivers that allow multiple wave-out opens.
580       winecoreaudio: Fix incorrect casts from float to DWORD in wodGetVolume.
581       msacm32.drv: Don't access uninitialized memory.
582       winecoreaudio: Allow getting/setting volume on device as well as instances.
584 Louis Lenders (4):
585       include: Add definition of MilMatrix3x2D.
586       dwmapi: Add stub for DwmGetGraphicsStreamTransformHint.
587       d3d9/tests: Test {IDirect3DTexture9, IDirect3DSurface9}::UnlockRect for rectangles that are not locked.
588       kernel32: Add stub for GetVolumePathNamesForVolumeNameW.
590 Maarten Lankhorst (1):
591       winealsa.drv: Remove call to snd_pcm_drain.
593 Marcus Meissner (7):
594       dsound: Check for NULL listener (Coverity).
595       winmm: Return error on NULL ioProc (Coverity).
596       mciwave: Return on error (Coverity).
597       winmm: Handle NULL szFileName in mmioOpen16 (Coverity).
598       cabinet: Fixed free_decompression_temps/_mem , handle NULL (Coverity).
599       localspl: Check for NULL return from HeapAlloc.
600       reg: Remove wrong and useless check (Coverity).
602 Markus Stockhausen (1):
603       dinput8: Ensure balance of CoInitialize/CoUninitialize.
605 Matteo Bruni (4):
606       wpp: Add I/O callbacks.
607       d3dx9: Add D3DXAssembleShader and related declarations.
608       d3dx9: D3DXAssembleShader and D3DXAssembleShaderFromFile stubs.
609       d3dx9: D3DXAssembleShaderFromResource implementation.
611 Michael Stefaniuc (3):
612       windowscodecs: Remove redundant NULL check before HeapFree (Smatch).
613       user32: Remove a duplicated return statement (Smatch).
614       mshtml: Remove redundant NULL check before HeapFree (Smatch).
616 Nikolay Sivov (54):
617       comctl32/tab: Cache window GWL_STYLE style.
618       comctl32/tab: Remove unnecessary helper parameter, use SDK name for UpDown control.
619       comctl32/tab: Remove dead parameter check code.
620       comctl32/tab: Add more TRACE(), further cleanup.
621       comctl32/tab: Handle item focusing better (including keyboard support).
622       comctl32/tab: Support for TCN_KEYDOWN notification.
623       comctl32/monthcal: Process UpDown year control through subclass procedure.
624       comctl32/monthcal: Reuse existing calls to get day of week.
625       comctl32/monthcal: Handle September 1752 with a special case - it's a 19 day month.
626       comctl32/monthcal: Handle over/underflow while navigation with month menu.
627       comctl32/monthcal: Fix a test skip condition - zero is a valid day of week.
628       comctl32/monthcal: Fix column/row calculation for previous and next month.
629       comctl32/monthcal: Simplify parameter set of day of week calculation helper.
630       comctl32/monthcal: Fix multiselection days painting, including intersections with prev/next months.
631       comctl32/monthcal: Fix selection during navigation with prev/next buttons.
632       comctl32: Don't use additional heap allocated pointer to old window procedure.
633       comctl32/datetime: Get rid of duplicated helper.
634       comctl32/datetime: Fix wrong assumption about DTN_DATETIMECHANGE flags, add DTN_CLOSEUP notifications.
635       comctl32/datetime: It isn't allowed to change DTS_SHOWNONE after creation.
636       comctl32/datetime: Use SDK class name for inner button window.
637       comctl32/monthcal: Fix today link test.
638       comctl32/monthcal: Simplify painting operations, split painting to several helpers.
639       comctl32/monthcal: Implement handler for WM_ERASEBKGND.
640       comctl32/monthcal: Add separate handler for WM_PRINTCLIENT.
641       comctl32/comboex: Handle NULL item text case to avoid crash.
642       comctl32/monthcal: Fix painting selected day, remove unneeded operations.
643       comctl32/monthcal: Reduce update rectangle after updating current selection.
644       comctl32/tooltips: Fix an obviously wrong structure size check.
645       comctl32/tooltips: Test the way structure size field is validated.
646       comctl32/tooltips: Remove redundant code, let handlers deal with A<->W conversions.
647       comctl32/tooltips: Remove unneeded helper parameter.
648       comctl32/monthcal: Get/set unicode format flag using MCM_[GET|SET]UNICODEFORMAT.
649       include: Use unicode neutral SendMessage for DateTime and Monthcal macros.
650       comctl32/treeview: Erase background on WM_PAINT if BeginPaint() tells us to do it.
651       comctl32/header: Process input order array more accurately.
652       comctl32/monthcal: Explicitly set required control size.
653       gdi32: Prevent possible buffer overrun.
654       kernel32/tests: Add tests for LOCALE_RETURN_GENITIVE_NAMES flag for GetLocaleInfoW.
655       kernel32/locale: Add support for LOCALE_RETURN_GENITIVE_NAMES for LOCALE_SMONTHNAME* locale data, update Russian nls resource accordingly.
656       comctl32/syslink: Add a WM_ERASEBKGND handler.
657       comctl32/syslink: Implement LWS_TRANSPARENT style.
658       comctl32/syslink: Implement LWS_IGNORERETURN.
659       user32/edit: Don't leak undo buffer.
660       user32/edit: Properly clean up on failure inside WM_NCCREATE handler.
661       comctl32/header: Don't leak Imagelist handle.
662       comctl32/tests: Release activation context handle when we're done with tests.
663       user32/win: Release scroll window data on window destruction.
664       comctl32/listview: Don't query header if it isn't created.
665       comctl32/listview: Free column data on control destruction.
666       comctl32/listview: Free ID array when removing all items.
667       comctl32: Fix imagelist leak when switching LVS_EX_CHECKBOXES style.
668       gdi32: Always create a context for DIB_RGB_COLORS.
669       kernel32: Fix copied data length.
670       comctl32/tests: Explicitly initialize window handle.
672 Owen Rudge (2):
673       comctl32: Only execute hit test in MouseMove if necessary.
674       comctl32: Ensure listview control has focus when marquee dragging.
676 Paul Chitescu (1):
677       netapi32: Add stub for NetFileEnum().
679 Paul Vriens (22):
680       comctl32/tests: Fix some test failures on older comctl32 versions.
681       ddraw/tests: Don't crash on older ddraw.
682       shell32/tests: Fix test failure on Cyrillic locales.
683       user32/tests: Fix an intermittent test failure.
684       comctl32/tests: Fix a test failure on older comctl32 versions.
685       advapi32/tests: Make some tests table driven.
686       advapi32: Skip leading spaces when parsing.
687       advapi32/tests: Add some extra tests.
688       advapi32/tests: Fix a test failure on W2K and lower.
689       advapi32/tests: Fix a test failure on Vista and higher.
690       winmm/tests: Fix some test failures in Win9x and WinMe.
691       kernel32/tests: Fix some test failures on Win9x/WinMe.
692       dinput/tests: Fix a few intermittent test failures.
693       comctl32/tests: Fix some test failures on older comctl32.
694       oleaut32/tests: Remove a temp file.
695       winspool.drv/tests: Fix a test failure on Vista.
696       ddraw/tests: Fix a test failure on Win9x/WinMe.
697       shell32/tests: Fix a test failure on some Vista boxes.
698       advapi32/tests: Fix some test failures on several platforms.
699       kernel32/tests: Fix an intermittent test failure on Vista+.
700       user32/tests: Skip some tests on Win9x/WinMe.
701       user32/tests: Fix a typo.
703 Piotr Caban (2):
704       jscript: Fixed Global functions lengths.
705       jscript: Added Global.encodeURIComponent implementation.
707 Ray Hinchliffe (1):
708       kernel32: Correct ullTotalVirtual for GlobalMemoryStatusEx().
710 Rein Klazes (1):
711       user32: Handle MN_GETHMENU in PopupMenuWndProc.
713 Rico Schüller (4):
714       d3d10: Implement ID3D10EffectVariable::GetElement().
715       d3d10: Implement ID3D10EffectConstantBuffer::GetParentConstantBuffer().
716       d3d10/tests: Add variable member test.
717       d3d10/tests: Add ID3D10EffectVariable::GetElement() test.
719 Ričardas Barkauskas (2):
720       comctl32/propsheet: Test and fix for crash processing PSM_INDEXTOHWND with no longer valid handle.
721       dinput: Fix counting non mapped axis as pov.
723 Roderick Colenbrander (4):
724       winex11: Introduce get_xrender_picture for retrieving a Picture from a physDev and allocating a Picture when needed.
725       winex11: Add X11DRV_XRender_SetDeviceClipping for syncing the clipping region with XRender pictures.
726       winex11: Use get_xrender_picture in X11DRV_XRender_GetSrcAreaStretch.
727       winex11: Use get_xrender_picture in X11DRV_AlphaBlend.
729 Sergey Khodych (5):
730       riched20: Cache ES_WANTRETURN style.
731       riched20: Enable the dialog mode after receiving WM_GETDLGCODE message.
732       riched20: Implement handling of WM_KEYDOWN VK_RETURN in the dialog mode.
733       riched20: Implement handling of WM_KEYDOWN VK_ESCAPE in the dialog mode.
734       riched20: Implement handling of WM_KEYDOWN VK_TAB in the dialog mode.
736 Stefan Dösinger (13):
737       configure: Check for ms_hook_prologue attribute support.
738       kernel32: Make some functions hookable.
739       user32: Make some functions hookable.
740       shell32: Make some functions hookable.
741       d3d8: Make Direct3DCreate8 hookable.
742       d3d9: Make some functions hookable.
743       ddraw: Make directdraw create functions hookable.
744       dinput: Make the creation functions hookable.
745       d3d: Make EndScene calls hookable.
746       opengl32: Give wglSwapBuffers a real function, make it hookable.
747       wined3d: Make shader specific constants accessible via GL_LIMITS.
748       wined3d: Use GLSL constant limits in GLSL.
749       wined3d: Use ARB constant limits in ARB.
751 Tommy Schultz Lassen (1):
752       msvcr71: Add _vscprintf and _vscwprintf.
754 Tony Wasserka (2):
755       d3dx9: Implement converting and copying ARGB surface data in D3DXLoadSurfaceFromMemory.
756       d3dx9: Add tests for ARGB pixel format conversion in D3DXLoadSurfaceFromMemory.
758 Vincent Povirk (2):
759       ole32: Add test showing storage objects can't be opened twice.
760       urlmon: Add CoInternetGetSecurityUrl stub.
762 Vitaliy Margolen (1):
763       ntoskrnl: Initialize structure size.
765 Wilfried Pasquazzo (3):
766       oleaut32/tests: Testcase for IPicture_Render with icons, check for drawing size and position.
767       oleaut32: Respect size of icons when drawing with IPicture_Render.
768       oleaut32: Updated IPicture_Render testcase to pass on all older Windows.
771 Alexandre Julliard
772 julliard@winehq.org