1 This is release 0.9.36 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4 - Midi support in the CoreAudio driver.
5 - Mixer support in the Alsa driver.
7 - Implementation for most D3DRM functions.
8 - The usual assortment of Direct3D fixes.
11 Because of lags created by using mirrors, this message may reach you
12 before the release is available at the public sites. The sources will
13 be available from the following locations:
15 http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.36.tar.bz2
16 http://prdownloads.sourceforge.net/wine/wine-0.9.36.tar.bz2
18 Binary packages for various distributions will be available from:
20 http://www.winehq.org/site/download
22 You will find documentation on
24 http://www.winehq.org/site/documentation
26 You can also get the current source directly from the git or CVS
27 repositories. Check respectively http://www.winehq.org/site/git or
28 http://www.winehq.org/site/cvs for details.
30 If you fix something, please submit a patch; instructions on how to do
31 this can be found at http://www.winehq.org/site/sending_patches
33 Wine is available thanks to the work of many people. See the file
34 AUTHORS in the distribution for the complete list.
36 ----------------------------------------------------------------
40 Alasdair Sinclair (1):
41 advapi32: Fix one byte array overflow during DES unhash.
44 msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed.
45 wininet: Fix szCacheContent in URLCacheContainer_OpenIndex.
47 Alexandre Julliard (19):
48 kernel32: Use the correct access rights when opening named pipes.
49 server: Add infrastructure for ioctl server request.
50 server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side.
51 server: Move the server part of device unmounting to the ioctl processing.
52 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
53 server: Add a specific data type for ioctl codes so they can be printed as symbols.
54 server: Move the FSCTL_PIPE_WAIT ioctl implementation to the server.
55 server: Allow specifying the status code to return on file descriptors that don't have a Unix fd.
56 server: Moved the FSCTL_PIPE_LISTEN implementation to the server.
57 server: Use the standard file descriptor wait queue for named pipe server async waits.
58 server: Don't give out read/write access to the named pipe device.
59 dbghelp: Don't print garbage chars in ERR message.
60 version: Avoid size_t type in traces.
61 server: Return a more correct fd type for anonymous files.
62 configure: Use AC_SEARCH_LIBS for the Solaris libs to avoid unused function checks.
63 winedbg: Properly handle EOF on input.
64 cabinet: Make sure we don't try to close an invalid file handle.
65 make_makefiles: Avoid duplicate .gitignore entries.
66 winecoreaudio: Avoid sizeof in trace.
69 ntdll: Fix mistake in Novosibirsk time zone.
72 winex11.drv: Add legacy 32-bit cursor support.
75 crypt32: Constify some variables.
76 crypt32: Constify some variables.
77 user32: Make function definitions and declarations agree.
78 slwapi: Make function definitions and declarations agree.
79 slwapi: Make function definitions and declarations agree.
80 dbghelp: Constify some variables.
81 uxtheme: Fix conflicting declarations.
82 dbghelp: Constify some variables.
83 dbghelp: Constify some variables.
84 ddraw: Constify some variables.
85 activeds: Exclude unused headers.
86 acledit: Exclude unused headers.
87 advpack: Exclude unused headers.
88 avicap32: Exclude unused header.
89 avifil32: Exclude unused headers.
90 amstream: Exclude unused headers.
91 dinput: Constify some variables.
92 dmcompos: Constify a variable.
93 dmusic: Constify a variable.
94 dmscript: Constify a variable.
95 dmloader: Constify some variables.
96 dmime: Constify some variables.
97 dmstyle: Constify some variables.
98 dmband: Constify some variables.
99 dnsapi: Constify some variables.
101 dplayx: Constify some variables.
104 taskmgr: Add Japanese resource.
105 shell32: SHGFI_EXETYPE flag should have the files returning 0 if they are DLL images.
106 gdi32: Make the comparison for system link font replacement not case sensitive.
107 usp10: Do not crash in ScriptPlace if pABC is null.
110 configure: Fix to properly recognize functions on Solaris.
111 wineoss: Fix to compile on Solaris 10.
113 Bernd Buschinski (1):
114 wined3d: Fix drawStridedSlow typo.
117 kernel32: Fix non-terminated separator string.
120 quartz: Create DirectSound device and buffer at filter creation and connection respectively.
121 quartz: Partially implement the MPEG 1 Stream Splitter filter.
123 Clinton Stimpson (1):
124 riched20: Set modify state when removing text.
126 Damjan Jovanovic (1):
127 mapi32: MAPIAdminProfiles stub.
130 widl: Add --prefix-* options (take 3).
131 rpcrt4: Add tests for RPC and widl generated code.
132 widl: Declare fixed-size array args as pointers to arrays.
133 rpcrt4: Add a testcase for RPCs with fixed-size arrays.
136 include: Add d3drmdef.h header.
137 d3drm: Implement D3DRMVectorAdd.
138 d3drm: Implement D3DVectorSubtract.
139 d3drm: Implement D3DRMVectorCrossProduct.
140 d3drm: Implement D3DRMVectorDotProduct.
141 d3drm: Implement D3DRMVectorModulus.
142 d3drm: Implement D3DRMVectorscale.
143 d3drm: Implement D3DRMVectorNormalize.
144 d3drm: Implement D3DRMVectorRandom.
145 d3drm: Implement D3DRMVectorReflect.
146 d3drm: Implement D3DRMQuaternionMultiply.
147 d3drm: Implement D3DRMVectorRotate.
148 d3drm: Implement D3DRMMatrixFromQuaternion.
149 d3drm: Implement D3DRMQuaternionFromRotation.
150 d3drm: Implement D3DRMQuaternionSlerp.
152 Detlef Riekenberg (9):
153 include/winspool: Declare missing function.
154 spoolss: Build the import library.
155 localspl: Implement XcvData_AddPort.
156 localui: Implement DeletePortUI.
157 localspl: DeletePort is now in localui.dll.
158 localui: Implement ConfigurePortUI.
159 localspl: ConfigurePort is now in localui.dll.
160 localui: Avoid crash on NULL pointer.
161 localui: Implement ConfigurePortUI for COMx.
163 Dmitry Timoshkov (7):
164 version: Add a VerQueryValue test, make it mostly pass under Wine.
165 advapi32: Thunk GetFileSecurityW to NtQuerySecurityObject.
166 comctl32: Fix an off by one error in ImageList_Remove.
167 comctl32: Use packing only for public ILHEAD structure, 2 bytes packing is enough.
168 comctl32: Add an image list storage test, make it pass under Wine.
169 comctl32: Add more image list tests, fix one problem found.
170 user32: Windows doesn't redraw a window if it is being just moved.
173 sxs: Add new dll stub.
175 Emmanuel Maillard (17):
176 winecoreaudio: Initial MIDI support on Mac OS X.
177 winecoreaudio: Implement MIDI_NotifyClient, MIDIOut_Open and MIDIOut_Close.
178 winecoreaudio: Implement MIDIOut_GetDevCaps and MIDIOut_GetNumDevs.
179 winecoreaudio: Implement MIDIOut_Prepare and MIDIOut_Unprepare.
180 winecoreaudio: Implement MIDIOut_Data.
181 winecoreaudio: Implement MIDIOut_LongData.
182 winecoreaudio: Implement MIDIOut_GetVolume and MIDIOut_SetVolume.
183 winecoreaudio: Implement MIDIOut_Reset.
184 winecoreaudio: Initial MIDI In support on Mac OS X.
185 winecoreaudio: Initial MIDI In Mach message handling.
186 winecoreaudio: Add MIDI In messages in MIDI_NotifyClient.
187 winecoreaudio: Implement MIDIIn_Open and MIDIIn_Close.
188 winecoreaudio: Implement MIDIIn_GetNumDevs and MIDIIn_GetDevCaps.
189 winecoreaudio: Implement MIDIIn_Start and MIDIIn_Stop.
190 winecoreaudio: Implement MIDIIn_Reset.
191 winecoreaudio: Implement MIDIIn_AddBuffer.
192 winecoreaudio: Implement MIDIIn_Prepare and MIDIIn_Unprepare.
195 acledit: Stubbed out acledit DLL, needed by SysInternals process explorer.
198 d3d9/tests: Fix fog with shader test.
199 wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl.
202 advapi32: Fix and extend the RegQueryValueEx() tests.
203 advapi32/tests: Use memcmp() instead of strcmp() so that we can check 'intrazeroed' strings.
206 server: Silence compiler warning in fd_queue_async().
209 wined3d: Add a function for dumping FBO status codes.
210 wined3d: Dump the FBO's attachments when its status is GL_FRAMEBUFFER_UNSUPPORTED_EXT.
211 wined3d: Use GL_UNSIGNED_BYTE as data type for WINED3DFMT_A8.
212 wined3d: Ignore SetTextureStageState on unsupported texture stages.
213 wined3d: Set the FBO drawbuffer using glDrawBuffer when ARB_DRAW_BUFFERS is not supported.
214 wined3d: Add a function to determine if a surface is the front or the backbuffer for a swapchain, and return the corresponding GLenum.
215 wined3d: Use surface_get_gl_buffer where appropriate.
216 wined3d: Properly handle the difference between GL_BACK and GL_FRONT for onscreen surfaces.
217 wined3d: Don't try to clear the depth stencil if there is none.
218 wined3d: Implement ColorFill using FBOs, if they're being used.
219 wined3d: Remove GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT from debug_fbostatus().
220 wined3d: Output pretty GL errors in checkGLcall and vcheckGLcall.
221 wined3d: Actually use the calculated mipmap surface sizes in IWineD3DDeviceImpl_CreateVolumeTexture.
222 wined3d: Improve IWineD3DVolumeImpl_LoadTexture TRACE output.
223 wined3d: The second parameter to glTexImage3DEXT isn't a GLenum.
224 wined3d: Fix the return value for IWineD3DDeviceImpl_ColorFill.
227 iphlpapi: Only call res_init() once per process.
228 msvcrt: Correct the spec file entry for _makepath.
229 shell32: Add a stub implementation for OpenAs_RunDLL.
230 urlmon: Add an implementation for CreateURLMonikerEx based on existing code for CreateURLMoniker.
231 msi: Install translators in the InstallODBC custom action.
232 msi: Install data sources in the InstallODBC custom action.
233 shell32: Add a stub implementation for SHMapIDListToImageListIndexAsync.
234 msi: Add a stub implementation for MsiEnumProductsEx{A, W}.
235 expand.exe: Add support for cabinet files.
238 user32: Keep track of whether the app has asked for the text buffer handle.
239 user32: Add a function to return the length of the text buffer.
240 user32: Cache the text buffer length to avoid excessive calls to strlenW.
241 oleaut32: Don't try to free the typeinfo if get_funcdesc fails.
242 oleaut32: Rewrite get_funcdesc to avoid using the funcdesc's oVft member so that it works correctly for non-dual dispinterfaces.
244 Hwang YunSong(황윤성) (2):
245 cmd: Updated Korean resource.
246 cmd: Updated Korean resource.
249 hhctrl.ocx: Don't insert content item that could not be merged.
252 msi: Add tests for the concurrent installation custom action.
253 msi: Generalize the msi_custom_action_info struct so other custom actions can use it.
254 msi: Run the InstallExecute sequence if the InstallUISequnce table is empty.
255 msi: Add handling for the concurrent install custom action.
256 msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist.
257 msi: Add the _Property table back, with tests.
258 msi: Add an internal MSI_ViewModify.
259 msi: Abstract MSI_RecordSetStream.
260 msi: Implement special handling for the _Streams table.
263 user32: Fix to succeed reliably in test where it works by accident.
264 wined3d: Remove resourceStoreCriticalSection.
267 cmd.exe: Implement a basic 'more'.
268 cmd.exe: Support for DEL filename /s.
271 wined3d: Remove fake nvidia card in GetAdapterIdentifier.
273 José Manuel Ferrer Ortiz (1):
274 winspool.drv: Add Spanish resources.
277 secur32: Move NTLM debug output to a seperate "ntlm" channel.
280 shell32/tests: Added to-do test showing a bug with file paths with spaces.
281 shell32: Don't break file path at spaces in ShellExecuteEx if quoted.
282 shell32/tests: Test that quoting file path prevents masking at space.
285 user32: Draw menu item bitmaps in the correct location when the scroll arrows are active.
287 Kirill K. Smirnov (3):
288 xcopy: Add Russian resource.
289 kernel32: Add partial stub for NeedCurrentDirectoryForExePath.
290 kernel32/tests: Add tests for NeedCurrentDirectoryForExePath.
293 wineshelllink: Fall back to $HOME if $HOME/Desktop does not exist.
294 comdlg32: Initialize CommDlgExtendedError() return value for file dialogs.
296 Maarten Lankhorst (14):
297 winmm: Implement CALLBACK_WINDOW.
298 winmm: Pass the right message to hwnd from mixer callback.
299 winecfg: Update Dutch resources.
300 dsound: Make sure we're holding the lock on Drop And Stop.
301 dsound: Don't deadlock in capture because of callback.
302 winealsa: Drop unplayed frames instead of waiting for them.
303 winealsa: Clear WAVECAPS_DIRECTSOUND for capture.
304 winealsa: Remove disabled code.
305 winealsa: Introduce mixer code.
306 winealsa: Implement opening/closing and caps of device.
307 winealsa: Implement mixer controls, and add GetLineInfo.
308 winealsa: Implement GetLineControls in mixer.
309 winealsa: Implement Get/SetControlDetails in mixer.
310 winealsa: Unset WAVECAPS_DIRECTSOUND properly for capture.
313 msi: Do not mark the tables const.
315 Michael Kaufmann (1):
316 gdi32: Add a stub for CancelDC.
318 Michael Stefaniuc (2):
319 janitorial: Pass HEAP_ZERO_MEMORY as flag to HeapAlloc() instead of zeroing out the allocated memory in a later call.
320 winealsa: Do not check for non-NULL before HeapFree'ing a variable as the check is redundant.
322 Michał Wiernowolski (1):
323 winealsa: Improved handling of SysEx MIDI messages.
325 Mikołaj Zalewski (6):
326 winecfg: Add Polish translation.
327 regedit: Update Polish translation.
328 comctl32: toolbar: Merge TOOLBAR_GetButtonInfoA and TB_GetButtonInfoW.
329 comctl32: toolbar: Don't execute TB_GETBUTTONINFO if cbSize is invalid.
330 comctl32: toolbar: In CreateToolbarEx the default bitmap size is also 16x16.
331 shlwapi: Fix the handling of overflows in PathCombine[AW].
334 crypt32/tests: Use A-version for registry functions.
335 ws2_32/tests: Add required parameter to CreateThread (for Win9x and WinME).
336 kernel32/tests: CreateRemoteThread is not implemented on win98.
337 kernel32/tests: GetComputerNameW is not implemented on win98.
338 kernel32/tests: GetLongPathNameW is not implemented on win98.
339 setupapi/tests: SetupDiCreateDeviceInfoListExW is not implemented on win98.
340 setupapi/tests: SetupCopyOEMInfA is not available on NT4.
341 kernel32/tests: Resource functions are not implemented on win98.
344 msi: Add support for non-persistent strings.
345 msi: Move string loading and saving to string.c.
346 msi: Cleanup unneeded string table functions.
347 msi: Remove the hash table for a column when one of its values is modified since it will now be invalid.
348 msi: Store the column info in the MSITABLE structure.
349 msi: Move table creation to table.c.
350 msi: Create the table directly in create_table instead of requiring it to be loaded after saving.
351 msi: The HOLD keyword implies a temporary table, whereas database importing should lead to permanent tables, so remove the HOLD keyword.
352 msi: Add support for adding temporary/non-persistent data to tables.
353 msi: Don't add info to the _Columns table for non-persistent tables.
354 msi: Add a persistent flag to tables.
355 msi: All columns being temporary means the table is non-persistent.
356 msi: Add a non-persistent string instead of a persistent one if the table or row is non-persistent.
357 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.
358 msi: Create the _Property table as a temporary table so that the properties aren't saved to the .msi file.
359 msi: Fix an off-by-one error when calculating the path and filename for the action data in the SelfRegModules action.
360 kernel32: Add the directory the executable was loaded from to the module search path if the module file name doesn't contain a path.
361 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.
362 atl: Use the first entry in the object map in AtlInternalQueryInterface when IUnknown is requested.
363 atl: AtlModuleGetClassObject should store an intermediate pointer in obj->pCF and then query this for the requested interface.
365 Rolf Kalbermatter (6):
366 advapi32: Implement QueryServiceStatusEx.
367 advapi32: Make QueryServiceStatus use QueryServiceStatusEx.
368 advapi32: Make SERVICE_STATUS_PROCESS match the declaration in MSDN and PSDK.
369 advapi32: Add EnumServicesStatusExA/W stub implementation.
370 advapi32: Make struct service_data_t have the new SERVICE_STATUS_PROCESS struct.
371 advapi32: Make service_start_process return the pid to the caller.
373 Stefan Dösinger (15):
374 d3d: Enumerate palettized formats for ddraw.
375 d3d: Remove dependency on ddraw.h header.
376 d3d9: Do not allow Direct3D9::GetAdapterModeCount to be called with D3DFMT_UNKNOWN.
377 d3d9: Rework the converted vertex declaration management.
378 wined3d: Do not upload to the vbo if there's nothing to do.
379 wined3d: The cursor texture doesn't have GL_APPLE_client_storage backing.
380 wined3d: Do not allocate surfaces unless needed.
381 wined3d: Add a method to create a declaration from a fvf.
382 wined3d: Implement CreateVertexDeclarationFromFVF.
383 ddraw: Get rid of FVFs.
384 d3d: Fix ProcessVertices.
385 ddraw: Add a test for EnumSurfaces.
386 ddraw: Use EnumAttachedSurfaces to search for a render target.
387 ddraw: Search for texture sublevels with GetAttachedSurface.
388 ddraw: Use EnumAttachedSurfaces for SetColorKey.
391 advapi32: More tests for RegDeleteTreeA.
394 winecfg: Change WINE_ERR to WINE_TRACE since there is no real error.
397 include: Fix a typo in wincrypt.h.
398 userenv: Make GetProfileType report a normal (non-roaming) profile.
399 include: Introduce ntsecpkg.h.
400 rsaenh: Convert handle type from unsigned int to HCRYPTKEY.
401 include: Introduce SECPKG_INTERFACE_VERSION and extend PSECPKG_FUNCTION_TABLE accordingly.
402 schannel: Implement SpLsaModeInitialize and GetInfo.
403 schannel: Implement SpUserModeInitialize.
404 schannel: Tests for SpLsaModeInitialize, SpUserModeInitialize and GetInfo.