1 This is release 0.9.37 of Wine, a free implementation of Windows on Unix.
3 What's new in this release:
4 - MSI automation with JScript/VBScript support.
5 - Various MSHTML improvements.
6 - The usual assortment of Direct3D fixes.
7 - Support for a few more exe protection schemes.
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.37.tar.bz2
15 http://prdownloads.sourceforge.net/wine/wine-0.9.37.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 Alexandre Julliard (24):
40 winebrowser: Don't output debug traces by default.
41 server: Give system APCs priority over signaled objects.
42 kernel32: Don't skip directory symlinks when looking for a specific file.
43 widl: Don't declare a global binding handle when using an implicit handle.
44 server: Store valid file options in pseudo file descriptors.
45 server: Infrastructure to return a wait handle for blocking ioctls.
46 server: Allocate the wait event for FSCTL_PIPE_LISTEN on the server side.
47 server: Allocate the wait event for FSCTL_PIPE_WAIT on the server side.
48 Fix minor differences in the formatting of the license notices.
49 Get rid of some empty source files, our makefiles no longer require them.
50 configure: Only check for the static versions of libicu.
51 kernel32: Disable FT_Thunk entry point when Windows version is NT.
52 configure: Added rpath support for Solaris.
53 kernel32: Set the dll file name with the correct case to make EXECryptor happy.
54 configure: Fixed typo in libicu check.
55 ntdll: Support setting the CPU context on the current thread without segment registers.
56 server: Add support for generic device objects managed from the client side.
57 server: Add support for queuing ioctl calls to a device.
58 server: Add request to retrieve the next pending ioctl call for a device manager.
59 server: Add support for retrieving results of queued ioctls once they are done.
60 advapi32: Fix set process request, a pipe instance can only handle one request.
61 psapi: Don't print output parameters as strings.
62 kernel32: Fix typo in CreateActCtxA.
63 server: Stop exporting the console_input structure. Get rid of console.h.
66 advapi32: Exclude unused headers.
67 dsound: Constify some variables.
68 crypt32: Exclude unused headers.
69 dswave: Constify a variable.
70 compstui: Exclude unused headers.
71 comdlg32: Exclude unused headers.
72 gdi32: Constify some variables.
73 gdi32: Constify some variables.
74 dbghelp: Exclude unused headers.
75 ddraw: Exclude unused headers.
76 gphoto.ds: Constify a variable.
77 devenum: Exclude unused header.
78 dmstyle: Exclude unused headers.
79 dmband: Exclude unused headers.
80 dmusic32: Exclude unused headers.
81 dmime: Exclude unused headers.
82 dxerr9: Exclude unused header.
83 kernel32: Constify a variable.
84 imaadp32.acm: Constify some variables.
85 dxerr8: Exclude unused header.
86 dnsapi: Exclude unused header.
87 dpnet: Exclude unused headers.
88 dsound: Exclude unused headers.
89 ifsmgr.vxd: Constify some variables.
90 inseng: Exclude unused header.
91 imagehlp: Exclude unused headers.
92 infosoft: Exclude unused header.
93 itss: Exclude unused headers.
94 kernel32: Exclude unused headers.
95 kernel32: Exclude unused headers.
96 kernel32: Exclude unused headers.
97 kernel32: Exclude unused headers.
98 mcicda: Exclude unused headers.
99 localspl: Exclude unused headers.
100 mciwave: Exclude unused header.
101 mapi32: Exclude unused header.
102 mscms: Exclude unused headers.
103 msacm32: Exclude unused headers.
104 mlang: Exclude unused headers.
107 dbghelp: Zero-terminate module name in minidump.
108 shlwapi: Implement IConnectionPoint_SimpleInvoke.
109 hhctrl.ocx: Update HtmlHelp and its commands definitions, and partially implement data A->W translation.
110 hhctrl.ocx: Do not try to dereference NULL pointer if CreateHelpViewer failed.
111 hhctrl.ocx: Recognize and use topic specification in url or in data.
112 shlwapi: Implement IUnknown_CPContainerInvokeParam.
115 ole32: Accelerators, like for the menu ones, should not fire on the keyup message.
116 gdi32: GetGlyphOutline needs to look at linked fonts as well.
119 wineshelllink: Improve /bin/sh and awk compatibility.
120 wineinstall: Use `wine --version` instead of `which wine`.
121 winegcc: Allow -R and -z linker options.
123 Bernard Ladenthin (2):
124 browseui: Implement ClassFactory_LockServer in browseui dll.
125 browseui: Fixed ClassFactory_LockServer implementation.
128 kernel32/tests: Boundary test cases for SystemTimeToFileTime and GetDateFormat.
129 oleaut32/tests: Some boundary tests on VarBstrFromDate.
131 Damjan Jovanovic (2):
132 wine.inf: Move explorer to the windows directory.
133 shlwapi: Fix UrlCanonicalizeW's handling of filesystem paths.
136 widl: Get rid of the typeref_t structure, simplify code.
137 widl: Get rid of the tname field of var_t, simplify code.
138 widl: Add string_of_type function, prettify code.
139 widl: Remove redundant get_var_vt function.
140 widl: Simplify make_safearray.
141 widl: Remove dead code in write_msft.c.
142 widl: Remove var_t's ptr_level field and start write_pointers.
145 advapi: Improve SetEntriesInAclA stub.
147 Detlef Riekenberg (8):
148 localspl: Code cleanup for XcvDataPort_AddPort.
149 winspool: Return the correct errorcode in OpenPrinter (Xcv).
150 winspool: Avoid crash on NULL parameter (XcvOpenPort in OpenPrinter).
151 localui: Implement AddPortUI.
152 localui: Implement ConfigurePortUI for LPT.
153 localui: Prefer builtin version.
154 localui: Add German resources.
155 ddraw/tests: Fix typos in messages.
157 Dmitry Timoshkov (6):
158 comctl32: Remove a stray back slash.
159 riched20: Add the tests for EM_SETTEXTEX/EM_GETTEXTEX in addition to WM_SETTEXT/WM_GETTEXT, make them pass under Wine.
160 gdi32: Handle errors in WineEngAddFontResourceEx.
161 gdi32: AddFontResource should return a number of added font faces.
162 advapi32: Add FILE_FLAG_BACKUP_SEMANTICS to the flags passed to CreateFileW to be able to get security information for directories as well as for files.
163 user32: Windows doesn't send the initialization messages to a dialog if a passed in dlgProc is NULL.
165 Emmanuel Maillard (4):
166 winecoreaudio: Handle non System Exclusive messages.
167 winecoreaudio.drv: MIDIIn_MessageHandler: Remove a TRACE and simplify skipping SysEx.
168 winecoreaudio.drv: Create only one MIDIOutPort and one MIDIInPort for all destinations and sources.
169 winecoreaudio.drv: Implement MIDIOut_Data when device is a MOD_MIDIPORT.
172 kernel32: Implemented CreateActCtxA on top of CreateActCtxW.
173 kernel32: Set the new definition for an activation context, and implement adding/releasing references to it.
176 d3drm/tests: Add missing '\n' to ok() calls.
177 d3drm: Fix compilation on systems that don't support nameless unions.
178 msi/tests: Add missing '\n' to ok() call.
179 Assorted spelling fixes.
180 ddraw/tests: Fix compilation on systems that don't support nameless unions.
181 msi/tests: Add missing '\n' to ok() calls.
182 crypt32: Add missing '\n' in FIXME() call.
183 wined3d: Add a missing '\n' to a trace.
186 wined3d: Flip the coordinate system rather than the coordinates itself for onscreen surfaces in stretch_rect_fbo.
187 wined3d: Make the IWineD3DDeviceImpl_ColorFill TRACE a bit more useful.
188 wined3d: Bind GL_FRAMEBUFFER_EXT rather than GL_DRAW_FRAMEBUFFER_EXT in color_fill_fbo.
189 wined3d: Improve a few VBO traces.
190 d3d: Fix the surface locking rectangle validation.
191 d3d9: Add a surface locking test.
192 d3d8: Add a surface locking test.
193 ddraw: Add a surface locking test.
194 wined3d: Remove some redundant fields from IWineD3DBaseTextureImpl.
195 wined3d: Handle the ps_3_0 vPos field.
196 wined3d: Unload vertex weight data in case of EXT_VERTEX_WEIGHTING as well.
197 wined3d: Calling glDisableClientState() from loadVertexData() is redundant.
198 wined3d: Split texture coordinate loading from loadVertexData().
199 wined3d: Load texture coordinates even if no texture is bound to that stage at this time.
200 wined3d: Trace the VBO and stream number as well in drawPrimitiveTraceDataLocations.
201 wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
204 oleaut32: Remove useless initialization of an [out] parameter.
205 ole32: Cope with a realloc returning a different pointer.
208 mshtml: Fix offset in OnDataAvailable call.
209 mshtml: Remove auto detection of Mozilla and Mozilla ActiveX control.
210 mshtml: Reimplement IHTMTxtRange on top of nsIDOMRange.
211 mshtml: Added IHTMLTxtRange::get_htmlText implementation.
212 mshtml: CGID_Undocumented is CGID_DocHostCmdPriv.
213 mshtml: Added IHTMLBodyElement::CreateTextRange implementation.
214 mshtml: Split code from OnDataAvailable.
215 mshtml: Don't crash in OnStopBinding if This->binding is null.
216 mshtml: Move AddRequest call to the separated function.
217 mshtml: Split IPersistMoniker::Load.
218 mshtml: Added IPersistStreamInit::Load implementation.
219 mshtml: Added IPersistStreamInit::Load test.
222 msi: Add tests that show that costing is run in both the UI and Execute sequences.
223 msi: Reset the folder's resolved target before setting the target in CostFinalize.
224 msi: Run the costing actions for both the UI and execute sequences.
225 msi: Only allow valid styles in msi_dialog_get_style.
226 msi: Add the ES_AUTOHSCROLL style to the edit control.
227 msi: Set the text limit of the edit control if the limit is given.
228 msi: Remove incorrect ERR as messages can be sent before the control is created.
229 msi: Remove debugging printf statements.
230 msi: Add stub handlers for the remaing standard actions that reference tables.
231 msi: Add handling for the ReinstallMode control event.
232 msiexec: /quiet is the same options as /qn.
233 msi: Check the volume name when changing media.
234 msi: Deformat the key path before opening the key.
235 msi: Only check the volume label for every media after the first disk.
238 xcopy: Output to console in Unicode if possible, or OEM codepage otherwise.
240 José Manuel Ferrer Ortiz (1):
241 Some Spanish translation updates.
245 wintrust: Implement WintrustLoadFunctionPointers.
246 wincrypt.h: Add missing definitions.
247 crypt32: Implement CertEnumSystemStore.
250 winebrowser: Don't put the default mailers or browsers into the registry.
253 winbase.h: Define FILE_FLAG_OPEN_REPARSE_POINT.
255 Kirill K. Smirnov (4):
256 server: Fix access check in screen buffer handling.
257 kernel32/tests: Add tests for console screen buffer.
258 server: Move console codepages to the server.
259 kernel32/tests: Add tests for console codepages.
261 Konstantin Kondratyuk (1):
262 ntdll: Correct a copy/paste mistake in NtWriteFile.
265 gdi32: Complete WidenPath implementation.
268 kernel32: Add stub for BindIoCompletionCallback.
269 gdi32: Add check for null pointer in SetDIBitsToDevice.
271 Maarten Lankhorst (2):
272 winealsa: Improve sound mixer detection.
273 winmm: Use criticalsection for determining wether timer is synchronously killable.
276 riched32: Avoid implicit time().
277 server: set_server_state needs to be called with non-NULL server.
278 msi/tests: Increase buffer size a bit.
280 Mikołaj Zalewski (4):
281 user32: Fix TabbedTextOut.
282 comctl32: treeview: Make the focus test pass under Windows XP.
283 comctl32: treeview: Treeviews shouldn't be sending NM_TOOLTIPSCREATED (with testcase).
284 shell32: Handle invalid cbSize in Shell_NotifyIcon[AW].
287 msi: Add OLE automation conformance test.
288 msi: Merge OLE automation conformance tests.
289 msi: Add base class for OLE automation objects.
290 msi: Expand IDL file to contain some OLE automation interface functions.
291 msi: automation: Implement Record::StringData.
292 msi: automation: Implement View::Execute, Fetch, and Close.
293 msi: automation: Implement Database::OpenView.
294 msi: automation: Implement a few functions from the Session object.
295 msi: automation: Implement Installer::OpenPackage.
296 msi: automation: Expose Installer object.
297 msi: Added handlers for JScript/VBScript actions that call one script function.
298 msi: Add JScript/VBScript support.
299 msi/tests: automation: Free memory after string conversion.
300 msi/tests: automation: Convert method names to Unicode on the fly to simplify adding new tests.
301 msi/tests: automation: Integrate test_createrecord_and_version properly.
302 msi: script: Discriminate properly between JScript and VBScript.
303 msi/tests: automation: Session::Installer conformance test.
304 msi: automation: Store parent Installer object in Session.
305 msi: automation: Implement Session::Installer.
306 msi: automation: Use proper parameter names.
307 msi: automation: Generalize interface-specific data storage in AutomationObject.
308 msi/tests: automation: Add tests for Installer::Products and Installer::ProductState.
309 msi: automation: Implement Installer::Products and Installer::ProductState.
310 msi: automation: Output FIXMEs for unknown member names.
311 msi/tests: automation: Add test for Installer::RegistryValue.
312 msi/tests: automation: Simplify ok_exception.
313 msi: automation: Clear all VT_BSTR variants returned by DispGetParam.
314 msi: automation: Display errors on create_automation_object failure.
315 msi: automation: Move VariantClears out of specific case statements when possible.
316 msi: automation: Display an error on create_session failure.
317 msi/tests: automation: Add more tests for Installer::RegistryValue.
318 msi: automation: Implement Installer::RegistryValue.
321 advapi32: Check for error in CryptEnumProviderTypesA and CryptEnumProvidersA.
322 wincrypt.h: Add missing definitions.
323 rsaenh: Fix read_key_container bug that prevents CryptAcquireContext from correctly loading the keys.
324 rsaenh: Use the correct registry key in RSAENH_CPAcquireContext.
325 crypt32: Correct the implementation of CertCreateSelfSignCertificate.
326 rsaenh: Add support for mandatory parameters to RSAENH_CPGetProvParam.
329 setupapi/tests: SetupQueryInfOriginalFileInformationA is not available on win98.
330 msi/tests: Properly cleanup after each test.
331 d3drm/tests: d3drm is removed from Windows Vista.
333 Peter Oberndorfer (3):
334 ntdll: Call NtQueryAttributesFile in RtlDoesFileExists_U.
335 ntdll: Use correct prototype for thread function.
336 rpcss: Use correct prototype for thread function.
339 dsound: Implement QueryInterface for the class factory objects.
340 dsound: Implement QueryInterface for KsPropertySet objects.
341 winex11.drv: Remove an unneeded include.
342 rpcrt4: Print the correct values when warning about a bad frag length.
343 atl: Implement AtlComQIPtrAssign.
344 atl: Add stubs for AtlIPersistStreamInit_Load and AtlIPersistStreamInit_Save.
345 setupapi: SetupCopyOEMInfW should preserve the basename when copying the inf file to the inf directory if possible.
346 ole32: Remove an unnecessary QueryInterface in CoRegisterClassObject that CoMarshalInterface will already do.
347 setupapi: The inf file containing the SourceDisksFiles and SourceDisksNames sections is the same as hinf if there is no layout file specified.
348 setupapi: Add stubs for SetupQueryInfOriginalFileInformationA/W.
349 setupapi: Partially implement SetupQueryInfOriginalFileInformationW.
350 ole32: CoGetClassObject shouldn't return REGDB_E_KEYMISSING, so convert it to REGDB_E_CLASSNOTREG.
351 ole32: Add test for registered class becoming invalid when apartment is destroyed.
352 ole32: Revoke registered class objects when the apartment they were registered in is destroyed, not when the last CoUninitialize is called.
353 ole32: Add tests for in-process registered class objects not being visible from different apartments.
354 ole32: COM_GetRegisteredClassObject should only retrieve objects that were registered in the current apartment.
355 ole32: Split CoRevokeClassObject into a separate function, COM_RevokeRegisteredClassObject, which acts on a RegisteredClass object.
356 ole32: Fix CoRevokeClassObject to return RPC_E_WRONG_THREAD if it was called from a different apartment than the one that called CoRegisterClassObject.
357 ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.
358 ole32: Add documentation for error info functions.
359 ole32: Add a test for the retrieved local class object in another thread being a proxy.
360 ole32: Don't release the drop target on process uninitialisation if not revoked, just release the memory.
361 setupapi: Don't copy an OEM inf file if the exact same OEM inf file already exists.
362 setupapi: Improve the stub for SetupQueryInfOriginalFileInformation
363 ole32: Move the logic in StgCreateDocfile for "if no share mode given then DENY_NONE is the default" to before the validateSTGM check.
364 setupapi: SetupOpenInfFile returns INVALID_HANDLE_VALUE on failure, not NULL.
366 Rolf Kalbermatter (4):
367 advapi32: Store process ID into status structure on startup.
368 advapi32: Add prototypes for EnumServicesStatusExA/W.
369 advapi32: Implement GetServiceDisplayNameA.
370 advapi32: Implement GetServiceDisplayNameW.
372 Stefan Dösinger (42):
373 ddraw: Search for d3d primary a bit differently.
374 ddraw: Do not access the surface connection structure directly in SetPalette.
375 ddraw: Move the additional surface creation into a seperate function.
376 ddraw: Complex surfaces form a tree.
377 ddraw: Add a test for surface attachments.
378 ddraw: Store a WineD3DBaseTexture instead of a WineD3DTexture.
379 d3d: Pass the cube face to Create*Texture's surface creation callback.
380 ddraw: Cube texture support.
381 ddraw: Cube map structure test.
382 ddraw: Update the wined3d depth stencil on device creation, render.
383 wined3d: Add missing prototypes for GL_ARB_vertex_blend.
384 d3d: Calculate the size of WINED3DFVF_XYZBx FVFs.
385 ddraw: Forward all 4 world matrices to wined3d.
386 wined3d: Implement vertex blending using GL_ARB_vertex_blend.
387 ddraw: Fix reported caps on compressed surfaces.
388 wined3d: Full surface DXTn copy.
389 ddraw: Adjust the d3d viewport when changing the back buffer.
390 ddraw: Primary surfaces always have screen size.
391 d3d: Move clippers from DDraw to wined3d.
392 wined3d: Make the blit -> flip work for windowed rendering.
393 ddraw: Forward the mag filter correctly to wined3d.
394 wined3d: Handle DDPCAPS_ALPHA.
395 wined3d: Fix front buffer coords for gdi surfaces.
396 wined3d: Unset the StreamIsUP flag in ProcessVertices.
397 wined3d: Report only D16, D24S8 and D24X8 depth stencil formats as supported.
398 wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap.
399 ddraw: More tests and fixes on surface attachments.
400 wined3d: Some more ProcessVertices fixes.
401 ddraw: Some caps fixes.
402 wined3d: Unload vertex weight data in unloadVertexData.
403 wined3d: Support bump environment mapping using GL_NV_texture_shader.
404 ddraw: Always set fullscreen mode in wined3d.
405 ddraw: Fix stupid bug when setting surface client memory.
406 wined3d: Manage private data in a wine linked list.
407 ddraw: Remove all non-d3d7 capability flags.
408 ddraw: Use point filter for blit operations.
409 ddraw: GetSurfaceDesc returns the surface memory while the surface is locked.
410 wined3d: Destroying the resource frees all private data.
411 wined3d: Implement DDBLT_DEPTHFILL on the active depth stencil target.
412 ddraw: Avoid fallout of failing tests.
413 wined3d: Only addref clippers if one exists.
414 wined3d: Prevent wrong bumpenvmap warnings.
417 advapi32: Fix initial cleanup of the registry keys used for testing.
420 uninstaller: Fix trace message.
421 regedit: Spelling and grammar fixes.
424 net.exe: Initial stub.
426 Vitaliy Margolen (2):
427 ntdll: Use correct full access bitmask in NtQuerySecurityObject.
428 kernel32: Fix off by one error.