1 This is release 0.9.28 of Wine, a free implementation of Windows on Unix.
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.
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:
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
17 Binary packages for various distributions will be available from:
19 http://www.winehq.org/site/download
21 You will find documentation on
23 http://www.winehq.org/site/documentation
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.
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
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
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
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.
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.
97 wined3d: Reduce the number of error messages.
98 wgl: Properly handle GLX_DRAWABLE_TYPE queries.
99 d3d: Fix adapter mode enumeration and filtering.
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.
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.
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.
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.
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.
150 dbghelp: Sparse array speed up.
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'.
174 ddraw: Fix IDirectDrawSurfaceImpl_SetColorKey to also change surface_desc.
175 ddraw: Add a test for IDirectDrawSurface_SetColorKey.
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.
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.
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
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.
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.
222 kernel32: Suppress an unneeded warning.
225 user32: Extend the support for SWP_STATECHANGED for all windows.
228 ws2_32: ws_sockaddr_u2ws should zero the sockaddr_in.sin_zero field.
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.
250 msvcrt: Add _atoldbl.
253 made functions and variables static in some testcases.
254 Made some functions static.
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.
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.
283 Peter Oberndorfer (1):
284 comctl32: Fix imagelist regression from "comctl32: Remove Nx1 assumptions in ImageList_Read".
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.
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.
308 Roderick Colenbrander (2):
309 wgl: Make the WGL code independant of the number of supported pixel formats.
310 winex11.drv: pbuffer detection.
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.
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.
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.
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.