d3d8: Add a dll global critical section.
[wine/multimedia.git] / ANNOUNCE
blob657ca28e8cf700d685dd7cd523d98b9526dbf349
1 This is release 0.9.38 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4   - Beginnings of support for copy protection kernel drivers.
5   - More MSI automation support.
6   - Many 64-bit compilation fixes.
7   - A number of OLE fixes.
8   - Lots of bug fixes.
10 Because of lags created by using mirrors, this message may reach you
11 before the release is available at the public sites. The sources will
12 be available from the following locations:
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.38.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.38.tar.bz2
17 Binary packages for various distributions will be available from:
19   http://www.winehq.org/site/download
21 You will find documentation on
23   http://www.winehq.org/site/documentation
25 You can also get the current source directly from the git or CVS
26 repositories. Check respectively http://www.winehq.org/site/git or
27 http://www.winehq.org/site/cvs for details.
29 If you fix something, please submit a patch; instructions on how to do
30 this can be found at http://www.winehq.org/site/sending_patches
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
37 Changes since 0.9.37:
39 Alexander Nicolaysen Sørnes (8):
40       wordpad: Add program icon.
41       shell32: Update Norwegian Bokmål resources.
42       msi: Update Norwegian Bokmål resources.
43       regedit: Update Norwegian Bokmål resources.
44       credui: Add Norwegian Bokmål resources.
45       localui: Add Norwegian Bokmål resources.
46       shdoclc: Update Norwegian Bokmål resources.
47       cmd: Update Norwegian Bokmål resources.
49 Alexandre Julliard (41):
50       ntoskrnl.exe: Initial stub version with forwards to existing functions.
51       hal: Added an initial stub.
52       include: Add a few definitions in wdm.h.
53       ntoskrnl.exe: Implemented IoCreateDevice and IoDeleteDevice.
54       ntoskrnl.exe: Implemented IoCreateSymbolicLink.
55       ntoskrnl.exe: Export KeServiceDescriptorTable and KeTickCount.
56       ntoskrnl.exe: Added IofCompleteRequest.
57       ntdll: Reimplement LdrGetDllHandle to use the same search algorithm as LdrLoadDll.
58       ntdll: Implemented LdrAddRefDll.
59       kernel32: Support incrementing the module refcount in GetModuleHandleEx.
60       kernel32: Check for already loaded module also for LOAD_LIBRARY_AS_DATAFILE.
61       ntoskrnl.exe: Implemented a number of memory allocation functions.
62       ntoskrnl.exe: Export a Wine-internal function to run the device request handling loop.
63       ntoskrnl.exe: Implemented PsGetVersion and added stubs for a couple of other Ps functions.
64       winedevice: Add a service process that loads and runs a kernel driver.
65       advapi32: Launch winedevice.exe when asked to start a kernel driver service.
66       ntoskrnl.exe: Reuse the kernel32 instruction emulation support for kernel-mode drivers.
67       ntoskrnl.exe: Implemented a couple of time-related APIs.
68       ntdll: Setup the shared user data structure at 0x7ffe0000.
69       ntdll: Avoid overflows in heap allocations. Based on a patch by Rob Shearman.
70       Fix a couple of overflowing heap allocations revealed by the previous change.
71       server: Don't allow a waitable timer to be set to expire in the past.
72       winebuild: Set the IMAGE_FILE_EXECUTABLE_IMAGE flag for all modules.
73       msxml3: Fixed compilation without libxml.
74       schannel: Use FIELD_OFFSET instead of offsetof.
75       wininet: Fixed compilation without SSL.
76       libwine: Add support for glyph chars mapping in OEM codepage tables.
77       kernel32: Remove the fixme about MB_USEGLYPHCHARS.
78       dmusic: Fix license headers that mistakenly use GPL instead of LGPL.
79       winedos: Merge a number of tiny source files into interrupts.c.
80       kernel32: Store global arena base as a pointer.
81       ws2_32: Avoid memory allocations for sockaddr conversion.
82       ws2_32: Reimplement WSARecvFrom along the lines of NtReadFile.
83       ws2_32: Store the local iosb in the ws2_async structure to avoid a memory allocation.
84       include: Fix the definition of MSG_MAXIOVLEN.
85       ws2_32: Allocate iovec buffers statically using MSG_MAXIOVLEN.
86       ntdll: Report end of file instead of broken pipe on char devices.
87       ws2_32: Re-enable FD_READ also when returning EWOULDBLOCK from WSARecvFrom().
88       ws2_32: Don't modify last error in async I/O callback.
89       ntdll: Preserve errno across system calls done in the suspend handler.
90       user32: Fix a printf format warning.
92 Anatoly Lyutin (1):
93       user32: mdi: Fix switch with wParam in WM_SYSCOMMAND processing.
95 Andrew Riedi (1):
96       wined3d: Add hardware cursor support.
98 Andrew Talbot (45):
99       advapi32: Fix a typo.
100       msvcrt20: Exclude unused header.
101       msvfw32: Exclude unused header.
102       msvcrt: Exclude unused headers.
103       msxml3: Exclude unused headers.
104       ntdll: Exclude unused headers.
105       netapi32: Exclude unused headers.
106       ole32: Exclude unused headers.
107       oledlg: Exclude unused header.
108       oleaut32: Exclude unused headers.
109       opengl32: Exclude unused header.
110       quartz: Exclude unused headers.
111       quartz: Exclude unused headers.
112       qcap: Exclude unused headers.
113       rpcrt4: Exclude unused headers.
114       rsaenh: Exclude unused header.
115       riched20: Exclude unused headers.
116       secur32: Exclude unused headers.
117       setupapi: Exclude unused headers.
118       shell32: Exclude unused headers.
119       shell32: Exclude unused headers.
120       shell32: Exclude unused headers.
121       user32: Exclude unused headers.
122       user32: Exclude unused headers.
123       user32: Exclude unused headers.
124       user32: Exclude unused headers.
125       vmm.vxd: Exclude unused headers.
126       version: Exclude unused headers.
127       uxtheme: Exclude unused headers.
128       winealsa.drv: Exclude unused headers.
129       ws2_32: Exclude unused headers.
130       winmm: Exclude unused headers.
131       mciwave: Constify a variable.
132       mpr: Constify some variables.
133       msdmo: Constify some variables.
134       mscms: Constify some variables.
135       msg711.acm: Constify some variables.
136       wineps.drv: Exclude unused headers.
137       wininet: Exclude unused headers.
138       winex11.drv: Exclude unused headers.
139       msacm32: Constify some variables.
140       msacm32.drv: Constify some variables.
141       msadp32.acm: Constify some variables.
142       mshtml: Constify some variables.
143       msi: Constify some variables.
145 Aric Stewart (1):
146       comctl32: Trying to blend an image without a mask causes problem, especially if the background is white.
148 Damjan Jovanovic (2):
149       ws2_32: Simplify some socket tests by adding a function that generates a pair of connected sockets.
150       ws2_32: gethostbyname("") should work.
152 Dan Hipschman (11):
153       widl: Remove an unnecessary assignment in write_pointers.
154       widl: Handle pointers fields that point to structures.
155       widl: Improve handling of offsets in the type format string.
156       widl: Write some structures to the type format string on the fly.
157       widl: Replace erroneously removed current_func assignment.
158       widl: Lay framework for unions with simple unions working.
159       rpcrt4: Fix test typo.
160       widl: Handle pointers in unions.
161       widl: Shrink type_t structure.
162       widl: Allow types that reference themselves.
163       rpcrt4: Fix build of test on Solaris by renaming a variable.
165 David Adam (6):
166       d3drm: Implement D3DRMColorGetRed.
167       d3drm: Implement D3DRMColorGetGreen.
168       d3drm: Implement D3DRMColorGetBlue.
169       d3drm: Implement D3DRMColorGetAlpha.
170       d3drm: Implement D3DRMCreateColorRGBA.
171       d3drm: Implement D3DRMCreateColorRGB.
173 Detlef Riekenberg (5):
174       localui/tests: Add tests for ConfigurePortUI.
175       serialui/tests: Remove unused string.
176       localui/tests: Add tests for AddPortUI.
177       localui/tests: Handle different results from XP.
178       ddraw: Do not crash when Clipper is NULL.
180 Dmitry Timoshkov (38):
181       user32: Add a test for CheckMenuRadioItem and make it pass under Wine.
182       user32: Add a test for the menu resource loader, make it pass under Wine.
183       kernel32: Add a test for LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE).
184       user32: Remove duplicated code.
185       kernel32: Print last error value as unsigned, printing error in hex is useless.
186       kernel32: Add an overflow test for MultiByteToWideChar.
187       widl: Fix compilation warnings in 64-bit mode.
188       winebuild: Fix compilation warnings in 64-bit mode.
189       winedump: Fix compilation warnings in 64-bit mode.
190       include/wine/debug.h: Fix compilation warning in 64-bit mode.
191       winex11.drv: Synchronize debug output between X11DRV_KeyEvent and X11DRV_ToUnicodeEx.
192       basetsd.h: Add a bunch of PSDK compatible macros/inline functions for 64-bit safe type conversions.
193       kernel32: Fix the size of ThreadAffinityMask to match PSDK.
194       basetsd.h: Fix a typo in the parameter name.
195       winternl.h: Make the fields of the PROCESS_BASIC_INFORMATION structure use same type width as a PSDK one.
196       widl: Fix compilation warnings in 64-bit mode.
197       ntdll: Fix compilation warnings in 64-bit mode.
198       kernel32: Fix compilation warnings in 64-bit mode.
199       comctl32/tests: Fix some problems revealed by compilation in 64-bit mode.
200       kernel32/tests: Fix a problem revealed by compilation in 64-bit mode.
201       user32/tests: Fix a problem revealed by compilation in 64-bit mode.
202       winedbg: Fix a problem revealed by compilation in 64-bit mode.
203       wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility.
204       gdi32: Perform consistency checks when loading an EMF, add a test case.
205       oleaut32: Add support for loading and drawing metafiles.
206       winebuild: Mark builtin DLLs as IMAGE_FILE_LARGE_ADDRESS_AWARE on a 64-bit platform.
207       gdi32: Make SetDCHook 64-bit safe.
208       gdi32: Fix compilation warnings in 64-bit mode.
209       winex11.drv: Fix compilation warnings in 64-bit mode.
210       kernel32: Fix some compilation warnings in 64-bit mode.
211       user32: Fix some compilation warnings in 64-bit mode.
212       atl: Fix compilation warnings in 64-bit mode.
213       mcicda: Fix compilation warnings in 64-bit mode.
214       mciseq: Fix compilation warnings in 64-bit mode.
215       mciwave: Fix compilation warnings in 64-bit mode.
216       midimap: Fix compilation warnings in 64-bit mode.
217       mciavi32: Fix compilation warnings in 64-bit mode.
218       comctl32: Fix a compilation warning in 64-bit mode.
220 Emmanuel Maillard (7):
221       winecoreaudio: Initial mixer support on Mac OS X.
222       winecoreaudio: Implement MIX_Open and MIX_GetNumDevs.
223       winecoreaudio: Implement MIX_GetDevCaps.
224       winecoreaudio: Initial implementation of MIX_GetLineInfo.
225       winecoreaudio: Initial implementation of MIX_GetLineControls.
226       winecoreaudio: Initial implementation of MIX_GetControlDetails.
227       winecoreaudio: Initial implementation of MIX_SetControlDetails.
229 Erez Volk (1):
230       ntdll: Added IDT Timezone (Israel daylight savings time).
232 Evan Stade (1):
233       gdiplus: Added stub implementation of gdiplus.dll.
235 Francois Gouget (49):
236       ddraw/tests: Fix compilation on systems that don't support nameless unions.
237       winscard: Adding the missing SCARD_E_XXX and SCARD_W_XXX error codes.
238       winscard: Add headers for the upcoming implementation of the winscard dll.
239       mshtml: Fix '\n' typo.
240       Assorted spelling fixes.
241       ntdll: Fix compilation on systems that don't support nameless unions.
242       direct3d: Remove misspelled constants as they exist correctly spelled.
243       user32/tests: Fix compilation with gcc 2.95.
244       msvcrt/tests: When compiling with Visual C++ 2005, one must define _CRT_NON_CONFORMING_SWPRINTFS otherwise swprintf() takes an extra parameter.
245       msvcrt: Remove the S_ISXXX() macros as they are not present in the Visual C++ headers.
246       msvcrt: When operating on a closed pipe, read() should return 0, not -1.
247       port.h: Issue an error if port.h is included after the regular Wine headers.
248       usp10/tests: Fix a signed/unsigned int mismatch.
249       kernel32/tests: Fix a signed/unsigned int mismatch.
250       msi/tests: Fix a signed/unsigned int mismatch.
251       msvcrt/tests: Fix a signed/unsigned int mismatch.
252       user32/tests: SWP_STATECHANGED is an undocumented flag so define it ourselves. Fixes compilation with the PSDK.
253       shell32/tests: We need NTDDI_VERSION >= NTDDI_WINXPSP1 to get SEE_MASK_NOZONECHECKS with the PSDK.
254       d3d9/tests: Fix compilation with Visual C++ 2005.
255       kernel32/tests: src[i] is a char so there is no point trying to stuff 0xcafedead into it.
256       comctl32/tests: The PSDK does not define ListView_InsertItemA() so don't use it.
257       ddraw: Fix the name of DDSPD_IUNKNOWNPOINTER.
258       In the PSDK HRESULT_FROM_WIN32() is now an inline function, and it is __HRESULT_FROM_WIN32() which is a macro.
259       shell32/tests: With recent PSDKs, CSIDL_MYDOCUMENTS is a synonym for CSIDL_PERSONAL. So define our own constant.
260       shlwapi/tests: The PSDK does not define IID_IDelayedRelease anymore.
261       include: The PSDK does not define the DEFINE_SHLGUID() macro anymore.
262       schannel: The PSDK defines no SECPKG_FUNCTION_TABLE_SIZE_* macro.
263       schannel: Fix the name of the SetContextAttributes field of SECPKG_FUNCTION_TABLE.
264       ddraw/tests: Fix compilation with Visual C++ 2005.
265       rpcrt4/tests: Fix signed/unsigned and 32/64bit issues with the wiredatalen parameter.
266       rpcrt4/tests: Fix a Visual C++ double to float conversion warning.
267       setupapi/tests: There is no strncasecmp() on Windows. So use CompareString() instead.
268       ntdll/tests: Remove an inappropriate const qualifier.
269       gdi32/tests: Fix a signed/unsigned int mismatch.
270       psapi/tests: Fix a signed/unsigned int mismatch.
271       d3d8/tests: Fix the Visual C++ double to float conversion warnings.
272       d3d9/tests: Fix the Visual C++ double to float conversion warnings.
273       ddraw/tests: Fix the Visual C++ double to float conversion warnings.
274       dsound/tests: Fix the Visual C++ double to float conversion warnings.
275       oleaut32/tests: Fix the Visual C++ double to float conversion warnings.
276       Assorted spelling fixes.
277       oleaut32/tests: Remove redundant semi-colons.
278       oleaut32/tests: Remove unneeded parentheses.
279       oleaut32/tests: Fix the EQ_DOUBLE() and EQ_FLOAT() macros so they work no matter how large the values to compare are.
280       oleaut32/tests: Convert some macros to functions.
281       version: Fix the VerQueryValueA/W() prototypes.
282       d3drm/tests: Fix the Visual C++ double to float conversion warnings.
283       shell32/tests: Remove unneeded cast.
284       oleaut32/tests: Improve vtstr() and variantstr().
286 Frank Richter (5):
287       shdoclc: Update German translation.
288       credui: Add German translation.
289       shell32: Update German resources.
290       cmd: Updated German translation.
291       wordpad: Update German translation.
293 Hans Leidekker (4):
294       setupapi: Implement pSetup{Get, Set}QueueFlags.
295       setupapi: Correctly handle an empty filename in SetupGetSourceFileLocationA.
296       setupapi: Add a partial implementation for SetupScanFileQueue{A, W}.
297       setupapi: Don't require a valid version section for INF_STYLE_OLDNT files.
299 Huw Davies (14):
300       oleaut32: Type references are global to the typelib.
301       oleaut32: Typelib inheritance tests.
302       oleaut32: Fix return value in the element not found case.
303       oleaut32: GetRefTypeOfImplType(0) on TKIND_DISPATCH typeinfos should always return an href to IDispatch.
304       oleaut32: Tests for more 'syntax 2' dispinterfaces.
305       oleaut32: Test for interface that derives from IUnknown.
306       oleaut32: Move the proxy thunk creation code to a separate function.
307       oleaut32: non-dual dispinterfaces should be marshaled via IDispatch.
308       oleaut32: Fix CreateDispTypeInfo to store the correct number of functions.
309       oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents.
310       oleaut32: SLTG references are only unique at the typeinfo level, so convert them to be unique to the typelib.
311       winex11.drv: Merge some common code.
312       winex11.drv: Use XRenderCompositeText instead of XRenderCompositeString.
313       gdi32: Pass an lpDx array to the driver if the escapement is non-zero, so that the driver has access to the unrotated advance widths.
315 Hwang YunSong(황윤성) (1):
316       xcopy: New Korean resource.
318 Jacek Caban (6):
319       mshtml: Wrap nsIExternalProtocolHandler.
320       mshtml: Don't call start_binding if we use necko to load the page.
321       mshtml: Improve some exec command stubs.
322       mshtml: Fixed AsyncOpen implementation for channels without associated document.
323       mshtml: Added missing WINAPI in window proc.
324       urlmon: There is no need to make slash conversion in BindToStorage as URL is already canonized in the constructor.
326 James Hawkins (15):
327       msi: Remove a misleading ERR, as this fails if a file doesn't exist, which is common.
328       msi: Add the ability to deformat the component's source.
329       msxml3: Add initial implementation of IXMLElement and IXMLElementCollection.
330       msxml3: Add initial implementation of IXMLDocument.
331       msxml3: Add tests for IXMLElement and IXMLElementCollection.
332       msxml3: Add tests for IXMLDocument.
333       msi: Create the destination directory if it doesn't exist when duplicating files.
334       msi: Fall back to checking if the cab exists if the volume name doesn't match.
335       msi: Set the MsiNTProductType property.
336       msi: Perform a forced reboot if a custom action returns ERROR_INSTALL_SUSPEND.
337       msi: Implement the WriteEnvironmentStrings standard action.
338       wintrust: Add stub implementations for CryptCATAdminAddCatalog and CryptCATAdminReleaseCatalogContext.
339       msi: Add handling for MsiBreak.
340       msi: Implement Installer::OpenDatabase.
341       msi: Implement SummaryInfo::Property get.
343 Jeff Latimer (2):
344       hnetcfg: Define icftypes.idl.
345       hnetcfg: Add netfw.idl - Network Firewall interface.
347 Jeremy White (1):
348       wininet: Mark Proxy Authorization header as a request header, so it actually gets sent.
350 José Manuel Ferrer Ortiz (2):
351       winecfg: Updated Spanish translation.
352       Some Spanish translations updated.
354 Juan Lang (9):
355       crypt32: Don't set ret to TRUE when it already is.
356       crypt32: Implement CertGetStoreProperty and CertSetStoreProperty.
357       crypt32: Use public functions to get store access state.
358       crypt32: Remove last error checks on success.
359       wintrust: Implement WintrustGetRegPolicyFlags and WintrustSetRegPolicyFlags.
360       oleaut32: Don't mix allocation routines.
361       crypt32: Statically initialize static lists and critical sections.
362       crypt32: Remove wrong test and parameter check.
363       wincrypt: Fix typo.
365 Julien Muchembled (1):
366       msvfw32: Fix enumeration of VFW video codecs that are registered in the registry.
368 Kai Blin (2):
369       secur32: Downgrade WARN to TRACE, fix another TRACE.
370       ws2_32: Make WS2_send trace more readble.
372 Kolbjoern Fredheim (1):
373       wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying.
375 Louis Lenders (2):
376       shell32: Update Dutch resource.
377       comctl32: Add stub for DrawShadowText.
379 Maarten Lankhorst (6):
380       winealsa: Remove dead code.
381       dsound: Primary buffer isn't an IDirectSoundBuffer8.
382       dsound: IDirectSound_Compact should return DS_OK on priolevel >= DSSCL_PRIORITY.
383       mpr: Small fixes to WNetGetConnection.
384       dsound: Block align SetCurrentPosition and add test for it.
385       dsound: Fix stupid mistake.
387 Marcus Meissner (7):
388       wined3d: Fixed swapchain context NULL ptr checks.
389       ddraw/tests: Check for failing to create surfaces.
390       shell32: Avoid potential 1 byte overflow.
391       kernel32: Skip modem status tests if GetModemStatus failed.
392       oleau32: Fix one entry overflow (Coverity).
393       ntdll: Initialize pointers to NULL (Coverity).
394       quartz: ppinsplitter might be used uninitialized (Coverity).
396 Markus Amsler (4):
397       dbghelp: Speed up vector_add by avoiding pool_realloc calls. Remove no longer needed pool_realloc.
398       dbghelp: Speed up pool_alloc. Patch by Eric Pouech.
399       dbghelp: Speed up vector iteration by directly using for().
400       dbghelp: Late init hash_table.
402 Michael Karcher (1):
403       user32: Reduce the PeekMessage timeout to zero for USER16_AlertableWait.
405 Michael Stefaniuc (3):
406       winhelp: Fix some comparisons between signed and unsigned.
407       winedump: '$' isn't a valid character in an identifier regardless that gcc accepts it without warning.
408       msi: A signed 1-bit bitfield doesn't make much sense; use unsigned.
410 Mikołaj Zalewski (10):
411       localui: Add Polish translation.
412       msxml3: Implement IXMLDOMDocument2::setProperty("SelectionLanguage", ...).
413       comctl32: status: Send a NMMOUSE in mouse notifications, not a NMHDR.
414       comctl32: toolbar: TB_SETIMAGELIST should try to preserve button width.
415       msxml3: Improve the XPath queries handling.
416       msxml3: For queries the get_item should change the current position.
417       msxml3: Add tests for XPath queries with namespaces.
418       msxml3: Implement IXMLDOMElement::getElementsByTagName.
419       xcopy: Add Polish translation.
420       kernel32: Clear the extra memory in LocalReAlloc16(h, bigger_size, LMEM_ZEROINIT).
422 Misha Koshelev (44):
423       msi/tests: automation: Add tests for Session::EvaluateCondition.
424       msi: automation: Implement Session::EvaluateCondition.
425       msi/tests: automation: Test for Installer::CreateRecord error.
426       msi: automation: Implement Installer::CreateRecord.
427       msi/tests: automation: Test invoking methods as properties & vice versa.
428       msi: automation: Return DISP_E_MEMBERNOTFOUND if flags are incorrect.
429       msi: automation: Implement Record::FieldCount.
430       msi/tests: automation: Correct expected Record::StringData PROPERTYPUT return variant type.
431       msi/tests: automation: Add tests for Record::IntegerData.
432       msi/tests: automation: Add test for View::Modify.
433       msi: automation: Implement View::Modify.
434       msi: automation: Implement Record::IntegerData.
435       msi/tests: automation: Add test for Installer::InstallProduct.
436       msi: automation: Implement Installer::InstallProduct.
437       msi/tests: automation: Add tests for Installer::RelatedProducts.
438       msi: automation: Implement Installer::RelatedProducts.
439       msi: Make MsiEnumRelatedProducts enumerate registry value names, not subkeys.
440       msi: automation: Installer::Products, verify HeapAlloc return value.
441       msi: automation: Simplify counting products/related products.
442       msi: automation: Condense a few loops.
443       msi/tests: automation: Remove unnecessary if (SUCCEEDED(hr)) statements.
444       msi/tests: automation: Add tests for Installer::ProductInfo.
445       msi/tests: Add test for empty MsiGetProductInfo parameters not referencing default registry values.
446       msi: Return appropriate values for empty MsiProductInfo parameters.
447       msi: automation: Implement Installer::ProductInfo.
448       msi/tests: automation: Change non-const LPCWSTR parameters to LPWSTR.
449       msi/tests: automation: Check for NULL source string before calling lstrcpyW.
450       msi: automation: Change all tabs to spaces to conform to msi formatting.
451       msi: script: Change all tabs to spaces to conform to msi formatting.
452       msi/tests: automation: Change SUCCEEDED(hr) to more specific hr == S_OK.
453       msi/tests: automation: Fix Installer_ProductInfo ok message to correctly state function.
454       msi/tests: automation: Add tests for StringList::_NewEnum.
455       msi: automation: Generalize list implementation.
456       msi: automation: Implement StringList::_NewEnum.
457       msi/tests: automation: Installer::InstallProduct, remove a registry key set by Wine but not native.
458       msi/tests: automation: Test Installer::Products before and after InstallProduct, check product is not/is installed.
459       msi: Make MsiEnumProducts enumerate products, not features.
460       msi: automation: Append copyright notice.
461       shell32/tests: Add tests for ShellExecute DDE behavior.
462       shell32: Fix execute_from_key to conform to native behavior.
463       shell32/tests: Add tests for default DDE application name.
464       shell32: Handle default DDE application names.
465       shell32/tests: Remove duplicate code.
466       comctl32: imagelist: Fix simultaneous selection of one bitmap into two device contexts.
468 Mounir IDRASSI (6):
469       crypt32: Fix crash in CertGetCertificateContextProperty when querying length of a hash property.
470       crypt32: Stub implementation of CryptFindLocalizedName.
471       crypt32: Stub implementation of CertGetCertificateChain.
472       rsaenh: Fix crash in RSAENH_CPVerifySignature if pbSignature is set to NULL or if dwSigLen is lesser than the expected value.
473       crypt32: Fix CertAddCertificateContextToStore when called with CERT_STORE_ADD_USE_EXISTING.
474       winscard: Small initial stub implementation.
476 Nigel Liang (1):
477       shlwapi: Stub implementation for SHSetTimerQueueTimer.
479 Paul Vriens (2):
480       ole32/tests: Check for correct return value.
481       advpack/tests: Don't hardcode the system directory.
483 Peter Oberndorfer (4):
484       dbghelp: Minor cleanup.
485       ntdll: Fix up instruction pointer in context inside raise_exception.
486       winedbg: Show some info for msvcrt C++ exceptions.
487       winedbg: Only check for break/watch points on first chance exceptions.
489 Ralf Beck (2):
490       winealsa.drv: Add midi realtime and midi common messages on midi input.
491       winealsa.drv: Add missing offset of pitch bender in midi input.
493 Rob Shearman (43):
494       ole32: Fix CoUninitialize to only free libraries that return S_OK from DllCanUnloadNow.
495       ole32: Don't lookup the address for the DllGetClassObject function for ole32.dll in the apartment loaded dll list.
496       server: Add the logon SID to the default admin token's groups.
497       ole32: Create host apartments to enable isolation of objects of incompatible threading models.
498       ole32: Fix reading from an HGLOBALStreamImpl with an invalid HGLOBAL.
499       ole32: Fix hosting in main apartments.
500       wininet: Add support for SSPI authentication for HTTP.
501       wininet: Implement basic non-proxy authentication.
502       ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
503       ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
504       ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
505       ole32: Remove a useless trace.
506       ole32: Add spec entry for CoRegisterSurrogateEx.
507       ole32: Fix some races in the global interface table implementation.
508       ole32: Add more tests for global interface table functions.
509       ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
510       ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table.
511       hlink: Fix HlinkCreateFromString to create a URL moniker if the input target is a URL.
512       urlmon: Fix a typo in URLMonikerImpl_Save.
513       urlmon: The persisted version of URL monikers should be size of URL
514       shlwapi: Add a slash to the URL if there is no path component.
515       hlink: Improve the saving of hlinks by documenting the unknown header values and saving out more data.
516       hlink: Improve the loading of hlinks.
517       mlang: Implement ConvertINetString.
518       secur32: Fix the dwVersion field in the security function tables returned by InitSecurityInterfaceA/W.
519       secur32: Fix the wrapper InitializeSecurityContextA/W functions to handle phContext and phNewContext parameters being optional for some SSPs.
520       secur32: Make the NTLM SSP cope with a NULL phCredential parameter when InitializeSecurityContext is called more than once.
521       secur32: Don't set the output buffer type in NTLM's IntializeSecurityContextA/W.
522       secur32: Fix NTLM's InitializeSecurityContextA/W to be flexible with the index of the token buffer in both the input and output buffer descriptions.
523       setupapi: Add a FIXME in SetupCopyOEMInfW for when we should be copying a catalog file.
524       wininet: Pass context to InitializeSecurityContext in second parameter.
525       wininet: Fix basic authentication by putting Basic directing into the scheme field, as the pszAuthValue can have an optional realm string appended.
526       wininet: Cope with non-nul-terminated header strings being passed to HttpSendRequestW.
527       wininet: Don't close the connection if the caller passes in zero for the number of bytes to be read.
528       wininet: Add a new NETCON_query_data_available function.
529       server: Move most of the duplicate_token request to a new function, token_duplicate, to enable the code to be used inside wineserver.
530       server: When starting a new process, use the token from the calling process, if one exists.
531       oleaut32: For automatic-value-getting in ITypeInfo::Invoke, it doesn't matter what flag(s) the function was executed with, just what type of function is being invoked.
532       include: Fix a typo in wincred.h.
533       oleaut32: Fix the references in function descriptions returned for dual IDispatch interfaces.
534       widl: A structure with variance, but without conformance should be a complex struct instead of a conformant, varying struct.
535       widl: RPC_FC_BIND_PRIMITIVE is a base type so reverse an if statement
536       widl: Set current_structure when writing out structure members to
538 Robert Reif (1):
539       dsound: Add missing interface ID.
541 Rolf Kalbermatter (4):
542       advapi32: Add service state request definitions.
543       advapi32: Add access flags to service handle data.
544       advapi32: Fix return value to indicate error when NULL string is passed in.
545       advapi32: Return error on NULL service name to GetServiceDisplayNameA/W.
547 Stefan Dösinger (8):
548       ddraw: Make the ddraw list lock a global dll lock.
549       ddraw: Hold the lock in creation functions.
550       ddraw: Hold the dll lock in IDirectDraw methods.
551       ddraw: Hold the lock in IDirectDrawSurface methods.
552       ddraw: Check the validy of IDirectDrawSurface::BltFast parameters.
553       ddraw: Hold the lock in IDirect3DX methods.
554       wined3d: Don't mess with nv texture shaders if its not supported.
555       wined3d: Keep GL_TEXTURE_2D enabled when using dummy textures.
557 Stefan Leichter (1):
558       advapi32: Added implementation of RegDeleteTreeA/W.
560 Thomas Spear (1):
561       wine.inf: Add uninstall key.
563 Tim Schwartz (1):
564       net.exe: Add NET START command.
566 Vitaliy Margolen (4):
567       dinput: Prevent race between destroying the hook window and unloading the dll.
568       ntdll: Implement RtlWriteRegistryValue and forward ntoskrnl to it.
569       wine.inf: Create fake dll for iexplore.exe.
570       user32/test: Add few tests for messages sent from SetForegroundWindow().
573 Alexandre Julliard
574 julliard@winehq.org