This is release 0.9.40 of Wine, a free implementation of Windows on Unix.
What's new in this release:
- Many MSHTML improvements.
- A few more sound fixes.
- Many Direct3D fixes.
- Lots of bug fixes.
Because of lags created by using mirrors, this message may reach you
before the release is available at the public sites. The sources will
be available from the following locations:
http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.40.tar.bz2http://prdownloads.sourceforge.net/wine/wine-0.9.40.tar.bz2
Binary packages for various distributions will be available from:
http://www.winehq.org/site/download
You will find documentation on
http://www.winehq.org/site/documentation
You can also get the current source directly from the git or CVS
repositories. Check respectively http://www.winehq.org/site/git or
http://www.winehq.org/site/cvs for details.
If you fix something, please submit a patch; instructions on how to do
this can be found at http://www.winehq.org/site/sending_patches
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 0.9.39:
Alex Villacís Lasso (6):
quartz: Fix video rendering sizing/positioning bugs.
mciwave: Prevent division by zero when processing non-PCM codec.
winealsa: Reduce writeahead to next multiple of psize greater than 512.
dsound: Make test recover from failure to preserve primary buffer length after SetFormat().
dsound: Reset device playpos/mixpos on buflen change.
winemp3: Announce capability to decode at 48 KHz.
Alexander Nicolaysen Sørnes (3):
wordpad: Use Unicode functions in more places.
wordpad: Set default font effects to 0.
wordpad: Remove unnecessary toolbar resizing code.
Alexandre Julliard (22):
kernel32: Fix VxD open code for the new NtCreateFile syntax for Unix files.
winedos: Fix the device open code for the new NtCreateFile syntax for Unix files.
winedbg: Added support for indirect call with absolute address.
ntdll: Improved the stub behavior of NtQuerySystemInformation(SystemModuleInformation).
server: Don't crash when trying to set a file lock on a device.
makefiles: Build programs that link against libwine twice with appropriate rpaths.
comctl32: Get rid of CharNextW/CharPrevW. Simplify some string functions.
shlwapi: Get rid of CharNextW/CharPrevW. Simplify some string functions.
shell32: Get rid of CharNextW.
advpack: Get rid of CharPrevW.
server: Make crash error message more explicit.
ntdll: Use the standard exception handling for vm86 GP faults too.
mapi32: Get rid of unneeded CharNextA call.
crypt32: Fix incorrect usage of CharNextA.
wineps.drv: List source files explicitly in the makefile to make it easier to parse.
ddraw: Don't link against X libraries.
crypt32: Fix an uninitialized variable compiler warning.
msi: Avoid some redundant checks in MsiCloseHandle.
wrc: Strip C code based on the name of the include file.
wpp: Don't suppress output from C include files, that's up to the user.
ntdll: Don't print traces from async I/O callbacks.
ws2_32: Don't print traces from async I/O callbacks.
Andrew Talbot (11):
msi: Name all or none of the formal arguments in function prototypes.
msvidc32: Constify some variables.
netapi32: Constify some variables.
d3d9/tests: Fix use of uninitialized variable (Coverity).
msi: Fix use of uninitialized variable (Coverity).
ntdll: Constify some variables.
ntdll: Constify some variables.
ntdll: Constify some variables.
ntdll: Constify some variables.
ntdll: Constify some variables.
ole32: Constify some variables.
Aric Stewart (1):
riched20: Make richedit control IME aware.
Damjan Jovanovic (1):
winex11.drv: Added better support for the X file drag protocol.
Dan Hipschman (13):
rpcrt4: Add encapsulated union tests.
rpcrt4: Remove inaccurate comments.
rpcrt4: Fix bug calculating union switch type.
rpcrt4: Fix typo in union buffer size calculation.
widl: Add tests for arrays of pointers.
widl: Fix warnings about unused function parameters.
widl: Check for interface pointers in pointer handling.
widl: Check for user types when calculating buffer size.
widl: Get simple enums working.
widl: Fix crash dealing with anonymous unions.
rpcrt4/tests: Wrap a try/except block around tests.
rpcrt4: Allow enums as union switch types.
widl: Allow enums as union switch types.
David Adam (1):
wordpad: French translation for the view item.
Detlef Riekenberg (10):
winspool/tests: Add tests for AddPortEx.
localspl/tests: Add tests for AddPortEx.
printui: Add stub for printui.dll.
printui: Add version resource.
ntprint: Add a stub for ntprint.dll.
ntprint: Add version resource.
ntprint: Implement PSetupCreateMonitorInfo.
ntprint/tests: Add initial test.
ntprint: Implement PSetupEnumMonitor.
ntprint/tests: Add tests for PSetupEnumMonitor.
Dmitry Timoshkov (4):
user32: Insert menu item only after contents of the passed in menu item info have been verified.
user32: When inserting a menu item make sure that MDI system buttons stay on the right side.
user32: Make MDI get_client_info checks more strict.
shell32: Make SHGetDesktopFolder use a cached instance of IShellFolder.
Emmanuel Maillard (1):
configure: Fix libxml2 detection on Mac OS X.
Evan Stade (10):
gdiplus: Implemented GdipDrawBezier.
gdiplus: Implemented GdipDrawPie/GdipFillPie.
gdiplus: Implemented GdipDrawArc.
gdiplus: Implemented GdipDrawCurve2.
gdiplus: Implemented GdipDrawLines.
gdiplus: Implemented GdipCreatePath and GdipDeletePath.
gdiplus: Fix broken graphics path constructor.
gdiplus: Fix erroneous pen error checking.
gdiplus: Tidy up graphics constructor.
gdi32: Added missing call to GDI_ReleaseObj.
Francois Gouget (11):
regedit: Add missing '\n' to an error message.
regedit: Don't allow square-bracketed registry paths on the command line (to match native).
regedit: Merge getRegClass() and getRegKeyName() to form parseKeyName().
winapi_check: ULONG_PTR is a 'long --pointer', not a 'long'.
shlwapi: Update win32.api to fix the winapi_check warnings.
crypt32/tests: Fix compilation on systems that don't support nameless unions.
advapi32: Add more RegGetValue() conformance tests, and fix Wine accordingly.
winapi: Add support for GDIPCONST.
gdi32/tests: Run the GetTextMetricsA() tests on Windows 9x too.
ddraw/tests: Fix compilation on systems that don't support nameless unions.
dsound: Add missing '\n' to Wine trace.
H. Verbeet (23):
wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for mapped stages.
wined3d: Mask texture stage state arguments with WINED3DTA_SELECTMASK when comparing them.
wined3d: Use texture2D to sample in pshader_glsl_texdp3tex().
wined3d: Make use of the texUnitMap in drawStridedSlow as well.
wined3d: Fix various incorrect uses of GL_LIMITS(texture_stages) and GL_LIMITS(sampler_stages).
wined3d: Do not mark texture stages > MAX_TEXTURES dirty, they don't exist.
wined3d: Keep track of what stage a texturing unit is mapped to.
wined3d: Keep track of what fixed function texture stages are in use.
wined3d: Split of the mapping of fixed function samplers from IWineD3DDeviceImpl_FindTexUnitMap().
wined3d: Remove the sharing of mapping code for fixed function and pixel shader samplers.
wined3d: Split of the mapping of pixel shader samplers from IWineD3DDeviceImpl_FindTexUnitMap().
wined3d: Rename max_samplers to max_fragment_samplers.
wined3d: Add max_vertex_samplers and max_combined_samplers to WineD3D_GL_Info.
wined3d: Increase the sizes of texturing related arrays, in order to support vertex textures.
wined3d: Map vertex sampler numbers to the correct internal array indices for GetSamplerState and SetSamplerState.
wined3d: Map vertex sampler numbers to the correct internal array indices for GetTexture and SetTexture.
wined3d: Cleanup GL extension detection.
wined3d: Implement texldl.
wined3d: Map vertex samplers to a texturing unit.
wined3d: Check more thoroughly if a stage references a texture.
wined3d: Cleanup device_map_fixed_function_samplers().
wined3d: In device_map_psamplers(), only touch the sampler mapping for samplers that are used by the shader.
wined3d: Get rid of the oneToOneTexUnitMap field.
Hans Leidekker (4):
pdh: Add public headers.
pdh: Implement PdhOpenQuery{A, W} and PdhCloseQuery.
pdh: Implement PdhAddCounter{A, W} and PdhRemoveCounter.
pdh: Implement PdhCollectQueryData.
Huw Davies (5):
wineps.drv: Ignore ExtTextOut calls that occur before the job has started.
oleaut32: Interfaces that derive from IDispatch should be marshaled as VT_DISPATCH.
oleaut32: Implement marshaling of VT_BYREF interfaces.
oleaut32: Handle marshaling of VARTYPE-less FADF_VARIANT safearrays.
oleaut32: Extend _invoke to cope with more args.
Jacek Caban (24):
mshtml: Don't check out VT in exec_fontsize.
mshtml: Move keypress event listener to separated object.
mshtml: Move load event listener to separated object.
mshtml: Get rid of no longer used nsIDOMEventListener interface in NSContainer.
mshtml: Added nsIEmbeddingSiteWindow::SetFocus implementation.
mshtml: Added nsIEmbeddingSiteWindow:[Get|Set]Visibility implementation.
mshtml: Activate nsWebBrowser after creating document window.
mshtml: Notify IOleControlSite about focus changes.
mshtml: Set focus to FALSE in InPlaceDeactivate.
mshtml: Added IOleControlSite tests.
mshtml: Better test of QueryInterface.
mshtml: Added IOleInPlaceUIWindow tests.
mshtml: Added IHTMLDOMNode::get_nodeName implementation.
mshtml: Added beginning DOM tests.
mshtml: Added more QueryInterface tests.
mshtml: Correctly handle delete key in editor mode.
mshtml: Added IDM_DELETE support in QueryStatus.
mshtml: Added Exec(IDM_DELETE) implementation.
mshtml: Don't use dynamic allocation for connection points.
mshtml: Store connection point as a list.
mshtml: Move IConnectionPointContainer to the separated struct.
mshtml: Make connection points container independent.
mshtml: Added IConnectionPointContainer implementation to HTMLBodyElement.
mshtml: Add IID_IPropertyNotifySink and DIID_HTMLTextContainerEvents connection points to HTMLBodyElement.
James Hawkins (20):
msi: Forward MsiApplyPatchA to MsiApplyPatchW.
msi: Implement MsiApplyPatchW.
msi: Patches are applied based on ProductCode, not ProductID.
msi: Send the expected data to set_deferred_action_props.
msi: Properly delete rows from the table, instead of zeroing out the row.
ntoskrnl.exe: Add a stub implementation of KeInitializeTimer.
msi: Fetch the volume name when getting disk info.
msi: Add a stub implementation of MsiQueryComponentStateA.
msi: Add tests for publishing and unpublishing products, features, and components.
msi: Add tests for MsiQueryProductState.
msi: Validate MsiQueryProductCode parameters.
msi: If the user product key exists, the product's state is advertised.
msi: Use the correct registry key when detecting a published product.
msi: Any value of WindowsInstaller besides 0 means the product is installed.
msi: If the UserData product key exists, but the user product key doesn't, the product is absent.
msi: Set the WindowsInstaller value of the UserData product key when publishing the product.
msi: Add support for remote handles.
msi: Reference count the custom action data to avoid freeing the data by another thread.
msi: Add tests that show '!=' is not a valid conditional expression operator.
msi: Ignore invalid conditional expressions when checking the launch conditions.
Jason Edmeades (11):
cmd.exe: Add basic support for && and (...) syntax.
cmd.exe: Pass command structure into WCMD_pipe, not command line itself.
cmd.exe: Pass the command list through so it is available to built in commands.
cmd.exe: GOTO throws away any preloaded multi part/line command.
cmd.exe: Lines starting with REM ignore any multiline/part characters.
cmd.exe: EXIT /b skips any residual commands.
cmd.exe: Parse multipart FOR statements.
cmd.exe: Correctly parse IF ELSE plus multipart/multiline.
cmd.exe: Support IF..ELSE processing tolerate multiline/part lines.
cmd.exe: Fix FOR so it works as 'well' as before.
cmd.exe: for loop by default only matches files.
Jason Green (1):
winscard: Add extended stub for SCardEstablishContext.
Jeff Latimer (3):
hnetcfg: Stub implementation of the dll.
crypt32: Fix possible dereference of NULL ptr.
cabinet: Fix a potential NULL reference.
Juan Lang (18):
wincrypt: Add missing message flags and parameters.
crypt32: Don't return fake HCRYPTMSG from CryptMsgOpenTo*.
crypt32: Add basic tests for CryptMsg functions.
crypt32: Add basic parameter checking to CryptMsgOpenTo*.
crypt32: Add base message type and use it to implement CryptMsgDuplicate and CryptMsgClose.
crypt32: Test CryptMsgOpenToEncode for data messages.
crypt32: Test CryptMsgUpdate for data messages opened to encode.
crypt32: Test CryptMsgGetParam for data messages opened to encode.
crypt32: Stub CryptMsgOpenToEncode for data messages.
crypt32: Add a get param function, use it to implement CryptMsgGetParam.
crypt32: Add an update function, use it to implement CryptMsgUpdate.
crypt32: Store stream info in message.
crypt32: Add a finalized member to message.
crypt32: Implement CryptMsgUpdate for data messages opened to encode.
crypt32: Add a stub get param function for data messages and remove stub message from open function.
crypt32: Add tests for data message encoding.
crypt32: Implement getting bare content for data messages opened to encode.
crypt32: Implement getting content for data messages opened to encode.
Kai Blin (1):
ws2_32: Return WSAEINVAL for unhandled address families in WSAStringToAddress.
Ken Thomases (4):
winecoreaudio: Extract loop, wodNotifyClient for WAVEHDRs in list, to separate function.
winecoreaudio: Move a variable declaration to narrower scope, reduce whitespace.
winecoreaudio: Move notify of completed WAVEHDRs to end of wodReset.
winecoreaudio: Make wodReset fail if called on a closed device.
Kirill K. Smirnov (1):
winhelp: Fix popup window style.
Konstantin Kondratyuk (2):
uninstaller: Add Russian resources.
programs/winefile: Add Russian resources.
Kovács András (1):
Add dwmapi.dll stub.
Lei Zhang (6):
riched20: Add tests for EM_FORMATRANGE.
winex11.drv: Send WM_MOUSEACTIVATE before closing a window.
winex11.drv: Reset focus if application does not want to be activated.
comctl32: Reduce duplicate code between PropertySheetA/W.
comctl32: Reduce duplicate code between PROPSHEET_CollectSheetInfoA/W.
comctl32: Determine if PSH_PROPSHEETPAGE is set once.
Maarten Lankhorst (8):
winealsa: Finally get rid of the thread in alsa directsound acceleration.
dsound: Give rougher estimates for fraglen to satisfy alsa.
dsound: Simplify mixing by removing remixing support, and fix its waveout breakage.
dsound: Tune some parameters for alsa waveout.
winealsa: Optimize GetPosition() more in dsalsa.
dsound/winealsa: Remove writelead for alsa directsound.
winealsa: Silence buffer on allocation.
dsound: Fix calcplayposition to handle mixed amount > buffer length better.
Marcus Meissner (1):
wined3d: Fixed pointer casting and additions.
Michael Stefaniuc (34):
msvcrt: Move definition of 2 static inline functions up and remove the forward declaration of those. Found by sparse.
shlwapi: Do not use wide character constants.
winspool.drv/tests: Specify the arguments of the function in the function.
winmm: Do not dump the version info when loading drivers.
shlwapi: Remove more wide character constants.
riched20: Do not use wide character constants.
setupapi: Do not use wide character constants.
oleaut32: Do not use wide character constants.
ole32: Do not use wide character constants.
comctl32: Do not use wide character constants.
dmloader: Do not use wide character constants.
dsound: Fix missing unlock on an error path. Found by Smatch.
winealsa.drv: Fix missing unlock on the error path. Found by Smatch.
msvcrt: Do not use wide character constants.
gdi32: Multi-character character constants aren't portable as their behaviour is compiler dependent according to the C standard. Found by sparse.
ddraw: Fix missing unlock on an error path. Found by Smatch.
winejack.drv: Fix missing unlock. Found by Smatch.
msacm32: Replace malloc/free with HeapAlloc/HeapFree.
winmm: Replace malloc with HeapAlloc.
cmd: Remove superfluous casts of void pointers to other pointer types.
quartz: Remove superfluous casts of void pointers to other pointer types.
iccvid: Remove superfluous casts of void pointers to other pointer types.
ole32: Remove superfluous casts of void pointers to other pointer types.
oleaut32: Remove superfluous casts of void pointers to other pointer types.
kernel32: Remove superfluous casts of void pointers to other pointer types.
gdi32: Remove superfluous casts of void pointers to other pointer types.
wined3d: Remove superfluous casts of void pointers to other pointer types.
dbghelp: Remove superfluous casts of void pointers to other pointer types.
wininet: Remove superfluous casts of void pointers to other pointer types.
winedos: Remove superfluous casts of void pointers to other pointer types.
janitorial: Remove superfluous casts of void pointers to other pointer types.
winefile: Do not use wide character constants.
winefile: Do not use the TEXT() macro on character constants. The implicit cast from char to WCHAR works as well in UNICODE mode.
comctl32: Replace malloc() with HeapAlloc().
Misha Koshelev (20):
shell32: Conform to native in SHELL_ArgifyW for unquoted %1 in registry keys.
wine.inf: Quote %1 for Msi.Package shell actions per native.
gdi32/tests: Add framework for tests of drawing functions in paths, add test for ArcTo in paths.
gdi32: Fix ArcTo to use proper starting and ending points.
gdi32: Set current position properly after ArcTo.
gdi32: Allow arbitrary start entry types in PATH_DoArcPart, not just PT_MOVETOs.
gdi32: Handle ArcTo in paths as native.
gdi32/tests: Expand framework for tests of drawing functions in paths, add test for AngleArc in paths.
gdi32: Emulate AngleArc using ArcTo.
gdi32/tests: Fix test_widenpath to succeed on Win98.
setupapi: Simplify code as native setupapi does not handle quoted paths.
wine.inf: Fix path to rundll32.exe in inffile/shell/install/command subkey.
winemenubuilder: Create/release semaphore only around call to wineshelllink.
winemenubuilder: Wait for parent process to finish instead of creating RunOnce entry that may never run.
winemenubuilder: Do not WINE_ERR in InvokeShellLinker if we are going to try again.
shell32/tests: Allow individual tests in check_lnk to be todo_wine'd.
shell32/tests: Add test for shell links to existing non-executable files.
shell32/tests: Allow CoCreateInstance to return E_NOINTERFACE to pass on Win98; add skips and display return values.
shell32/tests: Fix tests of IShellLinkA_SetPath to conform on both Windows 98 and XP.
shell32: Fix shelllink creation to non-executable files and remove unnecessary code.
Nigel Liang (1):
winex11.drv: Remove call to XCreateFontSet.
Paul Vriens (13):
crypt32/tests: Don't crash on Vista.
user32/tests: Only do the GetProcAddress once.
mscms/tests: Don't crash on Vista.
mscms/tests: Fix wrong test for failure.
kernel32/tests: Don't crash on Vista.
kernel32/tests: Don't crash (on Vista).
wintrust/tests: Add tests for CryptCATAdminCalcHashFromFileHandle.
advapi32/tests: Add some service related tests.
advapi32/service: Use the correct registry key for the service account.
advapi32/service: Fix wrong key.
advapi32/service: Return (more) correct needed buffersize.
advapi32/service: Make sure we fill all struct members.
advapi32/service: Don't rely blindly on type.
Pedro Maia (1):
shell32: Update paths in Portuguese resource.
Rob Shearman (37):
rpcrt4: Implement encapsulated union NDR functions.
widl: Implement pointer descriptions for all embedded pointer types.
widl: Fix detection of structures with non-conformant strings.
widl: Write out embedded pointers for the element type when writing out arrays.
widl: Always write out pointers if the structure is a pointer structure. Pointer are optional for conformant varying structures.
rpcrt4: Use the offset to array data in embedded pointer format descriptions.
rpcss: Remove lazy timeout mechanism and use __wine_make_system_process instead.
msi: Only use the long name for the file source if the file has one.
mshtml: The SRC value returned from HTMLElement_getAttribute should be an absolute, not relative URL.
mshtml: Implement HTMLElement_setAttribute.
mshtml: Fix HTMLDocument3_get_documentElement to get the right nsIDOMNode.
mshtml: Notify the Gecko stream listener that we stopped binding, if an error occurs in start_binding.
advapi32: Always set the requested fields of the security descriptor according to the info flags in GetNamedSecurityInfoW.
mshtml: Implement HTMLElement_get_children.
rpcrt4: Don't use add on the sizes of array elements to an open-ended structure; use FIELD_OFFSET with the array index instead.
rpcrt4: Add support for ServerAllocSize parameters.
rpcrt4: Add a STUBLESS_FREE phase for freeing the allocated memory in the server function.
rpcrt4: Return a fault packet if the interface/object pair in a request packet aren't registered.
rpcrt4: Close the connection if a protocol error or certain other kinds of errors occur, instead of returning it to the connection pool.
rpcrt4: Translate STATUS_ACCESS_VIOLATION exceptions caught whilst executing the stub function to ERROR_NOACCESS to prevent confusing exceptions occurring in the client.
rpcrt4: When an exception is raised, return the stored exception code instead of the generic RPC_S_CALL_FAILED.
rpcrt4: Store the assoc_group_id field returned from the bind_ack packet and use it when creating further connections in the association group.
rpcrt4: Try a lot harder to resuse existing connections by comparing inside the RpcQualityOfService and RpcAuthInfo objects.
rpcrt4: Set PointerBufferMark to the buffer location immediately after the non-pointer data in complex struct and array marshaling and unmarshaling to keep to the DCE/RPC specification.
rpcrt4: Implement marshalling/unmarshalling for the range NDR type.
rpcrt4: Implement marshalling, unmarshalling and buffer sizing for the context handle type.
rpcrt4: Dereference the pointer passed to the marshaling/unmarshaling/sizing routines in complex types for interface pointers.
msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK.
msi: Check the return value of VerQueryValueW in msi_get_disk_file_version.
msi: Free version after using lpVer in msi_get_disk_file_version as lpVer points inside of version.
msi: Fix loading string tables for databases that use 3-byte string references and that have a non-zero codepage (i.e. != CP_ACP).
msi: Fix bytes_per_column for binary types when the database is using 3-byte string references.
msi: Fix transforms to work when the number of bytes per string reference differs to that of the database it is being applied to.
rpcrt4: Remove the unused AuthInfo field from the RpcAssoc structure and Used from RpcConnection.
rpcrt4: Make pointers to RPCRT4_BuildBindHeader and RPCRT4_BuildBindAckHeader const.
rpcrt4: Store the assoc_group_id in the connections.
wine.inf: Add the SystemDrive environment variable.
Stefan Dösinger (26):
d3d9: Hold the lock in IDirect3D9 methods.
d3d9: Hold the lock in methods implemented in device.c.
d3d9: Hold the lock in cubetexture methods.
d3d9: Hold the lock in indexbuffer methods.
d3d9: Hold the lock in Pixelshader functions.
d3d9: Hold the lock in query methods.
d3d9: Release the wined3d query when the d3d9 query is destroyed.
d3d9: Hold the lock in stateblock methods.
ddraw: Test for incorrect surface desc sizes in GetSurfaceDesc.
d3d8: Convert fvfs to vertex declarations.
wined3d: Remove the FVF codepath from drawprim.
wined3d: Unload texture coords for all supported texture stages.
wined3d: Emulate tracking of multiple material properties.
ddraw: Add a test for incorrect surface desc sizes for Lock().
ddraw: Check for incorrect rectangles to DDrawSurface::Blt.
wined3d: Depthfill blits are allowed between BeginScene and Endscene.
d3d9: Hold the lock in suface methods.
d3d9: Hold the lock in swapchain methods.
d3d9: Hold the lock in Texture methods.
d3d9: Hold the lock in Vertexbuffer methods.
d3d9: Hold the lock in VertexDeclaration methods.
d3d9: Hold the lock in VertexShader methods.
wined3d: Move material applying to the state table.
wined3d: Clamp material power to 128.0.
wined3d: Skip the start offset to the source array in IWIneD3DVertexShaderImpl_SetLocalConstantsF.
wined3d: Some point sprite fixes.
Tim Schwartz (2):
net.exe: Add NET STOP.
net.exe: Add missing CloseServiceHandle().
Vitaliy Margolen (4):
dinput: Remove duplicate code.
dinput: Move parent dinput reference into base class.
dinput: Combine all Release functionality into base class.
dinput: Move key state array into object.
Vitaly Budovski (1):
winealsa: Fix incorrect callback private value.
--
Alexandre Julliard
julliard(a)winehq.org
This is release 0.9.39 of Wine, a free implementation of Windows on Unix.
What's new in this release:
- Many MSHTML improvements.
- Several improvements to the sound support.
- A number of Winsock fixes.
- Several new supported constructs in the IDL compiler.
- Many Direct3D threading fixes.
- Lots of bug fixes.
Because of lags created by using mirrors, this message may reach you
before the release is available at the public sites. The sources will
be available from the following locations:
http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.39.tar.bz2http://prdownloads.sourceforge.net/wine/wine-0.9.39.tar.bz2
Binary packages for various distributions will be available from:
http://www.winehq.org/site/download
You will find documentation on
http://www.winehq.org/site/documentation
You can also get the current source directly from the git or CVS
repositories. Check respectively http://www.winehq.org/site/git or
http://www.winehq.org/site/cvs for details.
If you fix something, please submit a patch; instructions on how to do
this can be found at http://www.winehq.org/site/sending_patches
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 0.9.38:
Alex Villacís Lasso (6):
oleaut32: Support for VT_DISPATCH in VarAbs.
oleaut32: Support for VT_DISPATCH in VarNot.
oleaut32: Support for VT_DISPATCH in VarFix.
oleaut32: Support for VT_DISPATCH in VarInt.
oleaut32: Support for VT_DISPATCH in VarNeg.
oleaut32: Support for VT_DISPATCH in VarRound.
Alexander Nicolaysen Sørnes (12):
wordpad: Split code into set_caption function.
wordpad: Store file name globally.
wordpad: Add file saving support.
wordpad: Improve file reading code.
wordpad: Convert open file dialog to Unicode.
wordpad: Add file saving dialog.
wordpad: Add missing dots to Open menu item.
wordpad: Fix potential buffer overflow.
wordpad: Allow toggling of toolbar.
wordpad: Allow toggling of statusbar.
wordpad: Split toolbar into tool- and formatbar.
wordpad: Use Unicode functions in more places.
Alexandre Julliard (39):
ws2_32: Reimplement WSASendTo along the lines of NtWriteFile.
ws2_32: Call the I/O completion routine as a user APC.
ws2_32: Simplify the async shutdown handling, and remove a bunch of no longer used code.
ntdll: Queue an intermediate user APC routine to free the async info.
server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC.
ws2_32: Queue a proper user APC also on immediate success in WSARecvFrom/WSASendTo.
server: Run async I/O APCs from the SIGUSR1 handler.
ntdll: Get rid of the num_async_io counter in the TEB.
kernel32: Rewrite GetOverlappedResult for the new async I/O behavior.
ws2_32: Rewrite WSAGetOverlappedResult for the new async I/O behavior.
advapi32: Convert the service list to a standard list.
server: Add support for system processes, that can be signaled to exit when all non-system processes are done.
explorer.exe: Mark explorer as a system process.
advapi32: Mark service processes as system processes, and exit when all user processes are done.
winedevice: Accept the shutdown service control.
widl: Get rid of the SIGSEGV handler, this only makes things harder to debug.
winmm: Fix computation of sleep time until next timeout.
winmm: Get rid of the WINE_MM_IDATA global structure, there's only one instance anyway.
cmd.exe: Silence a FIXME.
msvcrt: Set the correct ebp value before calling the local unwind handler.
include: Add DO_NO_IMPORTS ifdefs where needed.
libwine: Set install name to an absolute path for the installed library on Mac OS.
configure: Replace some obsolete macros to avoid warnings.
tools: Upgrade the config.guess/config.sub scripts.
msxml: Don't use VariantClear on an uninitialized variant.
winmm: Convert the timer list to a standard Wine list.
winmm: Maintain the timer list sorted by expiration time.
winmm: Initialize the timer critical section statically.
shell32: Fix contents of string returned in load_path.
shell32: Remove a redundant include.
winecfg: Fix potential null pointer access (spotted by Yaroslav Skorokhodov).
winex11.drv: Glyph width is rounded to 32 bits, make sure to provide enough null data.
comctl32: Remove useless pointer check.
wintrust/tests: Fix the WintrustGetRegPolicyFlags to work right the first time.
widl: Add typecasts for user marshalling routines to avoid compiler warnings.
localspl: Make some functions static.
server: Enable kqueue support on Mac OS >= 10.5 now that it's fixed.
ntdll: Implemented reading of the CDROM TOC on Mac OS.
user32/tests: Avoid strlen in trace.
Anatoly Lyutin (2):
cmd.exe: Update Russian translation.
user32: tests:msg Add test for switching MDI children.
Andrew Talbot (7):
msi: Constify some variables.
oleaut32: Fix some typos.
wined3d: Void functions should not return a value.
msi: Constify a variable.
msi: Constify some variables.
msi: Constify some variables.
msrle32: Constify some variables.
Andrey Turkin (4):
pdh: Stub implementation of pdh.dll.
ntdll: Stub and document IoCompletion APIs.
kernel32: Factor out all kernel32 timeout-conversion snippets to one helper functions.
kernel32: Implement IO completion functions on top of the NT IoCompletion API.
Aric Stewart (1):
ole32: Implementation of state bits for IStorage.
Chris Robinson (3):
wined3d: Add a few missing checkGLcall calls.
quartz: Don't return S_FALSE for failed connections.
wined3d: Add missing table entry value.
Christian Costa (3):
wineoss.drv: Mark every buffer being added.
winealsa.drv: Use correct tests for synthesizer/port enumeration order.
winealsa.drv: Fix compilation with old alsa headers.
Damjan Jovanovic (1):
ws2_32: getsockname should fail on unbound socket.
Dan Hipschman (14):
list.h: Add macros for reverse iteration.
widl: Replace get_name with a field reference.
widl: Represent arrays with type_t.
widl: Implement conformant structure handling.
widl: Check for NULL in set_tfswrite.
widl: Fix incomplete struct/union typedef bug.
widl: Simplify correlation descriptor code.
widl: Handle wire_marshal types.
widl: Test structure argument marshalling.
widl: Handle wire_marshal pointer attributes.
widl: Handle embedded interface pointers.
widl: Handle encapsulated unions.
widl: Factor the output functions.
widl: Fix a write_parameters_init bug.
Detlef Riekenberg (4):
include/winspool: Add more flags for printer drivers.
winspool: Implement AddPortEx.
winspool: Remove outdated comment.
localspl: Implement AddPortEx.
Dmitry Timoshkov (4):
include/msvcrt: Make sure that __int64 is properly defined on a 64-bit platform.
user32: Do not hardcode cp1252 for an icon/title font.
gdi32: Make BITMAPINFOHEADER biSize check match what other parts of code do.
msi: Simplify the code.
Evan Stade (9):
gdiplus: Added public headers.
gdiplus: Added beginnings of memory and startup functions.
gdiplus: First pen implementation.
gdiplus: First pen test.
gdiplus: Added first GDI+ graphics implementation.
gdiplus: Implemented GdipDrawLineI.
gdiplus: Implemented GdipDrawRectangleI.
gdiplus: Brush implementation.
gdiplus: Brush tests.
Francois Gouget (28):
ws2_32: Improve the prototypes Win64 compatibility by replacing long with LONG.
winspool.drv: Fix the AddPortExA/W() export to match the implementation.
programs/cmd: Add missing '\n' to Wine trace.
wined3d: Fix spelling of the state_separateblend() function.
Assorted spelling fixes.
ntdll: Improve the prototypes Win64 compatibility by replacing long with LONG.
winapi_check: Also warn about 'unsigned long's Win64 compatibility problems.
advapi32: Update win32.api to fix the winapi_check warnings.
wined3d: Pass the D3DCB_CreateAdditionalSwapChain() error code to the upper layers (needed for d3d9).
gdiplus: Add missing '\n' in Wine trace.
winapi_check: .exe and .ocx files can also export APIs.
hhctrl.ocx: winapi_check expects the module name to be all uppercase in the documentation.
msdmo: dmoreg.h should include mediaobj.h.
msdmo: Improve the prototypes Win64 compatibility by replacing long with LONG.
secur32: Update win32.api to fix the winapi_check warnings.
Add API documentation stubs to make winapi_check happy.
wintrust/tests: Simplify the code and improve consistency by removing unneeded function typedefs.
wintrust/tests: Fix checks to be more informative when they fail.
gdiplus: Add missing '\n' to ok() calls, Wine traces.
regedit: Move PerformRegAction() and get_file_name() around to eliminate forward references. Make them static.
crypt32: Add missing '\n' to ok() call.
regedit: Remove setAppName() as the application name is hardcoded anyway.
regedit: Remove cruft and make functions static, reordering where necessary to avoid forward declarations.
regedit: If the data for a given value is in an unknown format, then print an error and don't modify the value.
regedit: Make the dword and binary data parsing both more flexible and stricter.
regedit: The registry functions return standard error codes, not HRESULTs.
regedit: Having garbage after the dash in '"foo"=-' is not valid.
regedit: Modify getRegClass() to avoid dubious comparisons and casts between HKEYs and error codes.
Glenn Wurster (1):
sfc_os: Add stub implementation for SfcIsKeyProtected.
H. Verbeet (15):
wined3d: Return WINED3DERR_INVALIDCALL in DrawIndexedPrimitive if no index buffer is set.
d3d9: Add a test for calling DrawIndexedPrimitive with a NULL index buffer.
wined3d: TRACE the Color parameter in IWineD3DDeviceImpl_Clear.
wined3d: Rename IWineD3DDeviceImpl_SetBasevertexIndex to IWineD3DDeviceImpl_SetBaseVertexIndex.
wined3d: Make sure the color buffer is not modified by depth_blt().
wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead.
wined3d: Add IWineD3DDevice_GetBaseVertexIndex to retrieve the base vertex index.
wined3d: Get rid of the pBaseVertexIndex parameter to IWineD3DDeviceImpl_GetIndices, use GetBaseVertexIndex instead.
wined3d: Turn off filtering for FBO attachments, update the texture's states array.
wined3d: Fix GLSL definitions.
wined3d: Pass NULL for the stateBlock parameter to shader_get_registers_used() in IWineD3DVertexShaderImpl_SetFunction.
wined3d: For ps_2_0 and higher, call shader_get_registers_used() in IWineD3DPixelShaderImpl_SetFunction.
wined3d: Take the texUnitMap into account when loading shader_glsl_load_psamplers().
wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap() when activating the context.
wined3d: Add wined3d vertex sampler definitions.
Hans Leidekker (3):
mlang: Implement IMultiLanguage::GetLcidFromRfc1766.
wininet: More lenient parsing of the passive mode server response.
gdi32: Add some tests for BITMAPINFOHEADER biSize checks.
Huw Davies (4):
mshtml: Don't release the factory if we failed to get it.
oleaut32: Fixes for the PICTYPE_UNINITIALIZED case.
riched20: Don't mess with the caret if we don't have focus.
winex11.drv: XRenderCompositeText has a problem with 0x0 glyphs, so we'll pretend they're 1x1.
Hwang YunSong(황윤성) (2):
credui: New Korean resource.
shell32: Updated Korean resource.
Jacek Caban (58):
urlmon: Don't pass query part of URL to CreateUrlCacheEntryW.
mshtml: Added support for coexisting different Gecko versions installation.
mshtml: Switch to Wine Gecko 0.1.0.
mshtml: Fix debug trace.
mshtml: Added command table for CGID_MSHTML commands.
mshtml: Move IDM_FONTSIZE, IDM_FONTNAME and IDM_FORECOLOR to edit state command table.
mshtml: Move more commands to command table.
mshtml: Move more commands to editor command table.
mshtml: Move remaining commands to tables.
mshtml: Use command table for IDM_COPY, IDM_CUT and IDM_PASTE query.
mshtml: Move justify queries to command table.
mshtml: Move edit command queries to the command table.
mshtml: Move remaining status queries to command tables.
mshtml: Make [get|set]_font_size static.
mshtml: Move setup_ns_editing to nsembed.c.
mshtml: Forward all IsDirty implementations to one function.
mshtml: Don't crash in load_stream if Gecko is not available.
mshtml: Don't do anything in exec_editmode if edit mode is already set.
mshtml: Use IOleCommandTarget::Exec to implement context menu.
mshtml: Call UpdateUI and Exec(OLECMDID_UPDATECOMMANDS) from timer callback.
mshtml: Move Exec(OLECMDID_SETTITLE) call to separated function and use it in on_timer.
mshtml: Call update_doc in exec_editmode.
mshtml: Added test of callbacks called from document timer.
mshtml: Pump messages of all windows in test_download.
mshtml: Improve IDM_JUSTIFYLEFT query status.
mshtml: Push TASK_PARSECOMPLETE in load event if Gecko is available.
mshtml: Set FALSE useCapture for editor's keypress event listener.
mshtml: Don't check out variant type in exec_fontname.
mshtml: Set default fontname to 'Times New Roman'.
mshtml: Added Exec(IDM_FONTNAME) tests.
mshtml: Added more command tests.
mshtml: Call update_doc in editor commands.
mshtml: Call update_doc in init_editor.
mshtml: Store editor controller in NSContainer.
mshtml: Added editor mode up key implementation.
mshtml: Added editor mode down key implementation.
mshtml: Reimplement editor mode right key using command controller.
mshtml: Reimplement editor mode left key using command controller.
mshtml: Set default scrollbar preferences.
mshtml: Added IDM_RESPECTVISIBILITY_INDESIGN command stub implementation.
mshtml: Silence invalid FIXME for ELEMENT_DOCUMENT_FRAGMENT_NODE in nsnode_to_nsstring_rec.
mshtml: Added COMMENT_NODE implementation in nsnode_to_nsstring_rec.
mshtml: Added IHTMLStyle::get_fontFamily implementation.
mshtml: Added IDM_COMPOSESETTINGS implementation.
mshtml: Added semi stub IsDirty implementation.
mshtml: Added IsDirty tests.
mshtml: Added edit mode IDM_COPY implementation.
mshtml: Added edit mode IDM_PASTE implementation.
mshtml: Added edit mode IDM_CUT implementation.
mshtml: Call Exec(CGID_ShellDocView, 37) in exec_editmode.
mshtml: Move createing URL moniker to separated function.
mshtml: Move Exec(CGID_ShellDocView, 37) call to match native.
mshtml: Store current moniker in HTMLDocument.
mshtml: Added GetCurMoniker implementation.
mshtml: Don't crash in set_font_size if range_cnt is 0.
mshtml: Added get_URL implementation.
mshtml: Use IOleInPlaceSiteEx if available.
mshtml: Added IOleInPlaceSiteEx tests.
James Hawkins (8):
msi: Use fetch_int to reduce code duplication and access to table data.
msi: Reduce the amount of code that directly accesses table data.
msi: Represent table data as bytes instead of shorts.
msi: Add support for large string tables.
msi: Set the MsiNetAssemblySupport property.
msi: Protect custom actions with a structured exception handler.
msi: Fixed the WriteEnvironmentStrings action.
msi: Set the UserSID and ProductCode properties for deferred custom actions.
Jason Edmeades (10):
cmd.exe: Move English constants into NLS files.
cmd.exe: Move writing to console into a single function.
cmd.exe: Handle command line as Unicode.
cmd.exe: Convert cmd to Unicode.
cmd.exe: Fix 'help garbage' command post-unicode support.
cmd.exe: Fix handling of malformed environment variable expansion.
cmd.exe: Change from main to wmain.
cmd.exe: Fix dir /w.
xcopy.exe: Convert from main to wmain.
cmd.exe: Add support for cmd.exe /u (Unicode from internal pgms).
Jeff Latimer (2):
shell32: Fix possible dereference of NULL ptr.
msi: Use the langbuff len rather than the versionbuff len when allocating the langbuff.
John Klehm (1):
include: Allow port.h to build on gcc4.
Juan Lang (10):
comdlg32: Initialize file dialog controls before creating dialog.
comdlg32: Check file dialog's FOIShellView before accessing it.
crypt32: Add CryptMsg* stubs.
crypt32: Implement CERT_AUTHORITY_KEY_ID2_INFO encoding/decoding.
crypt32: Implement PKCS_CONTENT_INFO encoding/decoding.
crypt32: Separate set encoding into a separate function.
crypt32: Implement PKCS_ATTRIBUTE encoding/decoding.
crypt32: Use CRYPT_EncodeEnsureSpace to allocate memory when necessary.
crypt32: Implement PKCS_ATTRIBUTES encoding/decoding.
crypt32: Implement PKCS7_SIGNER_INFO encoding/decoding.
Kai Blin (1):
ws2_32: Add mapping for STATUS_OBJECT_TYPE_MISMATCH to WSAENOTSOCK.
Kolbjørn Fredheim (1):
winex11.drv: Echo the video mode requested in the error message when not finding a matching mode.
Lei Zhang (7):
wined3d: Various spelling fixes.
include: Add missing definitions to shlobj.h.
shell32: Start implementing BIF_USENEWUI.
user32: Improve cut/copy/paste behavior of password edit boxes.
comdlg32: Move file dialog resizing code into its own function.
user32: Remove a unused variable from ES_PASSWORD test.
comctl32: Make modal property sheets modal.
Louis Lenders (1):
shell32: Add stub for SHUpdateRecycleBinIcon.
Maarten Lankhorst (8):
dsound: Fix buffer caps.
dsound: Recalculate 3d buffer on SetVolume.
dsound: Disable property sets if hardware doesn't support it.
winmm: Use unix fd's instead of win32 events to sync internal events in timer.
dsound: Unset variable on failure in IKsBufferPropertySetImpl_Create.
rsaenh: Allow CRYPT_NEWKEYSET and CRYPT_VERIFYCONTEXT at same time when acquiring context.
winealsa: Detach directsound implementation from waveout implementation.
dsound: Use TIME_KILL_SYNCHRONOUS on sound timer.
Marcus Meissner (1):
quartz: Added some error checking on failure to CreateClassEnumerator.
Markus Goemmel (1):
comctl32/listview.c: Ownerdraw font problem during focus change fixed.
Michael Stefaniuc (8):
wingdi.h: Multi-character character constants are implementation specific according to the C standard. Use a hex number instead.
capi2032: Fix non-ANSI function declaration. Found by sparse.
gphoto2.ds: Fix non-ANSI function declaration. Found by sparse.
wrc: Fix non-ANSI function declaration. Found by sparse.
winedos: Fix printf format warnings introduced by the TEB change in thread.h.
psapi: GetPerformanceInfo() calls down to the wrong ntdll function. Found by sparse.
psapi: GetWsChanges() calls down to the wrong ntdll function. Found by sparse.
wrc: Fix redundant checks for NULL before free(). Found by Smatch.
Mikołaj Zalewski (2):
kernel: Fix clearing of memory in LocalReAlloc16(..., LMEM_ZEROMEMORY).
comctl32: listview: Make LVM_GETCOLUMNWIDTH query the header control instead of using cached data.
Misha Koshelev (29):
msi: automation: Remove duplicate error messages on unknown dispid.
msi: automation: Add missing operand for evaluation.
msi: msiserver.idl: Maintain spacing as spaces, not tabs.
msi: automation: Remove redundant VariantClear(pVarResult).
msi: automation: Database::SummaryInformation is a propget, not a method.
msi/tests: automation: Add tests for SummaryInfo::Property, get.
msi: automation: Fix SummaryInfo::Property get to conform to native.
msi/tests: suminfo: Add tests for MsiSummaryInfoGetProperty for unknown property values.
msi: suminfo: Return ERROR_UNKNOWN_PROPERTY as native.
msi: automation: SummaryInfo::Property, remove all specific instances to PIDs.
msi/tests: automation: Add test for Installer::OpenDatabase.
msi: automation: Add MsiOpenDatabaseMode enum.
msi/tests: automation: Add tests for SummaryInfo::Property, put.
msi: automation: Implement SummaryInfo::Property, put.
msi/tests: automation: Add tests for SummaryInfo::PropertyCount.
msi: automation: Implement SummaryInfo::PropertyCount.
widl: Add support for vararg attribute.
oleaut32/tests: Add tests for IDispatch::Invoke of vararg function.
oleaut32: Add support for vararg functions in ITypeInfo::Invoke.
winebrowser: Add DDE support.
wine.inf: Use DDE for winebrowser as native.
shell32/tests: Simplify DDE thread and message loop.
shell32/tests: Save threadid from CreateThread as required by winme/98/95.
shell32/tests: Use ShellExecuteEx with SEE_MASK_FLAG_DDEWAIT and SEE_MASK_FLAG_NO_UI for DDE tests.
shell32/tests: Expand default DDE application name tests to conform to win98.
shell32/tests: Allow testing for arbitrary number of command line arguments in DDE tests.
shell32/tests: Add test for unquoted %1 in command and ddeexec keys.
setupapi/tests: Add basic tests for InstallHinfSectionA/W command line processing.
setupapi: Handle unquoted paths in InstallHinfSection as native.
Nigel Liang (1):
shell32: Conformance tests for unicode filenames and fix a bug for file deletion.
Paul Vriens (6):
wintrust/tests: Start of some crypt tests for wintrust.
wintrust/tests: Use A instead of W-calls.
comdlg32/tests: Skip some not implemented functions on win98.
crypt32/tests: Skip tests if we don't have enough rights.
crypt32/tests: Skip tests if we don't have enough rights.
crypt32/tests: Vista uses a different error code.
Phil Costin (6):
wined3d: Add GL_EXT_texture_sRGB constants and corresponding CheckDeviceFormat query.
wined3d: Extend the D3DFMT table to include gamma corrected formats.
wined3d: Add support for loading gamma corrected textures.
wined3d: Enable the loading and reloading of gamma corrected textures.
wined3d: Add gamma linerization support for D3DFMT_A4R4G4B4.
wined3d: Remove a duplication in device.c.
Ralf Beck (1):
winealsa.drv: Mark every sysex buffer being added.
Rob Shearman (6):
wininet: Send the correct callbacks during InternetReadFileExA calls.
wininet: Implement NTLM support for proxy authentication.
uuid: Add hlink CLSIDs.
mshtml: Add some error handling to hlink_frame_navigate.
mshtml: Use the implementation of IHlink in hlink.dll instead of duplicating it.
include: Add HTMLTextContainerEvents dispinterface and necessary dispids.
Stefan Dösinger (31):
wined3d: Do not enable GL_APPLE_client_storage for the dummy textures.
ddraw: Hold the lock in IDirect3DDevice methods.
ddraw: Hold the lock in IDirectDrawClipper methods.
ddraw: Hold the lock in IDirectDrawGammaControl methods.
ddraw: Hold the lock in IDirect3DMaterial methods.
ddraw: Hold the lock in IDirectDrawPalette methods.
ddraw: Hold the lock in IDirect3DLight methods.
ddraw: Hold the lock in IDirect3DTexture methods.
ddraw: Hold the lock in IDirect3DVertexBuffer methods.
ddraw: Hold the Lock in IDirect3DViewport methods.
d3d8: Add a dll global critical section.
d3d8: Hold the DLL lock in IDirect3D8 methods.
wined3d: Store the gl information in a per adapter structure and initialize it only once.
wined3d: Store the adapter driver and description in the adapter.
wined3d: Find possible fbconfis on dll load time, use them in CheckDepthStencilMatch.
d3d8: Hold the lock in IDirect3DDevice8 methods.
wined3d: Some render target->texture blit context handling.
wined3d: Do not set the dynlock flag on all created surfaces.
d3d8: Hold the lock in cubetexture methods.
d3d8: Hold the lock in IDirect3DIndexBuffer8 methods.
d3d8: Hold the lock in IDirect3DSurface8 methods.
d3d8: Hold the lock in swapchain methods.
d3d8: Hold the lock in IDirect3DVertexBuffer methods.
d3d8: Hold the lock in volume methods.
d3d8: Hold the lock in IDirect3DVolumeTexture8 methods.
d3d8: Hold the lock in IDirect3Dtexture8 methods.
wined3d: Only swap system memory resources of front and back buffer if they have the same size.
wined3d: Implement vertical refresh sync.
wined3d: Present does not clear the depth stencil.
wined3d: DDraw surfaces are QWORD aligned.
d3d9: Add a dll global critical section.
Stefan Leichter (3):
crypt32: Replace CRYPT_RecurseDeleteKey with RegDeleteTreeW.
qcap: Replace DeleteEntireSubKey with RegDeleteTreeW.
winspool.drv: Replace WINSPOOL_SHDeleteKeyW with RegDeleteTreeW.
Ulrich Czekalla (2):
ole32: Remove stack-based string buffer inFileMonikerImpl_DecomposePath.
opengl: Use get_glxdrawable to grab the drawable.
Vedran Rodic (1):
winmm: Fix PlaySound so it doesn't block when another sound is already playing.
Vitaliy Margolen (3):
dinput: Make sure to unacquire device before freeing it.
dinput: Acquire device only if specified window has focus in foreground coop level.
atl: Use CallWindowProc instead of calling old window proc directly.
--
Alexandre Julliard
julliard(a)winehq.org
This is release 0.9.38 of Wine, a free implementation of Windows on Unix.
What's new in this release:
- Beginnings of support for copy protection kernel drivers.
- More MSI automation support.
- Many 64-bit compilation fixes.
- A number of OLE fixes.
- Lots of bug fixes.
Because of lags created by using mirrors, this message may reach you
before the release is available at the public sites. The sources will
be available from the following locations:
http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.38.tar.bz2http://prdownloads.sourceforge.net/wine/wine-0.9.38.tar.bz2
Binary packages for various distributions will be available from:
http://www.winehq.org/site/download
You will find documentation on
http://www.winehq.org/site/documentation
You can also get the current source directly from the git or CVS
repositories. Check respectively http://www.winehq.org/site/git or
http://www.winehq.org/site/cvs for details.
If you fix something, please submit a patch; instructions on how to do
this can be found at http://www.winehq.org/site/sending_patches
Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Changes since 0.9.37:
Alexander Nicolaysen Sørnes (8):
wordpad: Add program icon.
shell32: Update Norwegian Bokmål resources.
msi: Update Norwegian Bokmål resources.
regedit: Update Norwegian Bokmål resources.
credui: Add Norwegian Bokmål resources.
localui: Add Norwegian Bokmål resources.
shdoclc: Update Norwegian Bokmål resources.
cmd: Update Norwegian Bokmål resources.
Alexandre Julliard (41):
ntoskrnl.exe: Initial stub version with forwards to existing functions.
hal: Added an initial stub.
include: Add a few definitions in wdm.h.
ntoskrnl.exe: Implemented IoCreateDevice and IoDeleteDevice.
ntoskrnl.exe: Implemented IoCreateSymbolicLink.
ntoskrnl.exe: Export KeServiceDescriptorTable and KeTickCount.
ntoskrnl.exe: Added IofCompleteRequest.
ntdll: Reimplement LdrGetDllHandle to use the same search algorithm as LdrLoadDll.
ntdll: Implemented LdrAddRefDll.
kernel32: Support incrementing the module refcount in GetModuleHandleEx.
kernel32: Check for already loaded module also for LOAD_LIBRARY_AS_DATAFILE.
ntoskrnl.exe: Implemented a number of memory allocation functions.
ntoskrnl.exe: Export a Wine-internal function to run the device request handling loop.
ntoskrnl.exe: Implemented PsGetVersion and added stubs for a couple of other Ps functions.
winedevice: Add a service process that loads and runs a kernel driver.
advapi32: Launch winedevice.exe when asked to start a kernel driver service.
ntoskrnl.exe: Reuse the kernel32 instruction emulation support for kernel-mode drivers.
ntoskrnl.exe: Implemented a couple of time-related APIs.
ntdll: Setup the shared user data structure at 0x7ffe0000.
ntdll: Avoid overflows in heap allocations. Based on a patch by Rob Shearman.
Fix a couple of overflowing heap allocations revealed by the previous change.
server: Don't allow a waitable timer to be set to expire in the past.
winebuild: Set the IMAGE_FILE_EXECUTABLE_IMAGE flag for all modules.
msxml3: Fixed compilation without libxml.
schannel: Use FIELD_OFFSET instead of offsetof.
wininet: Fixed compilation without SSL.
libwine: Add support for glyph chars mapping in OEM codepage tables.
kernel32: Remove the fixme about MB_USEGLYPHCHARS.
dmusic: Fix license headers that mistakenly use GPL instead of LGPL.
winedos: Merge a number of tiny source files into interrupts.c.
kernel32: Store global arena base as a pointer.
ws2_32: Avoid memory allocations for sockaddr conversion.
ws2_32: Reimplement WSARecvFrom along the lines of NtReadFile.
ws2_32: Store the local iosb in the ws2_async structure to avoid a memory allocation.
include: Fix the definition of MSG_MAXIOVLEN.
ws2_32: Allocate iovec buffers statically using MSG_MAXIOVLEN.
ntdll: Report end of file instead of broken pipe on char devices.
ws2_32: Re-enable FD_READ also when returning EWOULDBLOCK from WSARecvFrom().
ws2_32: Don't modify last error in async I/O callback.
ntdll: Preserve errno across system calls done in the suspend handler.
user32: Fix a printf format warning.
Anatoly Lyutin (1):
user32: mdi: Fix switch with wParam in WM_SYSCOMMAND processing.
Andrew Riedi (1):
wined3d: Add hardware cursor support.
Andrew Talbot (45):
advapi32: Fix a typo.
msvcrt20: Exclude unused header.
msvfw32: Exclude unused header.
msvcrt: Exclude unused headers.
msxml3: Exclude unused headers.
ntdll: Exclude unused headers.
netapi32: Exclude unused headers.
ole32: Exclude unused headers.
oledlg: Exclude unused header.
oleaut32: Exclude unused headers.
opengl32: Exclude unused header.
quartz: Exclude unused headers.
quartz: Exclude unused headers.
qcap: Exclude unused headers.
rpcrt4: Exclude unused headers.
rsaenh: Exclude unused header.
riched20: Exclude unused headers.
secur32: Exclude unused headers.
setupapi: Exclude unused headers.
shell32: Exclude unused headers.
shell32: Exclude unused headers.
shell32: Exclude unused headers.
user32: Exclude unused headers.
user32: Exclude unused headers.
user32: Exclude unused headers.
user32: Exclude unused headers.
vmm.vxd: Exclude unused headers.
version: Exclude unused headers.
uxtheme: Exclude unused headers.
winealsa.drv: Exclude unused headers.
ws2_32: Exclude unused headers.
winmm: Exclude unused headers.
mciwave: Constify a variable.
mpr: Constify some variables.
msdmo: Constify some variables.
mscms: Constify some variables.
msg711.acm: Constify some variables.
wineps.drv: Exclude unused headers.
wininet: Exclude unused headers.
winex11.drv: Exclude unused headers.
msacm32: Constify some variables.
msacm32.drv: Constify some variables.
msadp32.acm: Constify some variables.
mshtml: Constify some variables.
msi: Constify some variables.
Aric Stewart (1):
comctl32: Trying to blend an image without a mask causes problem, especially if the background is white.
Damjan Jovanovic (2):
ws2_32: Simplify some socket tests by adding a function that generates a pair of connected sockets.
ws2_32: gethostbyname("") should work.
Dan Hipschman (11):
widl: Remove an unnecessary assignment in write_pointers.
widl: Handle pointers fields that point to structures.
widl: Improve handling of offsets in the type format string.
widl: Write some structures to the type format string on the fly.
widl: Replace erroneously removed current_func assignment.
widl: Lay framework for unions with simple unions working.
rpcrt4: Fix test typo.
widl: Handle pointers in unions.
widl: Shrink type_t structure.
widl: Allow types that reference themselves.
rpcrt4: Fix build of test on Solaris by renaming a variable.
David Adam (6):
d3drm: Implement D3DRMColorGetRed.
d3drm: Implement D3DRMColorGetGreen.
d3drm: Implement D3DRMColorGetBlue.
d3drm: Implement D3DRMColorGetAlpha.
d3drm: Implement D3DRMCreateColorRGBA.
d3drm: Implement D3DRMCreateColorRGB.
Detlef Riekenberg (5):
localui/tests: Add tests for ConfigurePortUI.
serialui/tests: Remove unused string.
localui/tests: Add tests for AddPortUI.
localui/tests: Handle different results from XP.
ddraw: Do not crash when Clipper is NULL.
Dmitry Timoshkov (38):
user32: Add a test for CheckMenuRadioItem and make it pass under Wine.
user32: Add a test for the menu resource loader, make it pass under Wine.
kernel32: Add a test for LoadLibraryEx(LOAD_LIBRARY_AS_DATAFILE).
user32: Remove duplicated code.
kernel32: Print last error value as unsigned, printing error in hex is useless.
kernel32: Add an overflow test for MultiByteToWideChar.
widl: Fix compilation warnings in 64-bit mode.
winebuild: Fix compilation warnings in 64-bit mode.
winedump: Fix compilation warnings in 64-bit mode.
include/wine/debug.h: Fix compilation warning in 64-bit mode.
winex11.drv: Synchronize debug output between X11DRV_KeyEvent and X11DRV_ToUnicodeEx.
basetsd.h: Add a bunch of PSDK compatible macros/inline functions for 64-bit safe type conversions.
kernel32: Fix the size of ThreadAffinityMask to match PSDK.
basetsd.h: Fix a typo in the parameter name.
winternl.h: Make the fields of the PROCESS_BASIC_INFORMATION structure use same type width as a PSDK one.
widl: Fix compilation warnings in 64-bit mode.
ntdll: Fix compilation warnings in 64-bit mode.
kernel32: Fix compilation warnings in 64-bit mode.
comctl32/tests: Fix some problems revealed by compilation in 64-bit mode.
kernel32/tests: Fix a problem revealed by compilation in 64-bit mode.
user32/tests: Fix a problem revealed by compilation in 64-bit mode.
winedbg: Fix a problem revealed by compilation in 64-bit mode.
wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility.
gdi32: Perform consistency checks when loading an EMF, add a test case.
oleaut32: Add support for loading and drawing metafiles.
winebuild: Mark builtin DLLs as IMAGE_FILE_LARGE_ADDRESS_AWARE on a 64-bit platform.
gdi32: Make SetDCHook 64-bit safe.
gdi32: Fix compilation warnings in 64-bit mode.
winex11.drv: Fix compilation warnings in 64-bit mode.
kernel32: Fix some compilation warnings in 64-bit mode.
user32: Fix some compilation warnings in 64-bit mode.
atl: Fix compilation warnings in 64-bit mode.
mcicda: Fix compilation warnings in 64-bit mode.
mciseq: Fix compilation warnings in 64-bit mode.
mciwave: Fix compilation warnings in 64-bit mode.
midimap: Fix compilation warnings in 64-bit mode.
mciavi32: Fix compilation warnings in 64-bit mode.
comctl32: Fix a compilation warning in 64-bit mode.
Emmanuel Maillard (7):
winecoreaudio: Initial mixer support on Mac OS X.
winecoreaudio: Implement MIX_Open and MIX_GetNumDevs.
winecoreaudio: Implement MIX_GetDevCaps.
winecoreaudio: Initial implementation of MIX_GetLineInfo.
winecoreaudio: Initial implementation of MIX_GetLineControls.
winecoreaudio: Initial implementation of MIX_GetControlDetails.
winecoreaudio: Initial implementation of MIX_SetControlDetails.
Erez Volk (1):
ntdll: Added IDT Timezone (Israel daylight savings time).
Evan Stade (1):
gdiplus: Added stub implementation of gdiplus.dll.
Francois Gouget (49):
ddraw/tests: Fix compilation on systems that don't support nameless unions.
winscard: Adding the missing SCARD_E_XXX and SCARD_W_XXX error codes.
winscard: Add headers for the upcoming implementation of the winscard dll.
mshtml: Fix '\n' typo.
Assorted spelling fixes.
ntdll: Fix compilation on systems that don't support nameless unions.
direct3d: Remove misspelled constants as they exist correctly spelled.
user32/tests: Fix compilation with gcc 2.95.
msvcrt/tests: When compiling with Visual C++ 2005, one must define _CRT_NON_CONFORMING_SWPRINTFS otherwise swprintf() takes an extra parameter.
msvcrt: Remove the S_ISXXX() macros as they are not present in the Visual C++ headers.
msvcrt: When operating on a closed pipe, read() should return 0, not -1.
port.h: Issue an error if port.h is included after the regular Wine headers.
usp10/tests: Fix a signed/unsigned int mismatch.
kernel32/tests: Fix a signed/unsigned int mismatch.
msi/tests: Fix a signed/unsigned int mismatch.
msvcrt/tests: Fix a signed/unsigned int mismatch.
user32/tests: SWP_STATECHANGED is an undocumented flag so define it ourselves. Fixes compilation with the PSDK.
shell32/tests: We need NTDDI_VERSION >= NTDDI_WINXPSP1 to get SEE_MASK_NOZONECHECKS with the PSDK.
d3d9/tests: Fix compilation with Visual C++ 2005.
kernel32/tests: src[i] is a char so there is no point trying to stuff 0xcafedead into it.
comctl32/tests: The PSDK does not define ListView_InsertItemA() so don't use it.
ddraw: Fix the name of DDSPD_IUNKNOWNPOINTER.
In the PSDK HRESULT_FROM_WIN32() is now an inline function, and it is __HRESULT_FROM_WIN32() which is a macro.
shell32/tests: With recent PSDKs, CSIDL_MYDOCUMENTS is a synonym for CSIDL_PERSONAL. So define our own constant.
shlwapi/tests: The PSDK does not define IID_IDelayedRelease anymore.
include: The PSDK does not define the DEFINE_SHLGUID() macro anymore.
schannel: The PSDK defines no SECPKG_FUNCTION_TABLE_SIZE_* macro.
schannel: Fix the name of the SetContextAttributes field of SECPKG_FUNCTION_TABLE.
ddraw/tests: Fix compilation with Visual C++ 2005.
rpcrt4/tests: Fix signed/unsigned and 32/64bit issues with the wiredatalen parameter.
rpcrt4/tests: Fix a Visual C++ double to float conversion warning.
setupapi/tests: There is no strncasecmp() on Windows. So use CompareString() instead.
ntdll/tests: Remove an inappropriate const qualifier.
gdi32/tests: Fix a signed/unsigned int mismatch.
psapi/tests: Fix a signed/unsigned int mismatch.
d3d8/tests: Fix the Visual C++ double to float conversion warnings.
d3d9/tests: Fix the Visual C++ double to float conversion warnings.
ddraw/tests: Fix the Visual C++ double to float conversion warnings.
dsound/tests: Fix the Visual C++ double to float conversion warnings.
oleaut32/tests: Fix the Visual C++ double to float conversion warnings.
Assorted spelling fixes.
oleaut32/tests: Remove redundant semi-colons.
oleaut32/tests: Remove unneeded parentheses.
oleaut32/tests: Fix the EQ_DOUBLE() and EQ_FLOAT() macros so they work no matter how large the values to compare are.
oleaut32/tests: Convert some macros to functions.
version: Fix the VerQueryValueA/W() prototypes.
d3drm/tests: Fix the Visual C++ double to float conversion warnings.
shell32/tests: Remove unneeded cast.
oleaut32/tests: Improve vtstr() and variantstr().
Frank Richter (5):
shdoclc: Update German translation.
credui: Add German translation.
shell32: Update German resources.
cmd: Updated German translation.
wordpad: Update German translation.
Hans Leidekker (4):
setupapi: Implement pSetup{Get, Set}QueueFlags.
setupapi: Correctly handle an empty filename in SetupGetSourceFileLocationA.
setupapi: Add a partial implementation for SetupScanFileQueue{A, W}.
setupapi: Don't require a valid version section for INF_STYLE_OLDNT files.
Huw Davies (14):
oleaut32: Type references are global to the typelib.
oleaut32: Typelib inheritance tests.
oleaut32: Fix return value in the element not found case.
oleaut32: GetRefTypeOfImplType(0) on TKIND_DISPATCH typeinfos should always return an href to IDispatch.
oleaut32: Tests for more 'syntax 2' dispinterfaces.
oleaut32: Test for interface that derives from IUnknown.
oleaut32: Move the proxy thunk creation code to a separate function.
oleaut32: non-dual dispinterfaces should be marshaled via IDispatch.
oleaut32: Fix CreateDispTypeInfo to store the correct number of functions.
oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents.
oleaut32: SLTG references are only unique at the typeinfo level, so convert them to be unique to the typelib.
winex11.drv: Merge some common code.
winex11.drv: Use XRenderCompositeText instead of XRenderCompositeString.
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.
Hwang YunSong(황윤성) (1):
xcopy: New Korean resource.
Jacek Caban (6):
mshtml: Wrap nsIExternalProtocolHandler.
mshtml: Don't call start_binding if we use necko to load the page.
mshtml: Improve some exec command stubs.
mshtml: Fixed AsyncOpen implementation for channels without associated document.
mshtml: Added missing WINAPI in window proc.
urlmon: There is no need to make slash conversion in BindToStorage as URL is already canonized in the constructor.
James Hawkins (15):
msi: Remove a misleading ERR, as this fails if a file doesn't exist, which is common.
msi: Add the ability to deformat the component's source.
msxml3: Add initial implementation of IXMLElement and IXMLElementCollection.
msxml3: Add initial implementation of IXMLDocument.
msxml3: Add tests for IXMLElement and IXMLElementCollection.
msxml3: Add tests for IXMLDocument.
msi: Create the destination directory if it doesn't exist when duplicating files.
msi: Fall back to checking if the cab exists if the volume name doesn't match.
msi: Set the MsiNTProductType property.
msi: Perform a forced reboot if a custom action returns ERROR_INSTALL_SUSPEND.
msi: Implement the WriteEnvironmentStrings standard action.
wintrust: Add stub implementations for CryptCATAdminAddCatalog and CryptCATAdminReleaseCatalogContext.
msi: Add handling for MsiBreak.
msi: Implement Installer::OpenDatabase.
msi: Implement SummaryInfo::Property get.
Jeff Latimer (2):
hnetcfg: Define icftypes.idl.
hnetcfg: Add netfw.idl - Network Firewall interface.
Jeremy White (1):
wininet: Mark Proxy Authorization header as a request header, so it actually gets sent.
José Manuel Ferrer Ortiz (2):
winecfg: Updated Spanish translation.
Some Spanish translations updated.
Juan Lang (9):
crypt32: Don't set ret to TRUE when it already is.
crypt32: Implement CertGetStoreProperty and CertSetStoreProperty.
crypt32: Use public functions to get store access state.
crypt32: Remove last error checks on success.
wintrust: Implement WintrustGetRegPolicyFlags and WintrustSetRegPolicyFlags.
oleaut32: Don't mix allocation routines.
crypt32: Statically initialize static lists and critical sections.
crypt32: Remove wrong test and parameter check.
wincrypt: Fix typo.
Julien Muchembled (1):
msvfw32: Fix enumeration of VFW video codecs that are registered in the registry.
Kai Blin (2):
secur32: Downgrade WARN to TRACE, fix another TRACE.
ws2_32: Make WS2_send trace more readble.
Kolbjoern Fredheim (1):
wined3d: Implemented converting X1R5G5B5 format to R5G5B5A1 to emulate color-keying.
Louis Lenders (2):
shell32: Update Dutch resource.
comctl32: Add stub for DrawShadowText.
Maarten Lankhorst (6):
winealsa: Remove dead code.
dsound: Primary buffer isn't an IDirectSoundBuffer8.
dsound: IDirectSound_Compact should return DS_OK on priolevel >= DSSCL_PRIORITY.
mpr: Small fixes to WNetGetConnection.
dsound: Block align SetCurrentPosition and add test for it.
dsound: Fix stupid mistake.
Marcus Meissner (7):
wined3d: Fixed swapchain context NULL ptr checks.
ddraw/tests: Check for failing to create surfaces.
shell32: Avoid potential 1 byte overflow.
kernel32: Skip modem status tests if GetModemStatus failed.
oleau32: Fix one entry overflow (Coverity).
ntdll: Initialize pointers to NULL (Coverity).
quartz: ppinsplitter might be used uninitialized (Coverity).
Markus Amsler (4):
dbghelp: Speed up vector_add by avoiding pool_realloc calls. Remove no longer needed pool_realloc.
dbghelp: Speed up pool_alloc. Patch by Eric Pouech.
dbghelp: Speed up vector iteration by directly using for().
dbghelp: Late init hash_table.
Michael Karcher (1):
user32: Reduce the PeekMessage timeout to zero for USER16_AlertableWait.
Michael Stefaniuc (3):
winhelp: Fix some comparisons between signed and unsigned.
winedump: '$' isn't a valid character in an identifier regardless that gcc accepts it without warning.
msi: A signed 1-bit bitfield doesn't make much sense; use unsigned.
Mikołaj Zalewski (10):
localui: Add Polish translation.
msxml3: Implement IXMLDOMDocument2::setProperty("SelectionLanguage", ...).
comctl32: status: Send a NMMOUSE in mouse notifications, not a NMHDR.
comctl32: toolbar: TB_SETIMAGELIST should try to preserve button width.
msxml3: Improve the XPath queries handling.
msxml3: For queries the get_item should change the current position.
msxml3: Add tests for XPath queries with namespaces.
msxml3: Implement IXMLDOMElement::getElementsByTagName.
xcopy: Add Polish translation.
kernel32: Clear the extra memory in LocalReAlloc16(h, bigger_size, LMEM_ZEROINIT).
Misha Koshelev (44):
msi/tests: automation: Add tests for Session::EvaluateCondition.
msi: automation: Implement Session::EvaluateCondition.
msi/tests: automation: Test for Installer::CreateRecord error.
msi: automation: Implement Installer::CreateRecord.
msi/tests: automation: Test invoking methods as properties & vice versa.
msi: automation: Return DISP_E_MEMBERNOTFOUND if flags are incorrect.
msi: automation: Implement Record::FieldCount.
msi/tests: automation: Correct expected Record::StringData PROPERTYPUT return variant type.
msi/tests: automation: Add tests for Record::IntegerData.
msi/tests: automation: Add test for View::Modify.
msi: automation: Implement View::Modify.
msi: automation: Implement Record::IntegerData.
msi/tests: automation: Add test for Installer::InstallProduct.
msi: automation: Implement Installer::InstallProduct.
msi/tests: automation: Add tests for Installer::RelatedProducts.
msi: automation: Implement Installer::RelatedProducts.
msi: Make MsiEnumRelatedProducts enumerate registry value names, not subkeys.
msi: automation: Installer::Products, verify HeapAlloc return value.
msi: automation: Simplify counting products/related products.
msi: automation: Condense a few loops.
msi/tests: automation: Remove unnecessary if (SUCCEEDED(hr)) statements.
msi/tests: automation: Add tests for Installer::ProductInfo.
msi/tests: Add test for empty MsiGetProductInfo parameters not referencing default registry values.
msi: Return appropriate values for empty MsiProductInfo parameters.
msi: automation: Implement Installer::ProductInfo.
msi/tests: automation: Change non-const LPCWSTR parameters to LPWSTR.
msi/tests: automation: Check for NULL source string before calling lstrcpyW.
msi: automation: Change all tabs to spaces to conform to msi formatting.
msi: script: Change all tabs to spaces to conform to msi formatting.
msi/tests: automation: Change SUCCEEDED(hr) to more specific hr == S_OK.
msi/tests: automation: Fix Installer_ProductInfo ok message to correctly state function.
msi/tests: automation: Add tests for StringList::_NewEnum.
msi: automation: Generalize list implementation.
msi: automation: Implement StringList::_NewEnum.
msi/tests: automation: Installer::InstallProduct, remove a registry key set by Wine but not native.
msi/tests: automation: Test Installer::Products before and after InstallProduct, check product is not/is installed.
msi: Make MsiEnumProducts enumerate products, not features.
msi: automation: Append copyright notice.
shell32/tests: Add tests for ShellExecute DDE behavior.
shell32: Fix execute_from_key to conform to native behavior.
shell32/tests: Add tests for default DDE application name.
shell32: Handle default DDE application names.
shell32/tests: Remove duplicate code.
comctl32: imagelist: Fix simultaneous selection of one bitmap into two device contexts.
Mounir IDRASSI (6):
crypt32: Fix crash in CertGetCertificateContextProperty when querying length of a hash property.
crypt32: Stub implementation of CryptFindLocalizedName.
crypt32: Stub implementation of CertGetCertificateChain.
rsaenh: Fix crash in RSAENH_CPVerifySignature if pbSignature is set to NULL or if dwSigLen is lesser than the expected value.
crypt32: Fix CertAddCertificateContextToStore when called with CERT_STORE_ADD_USE_EXISTING.
winscard: Small initial stub implementation.
Nigel Liang (1):
shlwapi: Stub implementation for SHSetTimerQueueTimer.
Paul Vriens (2):
ole32/tests: Check for correct return value.
advpack/tests: Don't hardcode the system directory.
Peter Oberndorfer (4):
dbghelp: Minor cleanup.
ntdll: Fix up instruction pointer in context inside raise_exception.
winedbg: Show some info for msvcrt C++ exceptions.
winedbg: Only check for break/watch points on first chance exceptions.
Ralf Beck (2):
winealsa.drv: Add midi realtime and midi common messages on midi input.
winealsa.drv: Add missing offset of pitch bender in midi input.
Rob Shearman (43):
ole32: Fix CoUninitialize to only free libraries that return S_OK from DllCanUnloadNow.
ole32: Don't lookup the address for the DllGetClassObject function for ole32.dll in the apartment loaded dll list.
server: Add the logon SID to the default admin token's groups.
ole32: Create host apartments to enable isolation of objects of incompatible threading models.
ole32: Fix reading from an HGLOBALStreamImpl with an invalid HGLOBAL.
ole32: Fix hosting in main apartments.
wininet: Add support for SSPI authentication for HTTP.
wininet: Implement basic non-proxy authentication.
ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
ole32: Remove a useless trace.
ole32: Add spec entry for CoRegisterSurrogateEx.
ole32: Fix some races in the global interface table implementation.
ole32: Add more tests for global interface table functions.
ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table.
hlink: Fix HlinkCreateFromString to create a URL moniker if the input target is a URL.
urlmon: Fix a typo in URLMonikerImpl_Save.
urlmon: The persisted version of URL monikers should be size of URL
shlwapi: Add a slash to the URL if there is no path component.
hlink: Improve the saving of hlinks by documenting the unknown header values and saving out more data.
hlink: Improve the loading of hlinks.
mlang: Implement ConvertINetString.
secur32: Fix the dwVersion field in the security function tables returned by InitSecurityInterfaceA/W.
secur32: Fix the wrapper InitializeSecurityContextA/W functions to handle phContext and phNewContext parameters being optional for some SSPs.
secur32: Make the NTLM SSP cope with a NULL phCredential parameter when InitializeSecurityContext is called more than once.
secur32: Don't set the output buffer type in NTLM's IntializeSecurityContextA/W.
secur32: Fix NTLM's InitializeSecurityContextA/W to be flexible with the index of the token buffer in both the input and output buffer descriptions.
setupapi: Add a FIXME in SetupCopyOEMInfW for when we should be copying a catalog file.
wininet: Pass context to InitializeSecurityContext in second parameter.
wininet: Fix basic authentication by putting Basic directing into the scheme field, as the pszAuthValue can have an optional realm string appended.
wininet: Cope with non-nul-terminated header strings being passed to HttpSendRequestW.
wininet: Don't close the connection if the caller passes in zero for the number of bytes to be read.
wininet: Add a new NETCON_query_data_available function.
server: Move most of the duplicate_token request to a new function, token_duplicate, to enable the code to be used inside wineserver.
server: When starting a new process, use the token from the calling process, if one exists.
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.
include: Fix a typo in wincred.h.
oleaut32: Fix the references in function descriptions returned for dual IDispatch interfaces.
widl: A structure with variance, but without conformance should be a complex struct instead of a conformant, varying struct.
widl: RPC_FC_BIND_PRIMITIVE is a base type so reverse an if statement
widl: Set current_structure when writing out structure members to
Robert Reif (1):
dsound: Add missing interface ID.
Rolf Kalbermatter (4):
advapi32: Add service state request definitions.
advapi32: Add access flags to service handle data.
advapi32: Fix return value to indicate error when NULL string is passed in.
advapi32: Return error on NULL service name to GetServiceDisplayNameA/W.
Stefan Dösinger (8):
ddraw: Make the ddraw list lock a global dll lock.
ddraw: Hold the lock in creation functions.
ddraw: Hold the dll lock in IDirectDraw methods.
ddraw: Hold the lock in IDirectDrawSurface methods.
ddraw: Check the validy of IDirectDrawSurface::BltFast parameters.
ddraw: Hold the lock in IDirect3DX methods.
wined3d: Don't mess with nv texture shaders if its not supported.
wined3d: Keep GL_TEXTURE_2D enabled when using dummy textures.
Stefan Leichter (1):
advapi32: Added implementation of RegDeleteTreeA/W.
Thomas Spear (1):
wine.inf: Add uninstall key.
Tim Schwartz (1):
net.exe: Add NET START command.
Vitaliy Margolen (4):
dinput: Prevent race between destroying the hook window and unloading the dll.
ntdll: Implement RtlWriteRegistryValue and forward ntoskrnl to it.
wine.inf: Create fake dll for iexplore.exe.
user32/test: Add few tests for messages sent from SetForegroundWindow().
--
Alexandre Julliard
julliard(a)winehq.org