| This is release 0.9.36 of Wine, a free implementation of Windows on Unix. |
| |
| What's new in this release: |
| - Midi support in the CoreAudio driver. |
| - Mixer support in the Alsa driver. |
| - A lot of MSI fixes. |
| - Implementation for most D3DRM functions. |
| - The usual assortment of 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.36.tar.bz2 |
| http://prdownloads.sourceforge.net/wine/wine-0.9.36.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.35: |
| |
| Alasdair Sinclair (1): |
| advapi32: Fix one byte array overflow during DES unhash. |
| |
| Alban Browaeys (2): |
| msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed. |
| wininet: Fix szCacheContent in URLCacheContainer_OpenIndex. |
| |
| Alexandre Julliard (19): |
| kernel32: Use the correct access rights when opening named pipes. |
| server: Add infrastructure for ioctl server request. |
| server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side. |
| server: Move the server part of device unmounting to the ioctl processing. |
| server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. |
| server: Add a specific data type for ioctl codes so they can be printed as symbols. |
| server: Move the FSCTL_PIPE_WAIT ioctl implementation to the server. |
| server: Allow specifying the status code to return on file descriptors that don't have a Unix fd. |
| server: Moved the FSCTL_PIPE_LISTEN implementation to the server. |
| server: Use the standard file descriptor wait queue for named pipe server async waits. |
| server: Don't give out read/write access to the named pipe device. |
| dbghelp: Don't print garbage chars in ERR message. |
| version: Avoid size_t type in traces. |
| server: Return a more correct fd type for anonymous files. |
| configure: Use AC_SEARCH_LIBS for the Solaris libs to avoid unused function checks. |
| winedbg: Properly handle EOF on input. |
| cabinet: Make sure we don't try to close an invalid file handle. |
| make_makefiles: Avoid duplicate .gitignore entries. |
| winecoreaudio: Avoid sizeof in trace. |
| |
| Alexey Markachev (1): |
| ntdll: Fix mistake in Novosibirsk time zone. |
| |
| Andrew Riedi (1): |
| winex11.drv: Add legacy 32-bit cursor support. |
| |
| Andrew Talbot (27): |
| crypt32: Constify some variables. |
| crypt32: Constify some variables. |
| user32: Make function definitions and declarations agree. |
| slwapi: Make function definitions and declarations agree. |
| slwapi: Make function definitions and declarations agree. |
| dbghelp: Constify some variables. |
| uxtheme: Fix conflicting declarations. |
| dbghelp: Constify some variables. |
| dbghelp: Constify some variables. |
| ddraw: Constify some variables. |
| activeds: Exclude unused headers. |
| acledit: Exclude unused headers. |
| advpack: Exclude unused headers. |
| avicap32: Exclude unused header. |
| avifil32: Exclude unused headers. |
| amstream: Exclude unused headers. |
| dinput: Constify some variables. |
| dmcompos: Constify a variable. |
| dmusic: Constify a variable. |
| dmscript: Constify a variable. |
| dmloader: Constify some variables. |
| dmime: Constify some variables. |
| dmstyle: Constify some variables. |
| dmband: Constify some variables. |
| dnsapi: Constify some variables. |
| dplayx: Fix a typo. |
| dplayx: Constify some variables. |
| |
| Aric Stewart (4): |
| taskmgr: Add Japanese resource. |
| shell32: SHGFI_EXETYPE flag should have the files returning 0 if they are DLL images. |
| gdi32: Make the comparison for system link font replacement not case sensitive. |
| usp10: Do not crash in ScriptPlace if pABC is null. |
| |
| Ben Taylor (2): |
| configure: Fix to properly recognize functions on Solaris. |
| wineoss: Fix to compile on Solaris 10. |
| |
| Bernd Buschinski (1): |
| wined3d: Fix drawStridedSlow typo. |
| |
| Chia-I Wu (1): |
| kernel32: Fix non-terminated separator string. |
| |
| Chris Robinson (2): |
| quartz: Create DirectSound device and buffer at filter creation and connection respectively. |
| quartz: Partially implement the MPEG 1 Stream Splitter filter. |
| |
| Clinton Stimpson (1): |
| riched20: Set modify state when removing text. |
| |
| Damjan Jovanovic (1): |
| mapi32: MAPIAdminProfiles stub. |
| |
| Dan Hipschman (4): |
| widl: Add --prefix-* options (take 3). |
| rpcrt4: Add tests for RPC and widl generated code. |
| widl: Declare fixed-size array args as pointers to arrays. |
| rpcrt4: Add a testcase for RPCs with fixed-size arrays. |
| |
| David Adam (15): |
| include: Add d3drmdef.h header. |
| d3drm: Implement D3DRMVectorAdd. |
| d3drm: Implement D3DVectorSubtract. |
| d3drm: Implement D3DRMVectorCrossProduct. |
| d3drm: Implement D3DRMVectorDotProduct. |
| d3drm: Implement D3DRMVectorModulus. |
| d3drm: Implement D3DRMVectorscale. |
| d3drm: Implement D3DRMVectorNormalize. |
| d3drm: Implement D3DRMVectorRandom. |
| d3drm: Implement D3DRMVectorReflect. |
| d3drm: Implement D3DRMQuaternionMultiply. |
| d3drm: Implement D3DRMVectorRotate. |
| d3drm: Implement D3DRMMatrixFromQuaternion. |
| d3drm: Implement D3DRMQuaternionFromRotation. |
| d3drm: Implement D3DRMQuaternionSlerp. |
| |
| Detlef Riekenberg (9): |
| include/winspool: Declare missing function. |
| spoolss: Build the import library. |
| localspl: Implement XcvData_AddPort. |
| localui: Implement DeletePortUI. |
| localspl: DeletePort is now in localui.dll. |
| localui: Implement ConfigurePortUI. |
| localspl: ConfigurePort is now in localui.dll. |
| localui: Avoid crash on NULL pointer. |
| localui: Implement ConfigurePortUI for COMx. |
| |
| Dmitry Timoshkov (7): |
| version: Add a VerQueryValue test, make it mostly pass under Wine. |
| advapi32: Thunk GetFileSecurityW to NtQuerySecurityObject. |
| comctl32: Fix an off by one error in ImageList_Remove. |
| comctl32: Use packing only for public ILHEAD structure, 2 bytes packing is enough. |
| comctl32: Add an image list storage test, make it pass under Wine. |
| comctl32: Add more image list tests, fix one problem found. |
| user32: Windows doesn't redraw a window if it is being just moved. |
| |
| EA Durbin (1): |
| sxs: Add new dll stub. |
| |
| Emmanuel Maillard (17): |
| winecoreaudio: Initial MIDI support on Mac OS X. |
| winecoreaudio: Implement MIDI_NotifyClient, MIDIOut_Open and MIDIOut_Close. |
| winecoreaudio: Implement MIDIOut_GetDevCaps and MIDIOut_GetNumDevs. |
| winecoreaudio: Implement MIDIOut_Prepare and MIDIOut_Unprepare. |
| winecoreaudio: Implement MIDIOut_Data. |
| winecoreaudio: Implement MIDIOut_LongData. |
| winecoreaudio: Implement MIDIOut_GetVolume and MIDIOut_SetVolume. |
| winecoreaudio: Implement MIDIOut_Reset. |
| winecoreaudio: Initial MIDI In support on Mac OS X. |
| winecoreaudio: Initial MIDI In Mach message handling. |
| winecoreaudio: Add MIDI In messages in MIDI_NotifyClient. |
| winecoreaudio: Implement MIDIIn_Open and MIDIIn_Close. |
| winecoreaudio: Implement MIDIIn_GetNumDevs and MIDIIn_GetDevCaps. |
| winecoreaudio: Implement MIDIIn_Start and MIDIIn_Stop. |
| winecoreaudio: Implement MIDIIn_Reset. |
| winecoreaudio: Implement MIDIIn_AddBuffer. |
| winecoreaudio: Implement MIDIIn_Prepare and MIDIIn_Unprepare. |
| |
| Eric Pouech (1): |
| acledit: Stubbed out acledit DLL, needed by SysInternals process explorer. |
| |
| Fabian Bieler (2): |
| d3d9/tests: Fix fog with shader test. |
| wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl. |
| |
| Francois Gouget (2): |
| advapi32: Fix and extend the RegQueryValueEx() tests. |
| advapi32/tests: Use memcmp() instead of strcmp() so that we can check 'intrazeroed' strings. |
| |
| Gerald Pfeifer (1): |
| server: Silence compiler warning in fd_queue_async(). |
| |
| H. Verbeet (16): |
| wined3d: Add a function for dumping FBO status codes. |
| wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT. |
| wined3d: Use GL_UNSIGNED_BYTE as data type for WINED3DFMT_A8. |
| wined3d: Ignore SetTextureStageState on unsupported texture stages. |
| wined3d: Set the FBO drawbuffer using glDrawBuffer when ARB_DRAW_BUFFERS is not supported. |
| wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum. |
| wined3d: Use surface_get_gl_buffer where appropriate. |
| wined3d: Properly handle the difference between GL_BACK and GL_FRONT for onscreen surfaces. |
| wined3d: Don't try to clear the depth stencil if there is none. |
| wined3d: Implement ColorFill using FBOs, if they're being used. |
| wined3d: Remove GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT from debug_fbostatus(). |
| wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall. |
| wined3d: Actually use the calculated mipmap surface sizes in IWineD3DDeviceImpl_CreateVolumeTexture. |
| wined3d: Improve IWineD3DVolumeImpl_LoadTexture TRACE output. |
| wined3d: The second parameter to glTexImage3DEXT isn't a GLenum. |
| wined3d: Fix the return value for IWineD3DDeviceImpl_ColorFill. |
| |
| Hans Leidekker (9): |
| iphlpapi: Only call res_init() once per process. |
| msvcrt: Correct the spec file entry for _makepath. |
| shell32: Add a stub implementation for OpenAs_RunDLL. |
| urlmon: Add an implementation for CreateURLMonikerEx based on existing code for CreateURLMoniker. |
| msi: Install translators in the InstallODBC custom action. |
| msi: Install data sources in the InstallODBC custom action. |
| shell32: Add a stub implementation for SHMapIDListToImageListIndexAsync. |
| msi: Add a stub implementation for MsiEnumProductsEx{A, W}. |
| expand.exe: Add support for cabinet files. |
| |
| Huw Davies (5): |
| user32: Keep track of whether the app has asked for the text buffer handle. |
| user32: Add a function to return the length of the text buffer. |
| user32: Cache the text buffer length to avoid excessive calls to strlenW. |
| oleaut32: Don't try to free the typeinfo if get_funcdesc fails. |
| oleaut32: Rewrite get_funcdesc to avoid using the funcdesc's oVft member so that it works correctly for non-dual dispinterfaces. |
| |
| Hwang YunSong(황윤성) (2): |
| cmd: Updated Korean resource. |
| cmd: Updated Korean resource. |
| |
| Jacek Caban (1): |
| hhctrl.ocx: Don't insert content item that could not be merged. |
| |
| James Hawkins (9): |
| msi: Add tests for the concurrent installation custom action. |
| msi: Generalize the msi_custom_action_info struct so other custom actions can use it. |
| msi: Run the InstallExecute sequence if the InstallUISequnce table is empty. |
| msi: Add handling for the concurrent install custom action. |
| msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist. |
| msi: Add the _Property table back, with tests. |
| msi: Add an internal MSI_ViewModify. |
| msi: Abstract MSI_RecordSetStream. |
| msi: Implement special handling for the _Streams table. |
| |
| Jan Zerebecki (2): |
| user32: Fix to succeed reliably in test where it works by accident. |
| wined3d: Remove resourceStoreCriticalSection. |
| |
| Jason Edmeades (2): |
| cmd.exe: Implement a basic 'more'. |
| cmd.exe: Support for DEL filename /s. |
| |
| Jesse Allen (1): |
| wined3d: Remove fake nvidia card in GetAdapterIdentifier. |
| |
| José Manuel Ferrer Ortiz (1): |
| winspool.drv: Add Spanish resources. |
| |
| Kai Blin (1): |
| secur32: Move NTLM debug output to a seperate "ntlm" channel. |
| |
| Ken Thomases (3): |
| shell32/tests: Added to-do test showing a bug with file paths with spaces. |
| shell32: Don't break file path at spaces in ShellExecuteEx if quoted. |
| shell32/tests: Test that quoting file path prevents masking at space. |
| |
| Kevin Koltzau (1): |
| user32: Draw menu item bitmaps in the correct location when the scroll arrows are active. |
| |
| Kirill K. Smirnov (3): |
| xcopy: Add Russian resource. |
| kernel32: Add partial stub for NeedCurrentDirectoryForExePath. |
| kernel32/tests: Add tests for NeedCurrentDirectoryForExePath. |
| |
| Lei Zhang (2): |
| wineshelllink: Fall back to $HOME if $HOME/Desktop does not exist. |
| comdlg32: Initialize CommDlgExtendedError() return value for file dialogs. |
| |
| Maarten Lankhorst (14): |
| winmm: Implement CALLBACK_WINDOW. |
| winmm: Pass the right message to hwnd from mixer callback. |
| winecfg: Update Dutch resources. |
| dsound: Make sure we're holding the lock on Drop And Stop. |
| dsound: Don't deadlock in capture because of callback. |
| winealsa: Drop unplayed frames instead of waiting for them. |
| winealsa: Clear WAVECAPS_DIRECTSOUND for capture. |
| winealsa: Remove disabled code. |
| winealsa: Introduce mixer code. |
| winealsa: Implement opening/closing and caps of device. |
| winealsa: Implement mixer controls, and add GetLineInfo. |
| winealsa: Implement GetLineControls in mixer. |
| winealsa: Implement Get/SetControlDetails in mixer. |
| winealsa: Unset WAVECAPS_DIRECTSOUND properly for capture. |
| |
| Marcus Meissner (1): |
| msi: Do not mark the tables const. |
| |
| Michael Kaufmann (1): |
| gdi32: Add a stub for CancelDC. |
| |
| Michael Stefaniuc (2): |
| janitorial: Pass HEAP_ZERO_MEMORY as flag to HeapAlloc() instead of zeroing out the allocated memory in a later call. |
| winealsa: Do not check for non-NULL before HeapFree'ing a variable as the check is redundant. |
| |
| Michał Wiernowolski (1): |
| winealsa: Improved handling of SysEx MIDI messages. |
| |
| Mikołaj Zalewski (6): |
| winecfg: Add Polish translation. |
| regedit: Update Polish translation. |
| comctl32: toolbar: Merge TOOLBAR_GetButtonInfoA and TB_GetButtonInfoW. |
| comctl32: toolbar: Don't execute TB_GETBUTTONINFO if cbSize is invalid. |
| comctl32: toolbar: In CreateToolbarEx the default bitmap size is also 16x16. |
| shlwapi: Fix the handling of overflows in PathCombine[AW]. |
| |
| Paul Vriens (8): |
| crypt32/tests: Use A-version for registry functions. |
| ws2_32/tests: Add required parameter to CreateThread (for Win9x and WinME). |
| kernel32/tests: CreateRemoteThread is not implemented on win98. |
| kernel32/tests: GetComputerNameW is not implemented on win98. |
| kernel32/tests: GetLongPathNameW is not implemented on win98. |
| setupapi/tests: SetupDiCreateDeviceInfoListExW is not implemented on win98. |
| setupapi/tests: SetupCopyOEMInfA is not available on NT4. |
| kernel32/tests: Resource functions are not implemented on win98. |
| |
| Rob Shearman (20): |
| msi: Add support for non-persistent strings. |
| msi: Move string loading and saving to string.c. |
| msi: Cleanup unneeded string table functions. |
| msi: Remove the hash table for a column when one of its values is modified since it will now be invalid. |
| msi: Store the column info in the MSITABLE structure. |
| msi: Move table creation to table.c. |
| msi: Create the table directly in create_table instead of requiring it to be loaded after saving. |
| msi: The HOLD keyword implies a temporary table, whereas database importing should lead to permanent tables, so remove the HOLD keyword. |
| msi: Add support for adding temporary/non-persistent data to tables. |
| msi: Don't add info to the _Columns table for non-persistent tables. |
| msi: Add a persistent flag to tables. |
| msi: All columns being temporary means the table is non-persistent. |
| msi: Add a non-persistent string instead of a persistent one if the table or row is non-persistent. |
| msi: Set rec to NULL after calling msiobj_release on it in msi_create_table so that we don't call msiobj_release on it again. |
| msi: Create the _Property table as a temporary table so that the properties aren't saved to the .msi file. |
| msi: Fix an off-by-one error when calculating the path and filename for the action data in the SelfRegModules action. |
| kernel32: Add the directory the executable was loaded from to the module search path if the module file name doesn't contain a path. |
| winebuild: Refer to strings used in generated stubs by symbol rather than by offset to avoid problems when the compiler aligns the strings by 2 or more bytes. |
| atl: Use the first entry in the object map in AtlInternalQueryInterface when IUnknown is requested. |
| atl: AtlModuleGetClassObject should store an intermediate pointer in obj->pCF and then query this for the requested interface. |
| |
| Rolf Kalbermatter (6): |
| advapi32: Implement QueryServiceStatusEx. |
| advapi32: Make QueryServiceStatus use QueryServiceStatusEx. |
| advapi32: Make SERVICE_STATUS_PROCESS match the declaration in MSDN and PSDK. |
| advapi32: Add EnumServicesStatusExA/W stub implementation. |
| advapi32: Make struct service_data_t have the new SERVICE_STATUS_PROCESS struct. |
| advapi32: Make service_start_process return the pid to the caller. |
| |
| Stefan Dösinger (15): |
| d3d: Enumerate palettized formats for ddraw. |
| d3d: Remove dependency on ddraw.h header. |
| d3d9: Do not allow Direct3D9::GetAdapterModeCount to be called with D3DFMT_UNKNOWN. |
| d3d9: Rework the converted vertex declaration management. |
| wined3d: Do not upload to the vbo if there's nothing to do. |
| wined3d: The cursor texture doesn't have GL_APPLE_client_storage backing. |
| wined3d: Do not allocate surfaces unless needed. |
| wined3d: Add a method to create a declaration from a fvf. |
| wined3d: Implement CreateVertexDeclarationFromFVF. |
| ddraw: Get rid of FVFs. |
| d3d: Fix ProcessVertices. |
| ddraw: Add a test for EnumSurfaces. |
| ddraw: Use EnumAttachedSurfaces to search for a render target. |
| ddraw: Search for texture sublevels with GetAttachedSurface. |
| ddraw: Use EnumAttachedSurfaces for SetColorKey. |
| |
| Stefan Leichter (1): |
| advapi32: More tests for RegDeleteTreeA. |
| |
| Tom Spear (1): |
| winecfg: Change WINE_ERR to WINE_TRACE since there is no real error. |
| |
| Yuval Fledel (8): |
| include: Fix a typo in wincrypt.h. |
| userenv: Make GetProfileType report a normal (non-roaming) profile. |
| include: Introduce ntsecpkg.h. |
| rsaenh: Convert handle type from unsigned int to HCRYPTKEY. |
| include: Introduce SECPKG_INTERFACE_VERSION and extend PSECPKG_FUNCTION_TABLE accordingly. |
| schannel: Implement SpLsaModeInitialize and GetInfo. |
| schannel: Implement SpUserModeInitialize. |
| schannel: Tests for SpLsaModeInitialize, SpUserModeInitialize and GetInfo. |
| |
| -- |
| Alexandre Julliard |
| julliard@winehq.org |