hhctrl.ocx: Do not try to dereference NULL pointer if CreateHelpViewer failed.
[wine] / ANNOUNCE
1 This is release 0.9.36 of Wine, a free implementation of Windows on Unix.
2
3 What's new in this release:
4   - Midi support in the CoreAudio driver.
5   - Mixer support in the Alsa driver.
6   - A lot of MSI fixes.
7   - Implementation for most D3DRM functions.
8   - The usual assortment of Direct3D fixes.
9   - Lots of bug fixes.
10
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:
14
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
17
18 Binary packages for various distributions will be available from:
19
20   http://www.winehq.org/site/download
21
22 You will find documentation on
23
24   http://www.winehq.org/site/documentation
25
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.
29
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
32
33 Wine is available thanks to the work of many people. See the file
34 AUTHORS in the distribution for the complete list.
35
36 ----------------------------------------------------------------
37
38 Changes since 0.9.35:
39
40 Alasdair Sinclair (1):
41       advapi32: Fix one byte array overflow during DES unhash.
42
43 Alban Browaeys (2):
44       msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed.
45       wininet: Fix szCacheContent in URLCacheContainer_OpenIndex.
46
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.
67
68 Alexey Markachev (1):
69       ntdll: Fix mistake in Novosibirsk time zone.
70
71 Andrew Riedi (1):
72       winex11.drv: Add legacy 32-bit cursor support.
73
74 Andrew Talbot (27):
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.
100       dplayx: Fix a typo.
101       dplayx: Constify some variables.
102
103 Aric Stewart (4):
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.
108
109 Ben Taylor (2):
110       configure: Fix to properly recognize functions on Solaris.
111       wineoss: Fix to compile on Solaris 10.
112
113 Bernd Buschinski (1):
114       wined3d: Fix drawStridedSlow typo.
115
116 Chia-I Wu (1):
117       kernel32: Fix non-terminated separator string.
118
119 Chris Robinson (2):
120       quartz: Create DirectSound device and buffer at filter creation and connection respectively.
121       quartz: Partially implement the MPEG 1 Stream Splitter filter.
122
123 Clinton Stimpson (1):
124       riched20: Set modify state when removing text.
125
126 Damjan Jovanovic (1):
127       mapi32: MAPIAdminProfiles stub.
128
129 Dan Hipschman (4):
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.
134
135 David Adam (15):
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.
151
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.
162
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.
171
172 EA Durbin (1):
173       sxs: Add new dll stub.
174
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.
193
194 Eric Pouech (1):
195       acledit: Stubbed out acledit DLL, needed by SysInternals process explorer.
196
197 Fabian Bieler (2):
198       d3d9/tests: Fix fog with shader test.
199       wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl.
200
201 Francois Gouget (2):
202       advapi32: Fix and extend the RegQueryValueEx() tests.
203       advapi32/tests: Use memcmp() instead of strcmp() so that we can check 'intrazeroed' strings.
204
205 Gerald Pfeifer (1):
206       server: Silence compiler warning in fd_queue_async().
207
208 H. Verbeet (16):
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.
225
226 Hans Leidekker (9):
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.
236
237 Huw Davies (5):
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.
243
244 Hwang YunSong(황윤성) (2):
245       cmd: Updated Korean resource.
246       cmd: Updated Korean resource.
247
248 Jacek Caban (1):
249       hhctrl.ocx: Don't insert content item that could not be merged.
250
251 James Hawkins (9):
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.
261
262 Jan Zerebecki (2):
263       user32: Fix to succeed reliably in test where it works by accident.
264       wined3d: Remove resourceStoreCriticalSection.
265
266 Jason Edmeades (2):
267       cmd.exe: Implement a basic 'more'.
268       cmd.exe: Support for DEL filename /s.
269
270 Jesse Allen (1):
271       wined3d: Remove fake nvidia card in GetAdapterIdentifier.
272
273 José Manuel Ferrer Ortiz (1):
274       winspool.drv: Add Spanish resources.
275
276 Kai Blin (1):
277       secur32: Move NTLM debug output to a seperate "ntlm" channel.
278
279 Ken Thomases (3):
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.
283
284 Kevin Koltzau (1):
285       user32: Draw menu item bitmaps in the correct location when the scroll arrows are active.
286
287 Kirill K. Smirnov (3):
288       xcopy: Add Russian resource.
289       kernel32: Add partial stub for NeedCurrentDirectoryForExePath.
290       kernel32/tests: Add tests for NeedCurrentDirectoryForExePath.
291
292 Lei Zhang (2):
293       wineshelllink: Fall back to $HOME if $HOME/Desktop does not exist.
294       comdlg32: Initialize CommDlgExtendedError() return value for file dialogs.
295
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.
311
312 Marcus Meissner (1):
313       msi: Do not mark the tables const.
314
315 Michael Kaufmann (1):
316       gdi32: Add a stub for CancelDC.
317
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.
321
322 Michał Wiernowolski (1):
323       winealsa: Improved handling of SysEx MIDI messages.
324
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].
332
333 Paul Vriens (8):
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.
342
343 Rob Shearman (20):
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.
364
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.
372
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.
389
390 Stefan Leichter (1):
391       advapi32: More tests for RegDeleteTreeA.
392
393 Tom Spear (1):
394       winecfg: Change WINE_ERR to WINE_TRACE since there is no real error.
395
396 Yuval Fledel (8):
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.
405
406 --
407 Alexandre Julliard
408 julliard@winehq.org