user32: Fix some failures in the MDI message test.
[wine] / ANNOUNCE
1 This is release 0.9.28 of Wine, a free implementation of Windows on Unix.
2
3 What's new in this release:
4   - OpenGL in child windows should work again.
5   - Better mouse support in games.
6   - Beginnings of new state management in Direct3D.
7   - Improved audio and font support on Mac OS.
8   - Lots of bug fixes.
9
10 Because of lags created by using mirrors, this message may reach you
11 before the release is available at the public sites. The sources will
12 be available from the following locations:
13
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.28.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.28.tar.bz2
16
17 Binary packages for various distributions will be available from:
18
19   http://www.winehq.org/site/download
20
21 You will find documentation on
22
23   http://www.winehq.org/site/documentation
24
25 You can also get the current source directly from the git or CVS
26 repositories. Check respectively http://www.winehq.org/site/git or
27 http://www.winehq.org/site/cvs for details.
28
29 If you fix something, please submit a patch; instructions on how to do
30 this can be found at http://www.winehq.org/site/sending_patches
31
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
34
35 ----------------------------------------------------------------
36
37 Changes since 0.9.27:
38
39 Alex Villacís Lasso (2):
40       oleaut32: Bypass conversion to string in R4/R8 -> DECIMAL conversion.
41       oleaut32: VarBstrFromCy - Remove use of sprintfW by converting a CY
42
43 Alexandre Julliard (27):
44       shell32: Avoid using garbage data in wildcard expansion.
45       winex11.drv: Remove unused PropertyAliasMap variable.
46       winex11.drv: Make sure the drawable rect is always updated and use it where appropriate.
47       winex11.drv: Implemented DESKTOPHORZ/VERTRES device caps.
48       gdi32: Use a more appropriate size for the default clip region.
49       winex11.drv: Get rid of the unused set_drawable function.
50       opengl32: Avoid generating a wrapper for internal functions when we can call the internal one directly.
51       opengl32: Don't use ENTER_GL/LEAVE_GL around calls to driver functions.
52       winex11.drv: Get rid of the display pointer in the GL context.
53       winex11.drv: Fixed computation of viewport and scissor position.
54       ntdll: Map the PE header up to the specified size, and clear the rest of the page.
55       msi: Fix the condition test to not assume MsiNetAssemblySupport is empty.
56       Revert "msi: Comparisons with null in conditions are special."
57       msvcrt: Make pointers to read-only exception descriptors const.
58       msvcrt: Implemented __CxxLongjmpUnwind.
59       configure: Remove some no longer used libcurses checks.
60       msvcrt: Define __CxxLongjmpUnwind for i386 only.
61       configure: Re-generated with autoconf 2.61.
62       ntdll: Fixed typo in map_image.
63       winedbg: Fixed a few data types.
64       winedbg: Win64 printf format fixes.
65       include: Get rid of the WINE_NO_LONG_AS_INT ifdefs.
66       ntdll: Fix the libdl refcount when loading the same builtin twice.
67       loader: Try to detect glibc 2.3 without NPTL or TLS and print a warning.
68       shell32: Don't hardcode the system32 directory in registered classes.
69       ntdll: File positions should be aligned to sector boundaries in PE loader.
70       ntdll: Added support for physically ejecting devices on Mac OS.
71
72 Andrew Talbot (22):
73       kernel32/tests: Cast-qual warnings fix.
74       dmime: Dangling references fix.
75       dmloader: Dangling references fix.
76       dmstyle: Dangling references fix.
77       gdi32/tests: Cast-qual warning fix.
78       mapi32/tests: Cast-qual warnings fix.
79       mapi32/tests: Cast-qual warnings fix.
80       cryptdll: Change storage class of module handle to static.
81       msi/tests: Cast-qual warning fix.
82       msvcrt/tests: Cast-qual warnings fix.
83       msvcrt/tests: Cast-qual warnings fix.
84       ntdll/tests: Cast-qual warning fix.
85       msvcrt/tests: Cast-qual warnings fix.
86       rpcrt4/tests: Cast-qual warnings fix.
87       secur32/tests: Cast-qual warnings fix.
88       version/tests: Write-strings warning fix.
89       progman: Cast-qual warnings fix.
90       winecfg: Cast-qual warning fix.
91       winhelp: Cast-qual warnings fix.
92       server: Cast-qual warnings fix.
93       server: Cast-qual warnings fix.
94       gdi32: Remove unused function.
95
96 Chris Robinson (3):
97       wined3d: Reduce the number of error messages.
98       wgl: Properly handle GLX_DRAWABLE_TYPE queries.
99       d3d: Fix adapter mode enumeration and filtering.
100
101 Christoph Frick (5):
102       dinput: Silently ignore DIPROP_CALIBRATIONMODE.
103       dinput: Ensure that the size of the dev caps pointer is large enough - no exact.
104       dinput: Utilize IDirectInputDevice2AImpl_Acquire/Unacquire.
105       dinput: Set the correct size for the old dinput joystick.
106       dinput: Drop magic int.
107
108 Clinton Stimpson (5):
109       usp10: Add tests and fix for ScriptXtoCP .
110       usp10: Implement ScriptStringAnalyse.
111       usp10: Implement ScriptStringFree.
112       usp10: Implement ScriptStringXtoCP.
113       usp10: Implement ScriptStringCPtoX.
114
115 Detlef Riekenberg (7):
116       localspl/tests: Add tests for XcvOpenPort.
117       localspl/tests: Add tests for XcvClosePort.
118       localspl/tests: Add tests for XcvDataPort.
119       localspl/tests: Fix copy+paste typo.
120       localspl/tests: Rename unclear string.
121       winspoool/tests: Rename unclear string.
122       winspoool/tests: Build the name of the local print server in a separate function.
123
124 Dmitry Timoshkov (23):
125       kernel32: Add the data that mimics the PE image which upack creates.
126       wineoss: Make some data const.
127       atl: Make some data const.
128       dbghelp: Make some data const.
129       dmime: Make some data const and static.
130       winearts: Make some data const.
131       dplayx: Make some data const.
132       crypt32: Make some data const.
133       dswave: Make some data const.
134       msvcrt: Make some data const.
135       rpcrt4: Make some data const.
136       rsaenh: Make some data const and static.
137       wined3d: Make some data const.
138       secur32: Make some data const.
139       ddraw: Fix warnings.
140       ddrawex: Avoid not necessary casts.
141       user32: Add support for the VK_APPS (Menu) key.
142       user32: Center the context menu if it was activated via VK_APPS like Windows does.
143       winedump: Fix a couple of typos.
144       winedump: Remove a redundant ';'.
145       kernel32: Add a minimal PE image that XP is able to load.
146       kernel32: Fix a typo.
147       user32: Add a message test for various ShowWindow() calls, fix some failures.
148
149 Eric Pouech (1):
150       dbghelp: Sparse array speed up.
151
152 Francois Gouget (19):
153       msvcrt: The tests link with msvcrt(d).dll now, so use GetModuleHandle() rather than LoadLibrary().
154       ole32: Fix named/nameless union compilation error.
155       shell32/tests: MSDN says ShellExecute() == 32 indicates an error. So fix the tests.
156       shell32/tests: Add FindExecutable() tests.
157       shell32: Fix FindExecutable() to return the executable path,  not the whole command.
158       shell32: Add some documentation for FindExecutableW().
159       shell32: Fix FindExecutableW() to not check if lpResult after using it. It's supposed to cause a segfault anyway.
160       shell32: Replace numeric literals with the proper constant.
161       comctl32/tests: Replace some '#if 0's with 'if (0)'s.
162       localspl/tests: Replace some '#if 0's with 'if (0)'s.
163       advapi32/tests: Replace an '#if 0' with an 'if (0)'.
164       shlwapi/tests: Replace some '#if 0's with 'if (0)'s.
165       version/tests: Replace some '#if 0's with 'if (0)'s.
166       user32/tests: Replace some '#if 0's with 'if (0)'s.
167       ole32/tests: Replace some '#if 0's with 'if (0)'s.
168       comdlg32: Fix PrintDlg(NULL) and reenable a test that was in an '#if 0'.
169       Assorted spelling fixes.
170       kernel32/tests: Test loading and unloading of builtin dlls.
171       setupapi: Fix handling of 'CopyFiles=@file'.
172
173 Günther Brammer (2):
174       ddraw: Fix IDirectDrawSurfaceImpl_SetColorKey to also change surface_desc.
175       ddraw: Add a test for IDirectDrawSurface_SetColorKey.
176
177 H. Verbeet (4):
178       wined3d: Allow the device to store multiple render targets.
179       wined3d: Move storing the render target from ActiveRender to SetRenderTarget.
180       wined3d: Allow the FBO code to handle multiple render targets.
181       wined3d: Allow wined3d to handle multiple render targets.
182
183 Hans Leidekker (6):
184       shell32: Add a stub implementation for SHLoadNonloadedIconOverlayIdentifiers.
185       mscoree: Take advantage of an installed Mono for Windows to run .NET applications.
186       mscoree: Add a stub implementation for CorExitProcess and GetRequestedRuntimeInfo.
187       setupapi: Add a stub implementation for SetupPromptReboot.
188       ws2_32: Implement the SIO_ADDRESS_LIST_QUERY ioctl.
189       winedump: Start dumping .NET specific bits from PE executables.
190
191 Huw Davies (3):
192       gdi32: Improve the fontconfig filtering hack so that Mac suitcase fonts get through.
193       gdi32: Actually create the Wine fonts key if it doesn't exist.
194       gdi32: Extract the constituent TrueType files from Mac suitcase fonts into the user's caches directory
195
196 Jacek Caban (15):
197       mshtml: Added alert implementation.
198       mshtml: Use HTMLWindow::alert in nsPromptService::Alert.
199       urlmon: Added application/x-msdownload mime filter.
200       urlmon: Use pluggable protocol in CoInternetCompareUrl.
201       mshtml: Added test of CompareUrl.
202       mshtml: Added beginning of IDM_PRINT implementation.
203       mshtml: Added nsACString_SetData function and use it instead of nsACString_Init when we return string value.
204       mshtml: Fix loading pages in containers without document.
205       mshtml: Don't do anything in SetNSContainer if new container is the same as previous.
206       mshtml: Fixed handling chrome protocol.
207       mshtml: Set default print template in exec_print.
208       shdoclc: Added print template strings.
209       mshtml: Use pvaIn in exec_print.
210       mshtml: Use Gecko's AsyncOpen if URI is has no nsIWineURI interface.
211       mshtml: Improve loading document detection in AsyncOpen.
212
213 James Hawkins (6):
214       cabinet: Close the opened file handle even in error cases.
215       msi: Only cleanup event subscriptions of the dialog being closed.
216       msi: Update the text control when the selection path changes.
217       msi: Run the install tests from a temporary directory.
218       msi: Enable cab compression and delete any resulting cabs using SHFileOperation.
219       mscoree: Add a stub for GetCORSystemDirectory.
220
221 Juan Lang (1):
222       kernel32: Suppress an unneeded warning.
223
224 Juris Smotrovs (1):
225       user32: Extend the support for SWP_STATECHANGED for all windows.
226
227 Kai Blin (1):
228       ws2_32: ws_sockaddr_u2ws should zero the sockaddr_in.sin_zero field.
229
230 Ken Thomases (17):
231       winecoreaudio: Control the fprintf's by the Wine debug channel on/off settings.
232       winecoreaudio: Create port for sending messages to the callback thread only once.
233       winecoreaudio: Extract wodHelper_CheckForLoopBegin() from wodHelper_BeginWaveHdr().
234       winecoreaudio: Simplify handling of BEGIN+ENDLOOP wave headers.
235       winecoreaudio: Specialize wodHelper_BeginWaveHdr for its two callers and simplify.
236       winecoreaudio: Inline & eliminate the specializations of wodHelper_BeginWaveHdr.
237       winecoreaudio: Eliminate unnecessary variable, unreachable code, unused retval.
238       winecoreaudio: Leave audio unit running, except when waveout device paused.
239       winecoreaudio: Lift mutex lock/unlock out of wodHelper_PlayPtrNext to caller.
240       winecoreaudio: Report when the render callback is just providing silence.
241       winecoreaudio: Remove more mutexes from around Audio Unit calls.
242       winecoreaudio: Push notify of completions from render callback to message thread.
243       winecoreaudio: Change to faster non-recursive mutex.
244       winecoreaudio: Merge wodReset and wodHelper_Reset.
245       winecoreaudio: Move a memset out of a mutex-guarded section.
246       winecoreaudio: Replace pthread mutex with OSSpinLock.
247       iphlpapi: Fixed a problem with enumerating network interfaces.
248
249 Louis Lenders (1):
250       msvcrt: Add _atoldbl.
251
252 Marcus Meissner (2):
253       made functions and variables static in some testcases.
254       Made some functions static.
255
256 Markus Amsler (13):
257       d3d8: Release non implicit surfaces only if refcount is 0, with test.
258       wined3d: Call the depth stencil destroy callback function.
259       d3d9: Handle surface refcount forwarding in d3d9.
260       d3d9: Handle volume refcount forwarding in d3d9.
261       wined3d: Remove IWineD3DSurface_GetContainerParent.
262       wined3d: Remove IWineD3DVolume_GetContainerParent.
263       d3d9: Fix implicit surface refcounting.
264       d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice.
265       d3d9: Fix implicit swap chain refcounting.
266       d3d8: Handle surface container in d3d8.
267       d3d8: Handle volume container in d3d8.
268       d3d9: Handle surface container in d3d9.
269       d3d9: Handle volume container in d3d9.
270
271 Paul Vriens (10):
272       winspool.drv/tests: Fix typo.
273       winspool/tests: Make default_printer a global variable.
274       winspool/tests: Don't treat having no printers as a failure.
275       winspool.drv/tests: No need to return anything as we are using a global variable now.
276       winetest: Show correct filenames on test.winehq.org.
277       kernel32/tests: Be a bit more verbose on failure.
278       shlwapi/tests: Fix typos.
279       user32/tests: Make sure the tests run on NT4 again.
280       usp10/tests: Make tests run on win9x and NT4 again.
281       kernel32/tests: Don't use full path for executable in tests.
282
283 Peter Oberndorfer (1):
284       comctl32: Fix imagelist regression from "comctl32: Remove Nx1 assumptions in ImageList_Read".
285
286 Pierre d'Herbemont (3):
287       kernel32: Allow the preferred language to be different from the preferred locale on Mac OS X.
288       user32: Factorize graphics driver SetParent into user32.
289       kernel32: Remove unneeded headers.
290
291 Rob Shearman (15):
292       ole32: Support reading and writing custom clipformats in the data cache.
293       ole32: Add documentation for the user marshaling functions.
294       rpcrt4: Free the resource allocated by InitializeSecurityContext when the connection is closed.
295       ole32: Move the user marshal tests to usrmarshal.c.
296       ole32: Implement HMETAFILE and HMETAFILEPICT user marshaling functions and add tests for these.
297       ole32: Fix SetSize for HGLOBAL streams in the case of being out-of-memory.
298       kernel32: Protect global alloc functions against integer overflows on the size parameter.
299       ole32: Fix the HMETAFILEPICT user marshaling test to use the size
300       ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls.
301       ole32: Implement CoRegisterChannelHook and call channel hook methods on the client side.
302       ole32: Call ServerNotify for channel hooks.
303       ole32: Call the message filter for incoming calls.
304       ole32: Pass in the IID and IUnknown* of the object being executed to the server notification and message filter functions.
305       ole32: Reset the message filter at the end of the message filter test.
306       ole32: Send a causality ID in the ORPCTHIS header for a call.
307
308 Roderick Colenbrander (2):
309       wgl: Make the WGL code independant of the number of supported pixel formats.
310       winex11.drv: pbuffer detection.
311
312 Stefan Dösinger (71):
313       wined3d: Implement IWineD3DDevice::Reset.
314       wined3d: Move alpha states to the state table.
315       wined3d: Move clipping states to the state table.
316       wined3d: Move WINED3DRS_BLENDOP to the state table.
317       wined3d: Move WINED3DRS_TEXTUREFACTOR to the state table.
318       wined3d: Move WINED3DRS_SPECULARENABLE to the state table.
319       wined3d: Move stencil states to the state table.
320       wined3d: Move WINED3DRS_STENCILWRITEMASK to the state table.
321       wined3d: Move fog states to the state table.
322       wined3d: Make WINED3DRS_RANGEFOGENABLE a nogl state.
323       wined3d: Move WINED3DRS_FOGCOLOR to the state table.
324       wined3d: Move wined3drs_fogdensity to the state table.
325       wined3d: Remove the unused stateblock vertex blend member.
326       wined3d: Remove the unused tween factor stateblock member.
327       wined3d: Set WINED3DRS_INDEXEDVERTEXBLENDENABLE to state_nogl.
328       wined3d: Move WINED3DRS_COLORVERTEX to the state table.
329       wined3d: Move WINED3DRS_LINEPATTERN to the state table.
330       wined3d: Move WINED3DRS_ZBIAS to the state table.
331       wined3d: Move WINED3DRS_NORMALIZENORMALS to the state table.
332       wined3d: Move WINED3DRS_POINTSIZE to the state table.
333       wined3d: Move WINED3DRS_POINTSIZE_MIN to the state table.
334       wined3d: Move WINED3DRS_POINTSIZE_MAX to the state table.
335       wined3d: Move point scale render states to the state table.
336       wined3d: Move WINED3DRS_COLORWRITEENABLEx to the state table.
337       wined3d: Move WINED3DRS_LOCALVIEWER to the state table.
338       wined3d: Move WINED3DRS_LASTPIXEL to the state table.
339       wined3d: WINED3DRS_SOFTWAREVERTEXPROCESSING is a nogl state.
340       wined3d: Move WINED3DRS_POINTSPRITEENABLE to the state table.
341       wined3d: Move WINED3DRS_WRAPx to the state table.
342       wined3d: Move WINED3DRS_MULTISAMPLEANTIALIAS to the state table.
343       wined3d: Move WINED3DRS_SCISSORTESTENABLE to the state table.
344       wined3d: Move WINED3DRS_DEPTHBIAS to the state table.
345       wined3d: Move WINED3DRS_TEXTUREPERSPECTIVE to the state table.
346       wined3d: Move WINED3DRS_STIPPLEDALPHA to the state table.
347       wined3d: Move WINED3DRS_ANTIALIAS to the state table.
348       wined3d: Move WINED3DRS_MULTISAMPLEMASK to the state table.
349       wined3d: Move WINED3DRS_PATCHEDGESTYLE to the state table.
350       wined3d: Move WINED3DRS_PATCHSEGMENTS to the state table.
351       wined3d: Make WINED3DRS_DEBUGMONITORTOKEN a nogl state.
352       wined3d: Move WINED3DRS_POSITIONDEGREE to the state table.
353       wined3d: Move WINED3DRS_NORMALDEGREE to the state table.
354       wined3d: Move tesselation to the state table.
355       wined3d: Move SRGBWRITEENABLE to the state table.
356       wined3d: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the state table.
357       ddraw: Add a TRACE to GetPixelFormat.
358       wined3d: D3DRS_ZVISIBLE is not supposed to return an error.
359       wined3d: Clean up SetRenderState.
360       wined3d: Add the state dirtification infrastructure.
361       wined3d: Move render state applying to drawprim.
362       wined3d: Catch nop render state changes.
363       wined3d: Add missing render state function.
364       wined3d: Fix a function name.
365       wined3d: Add WINED3DRS_STIPPLEPATTERNxy.
366       wined3d: Temporary disable nvrc junk texture skipping.
367       wined3d: Add empty texture stage states to the state table.
368       wined3d: Do not enable the texture dimensions in BindTexture.
369       wined3d: Move WINED3DTSS_COLOROP to the state table.
370       wined3d: Move WINED3DTSS_ALPHAOP to the state table.
371       wined3d: Move WINED3DTSS_TEXCOORDINDEX to the state table.
372       wined3d: Add a WINED3DTSS_BUMPENVSCALE stub.
373       wined3d: Add a WINED3DTSS_BUMPENVLOFFSET stub.
374       wined3d: Make WINED3DTSS_TEXTURETRANSFORMFLAGS a nogl state.
375       wined3d: Make a WINED3DTSS_RESULTARG stub.
376       wined3d: Make WINED3DTSS_CONSTANT a nogl state.
377       wined3d: Catch nop SetTextureStageState calls.
378       wined3d: Add empty sampler entries to the state table.
379       wined3d: Move samplers to the state table.
380       wined3d: Catch nop sampler changes.
381       wined3d: Add pixel shaders to the state table.
382       wined3d: Catch nop pixel shader changes.
383       wined3d: Reinstall the nvrc texture unit mapping.
384
385 Ulrich Czekalla (8):
386       winex11.drv: Store window and drawable rects in X11DRV_PDEVICE.
387       winex11.drv: Correctly position and clip opengl child windows.
388       ddraw: Add IDirectDraw3 interface.
389       Add ddrawex dll.
390       winex11.drv: Avoid grabbing syslevel locks in the wrong order.
391       ddraw: Initialize the IDirectDraw3 vtable.
392       ddraw: IDirectDraw3 should use its own ref count variable.
393       winex11.drv: Don't crash when called with a NULL gl context.
394
395 Vitaliy Margolen (22):
396       dinput: Fix processing of custom format.
397       dinput: Remove incorrect assumption about format.
398       dinput: No need to copy default constant format. Use already defined static instead.
399       dinput: Move internal function calculate_ids to where it's really used.
400       dinput: Move few helper functions and standardize them.
401       dinput: Move transform and offsets structures into base device class.
402       dinput: Add user data format into base class. Implement SetDataFormat.
403       dinput: Move joystick user data format into base class.
404       dinput: Move mouse & keyboard user data format to base class.
405       dinput: Remove redundant parameter.
406       dinput: Use standard mouse data format instead of custom one.
407       winex11.drv: Only events with MOUSEEVENTF_MOVE flag should change mouse position.
408       winex11.drv: Update cached cursor position after calling hook.
409       user32: ClipCursor should use virtual screen resolution for empty/invalid rects.
410       wined3d: When changing display modes clip cursor to the requested display size.
411       dinput: Don't return non existent keys.
412       dinput: Zero out returned information struct.
413       dinput: Add handling of AXISMODE property to base device object.
414       dinput: Make mouse use axis mode flag set in base class. Add tests.
415       winex11drv: Return cached cursor_pos in GetCursorPos().
416       dinput: Use GetCursorPos() to calculate relative mouse movements.
417       dinput: Warp mouse in exclusive cooperation mode only.
418
419 --
420 Alexandre Julliard
421 julliard@winehq.org