The Wine development release 1.1.31 is now available. What's new in this release (see below for details): - Vastly improved monthcal control. - Performance improvements for DIB sections. - Several sound driver fixes. - Beginning of ActiveX support in JScript. - More Direct3D 10 work. - More 16-bit dlls split off to separate modules. - Support for attachments in MAPI. - Various bug fixes. The source is available from the following locations: http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.31.tar.bz2 http://prdownloads.sourceforge.net/wine/wine-1.1.31.tar.bz2 Binary packages for various distributions will be available from: http://www.winehq.org/site/download You will find documentation on http://www.winehq.org/site/documentation You can also get the current source directly from the git repository. Check http://www.winehq.org/site/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 1.1.31: 1660 Worms 2 demo crashes on startup 3044 CSpy/Date and Time Picker: selection of commas or weekday 3853 Freelancer: music hangs 5055 Deleting files from a window in wine doesn't send them to the Trash 5764 Running FFXI leaves blank screen after accepting user agreement. 6967 CSpy/Month Calendar: Wrong date gets selected 6969 CSpy/List View: Cannot select multiple items with mouse 7768 server should set process affinity 9989 Oracle OCI client: Hangs on updating LOB data 9995 font/menu problems 10050 oleaut32 and ITypeInfo::Invoke arguments 11385 Everquest 2 patcher window has transparency/drawing regression 11447 Solver addin in excel 2003 gives an "Out of Memory" error 11542 Proteus Demo crashes/hangs early 12349 DSOUND_MixInBuffer Assertion `dsb->buf_mixpos + len <= dsb->tmp_buffer_len' failed 12816 Age of Conan crashes 12859 HideThreadFromDebugger in NtSetInformationThread 13024 Regressions in Trackmania Nations Forever 13247 Emperor - Rise of the middle kingdom runs slowly w/o virtual desktop 15322 Add smartcard functionality 15812 3DS MAX 7.0: Any attempt to change viewport configuration results in a crash 15828 Microsoft Games for Windows - LIVE Redistributable setup - blank EULA 15936 Rollercoaster Tycoon 3 : crashes when start up 16525 Angels Online: Black screen in windowed mode. 16658 Scratchiness of sound in aimp 2.5 and other audio players 17096 Visual C++ 2005 Trial can't build project, complains when starting mspdbsrv 17532 Satori Bulk Mailer - adding modules fails 17581 Steam will not begin installation, segmentation fault, perhaps 17674 wine recaching font metrics on every run 18040 Mass Efffect crashes 18364 utorrent with an https tracker url stops working 18423 UPnP port mapping in uTorrent stopped working 18500 ntdll.NtQueryInformationProcess: provide simple ProcessDebugObjectHandle info class handling, returning "no debugger" 18660 .NET 3.0 WPF requires SystemParametersInfoW( SPI_GETDROPSHADOW) handled 18716 .NET 3.0 WPF requires SystemParametersInfoW( SPI_GETMOUSEVANISH) handled 18921 O(n) hash_table_add causes winedbg to take 20 minutes to dump stack when chromium crashes 19270 Dragon NaturallySpeaking 10 Standard freezes after selecting alsa in winecfg 19365 [Monkey Island Special Edition] Screen is cropped to a small part. 19369 C&C3 and Kane's Wrath crash with DSOUND_BufPtrDiff assertion 19380 SysDateTimePick32 - wDayOfWeek not generated automatically after DTM_SETSYSTEMTIME 19559 Proteus: Component text is too big 19578 Ares (Proteus 7.5) exits silently 19620 CounterStrike Source: Cannot perform microphone test (or use mic) 19851 interlocked* functions unimplemented for ARM 19897 d3d10/dxgi: device.ok crashes on MacOS X (InitAdapters/glGetString) 19901 Burg Schreckenstein: OSS HW emulation plays too slow and crashes 19963 GetSystemTimeAdjustment() should return 10000000 / sysconf(_SC_CLK_TCK) 19977 runasdate: buggy comctl32 behavior 19994 Microsoft Security Essentials Setup crashes missing __uncaught_exception 20094 messui.exe: instantly crashes 20121 Cities XL Demo fails to run 20153 AutoCAD 2008: Icons in popup menus too big 20159 EVE Online crashes on Character selection screen 20169 Jedi Knight: MotS freezes randomly after videos. 20253 WWII Online: Battleground Europe crashes 20258 Imperium Romanum crashes on startup 20270 Open file dialog in Winamp not resizable 20290 Crash when opening Splinter Cell Pandora Tomorrow or Chaos Theory's multiplayer mode ---------------------------------------------------------------- Changes since 1.1.30: Alexander Scott-Johns (2): user32: Add missing doc comment. winecfg: In Load Theme dialog, add " (*.msstyles; *.theme)" to file type combobox. Alexandre Julliard (94): gdi32: BS_DIBPATTERN brushes use a 32-bit handle in 32-bit mode. wineps.drv: BS_DIBPATTERN brushes use a 32-bit handle in 32-bit mode. winex11.drv: BS_DIBPATTERN brushes use a 32-bit handle in 32-bit mode. gdi32: Move remaining 16-bit metafile functions to metafile16.c gdi32: Make wing.dll into a stand-alone 16-bit module. gdi32: Get rid of the 16-bit DC hook support. gdi32: Move the 16-bit DIB pointer support to gdi16.c. include: Avoid direct access to wine_ldt_copy outside of kernel. libwine: Don't export wine_ldt_copy for the Windows build. winedos: Always run the BIOS tick timer. kernel32: Make system.drv into a stand-alone 16-bit module. kernel32: Allocate the global arena array only once and store a pointer to it in THHOOK. kernel32: Moved MemManInfo16 to toolhelp16.c. kernel32: Moved ToolHelpHook16 to kernel16.c, it's not a toolhelp function. kernel32: Moved GetThreadSelectorEntry to thread.c. kernel32: Moved private function prototypes out of toolhelp.h. kernel32: Make toolhelp.dll into a stand-alone 16-bit module. winetest: Use the registry path for COM dlls instead of GetModuleFileName. winetest: Don't run tests on native dlls when running under Wine. ws2_32: Split the async function callback by type of query. ws2_32: Define a common header struct for async queries, and switch to 32-bit types. ws2_32: Define a specific structure for each query type. ws2_32: Use the standard winsock functions to implement the async versions. ws2_32: Move the getXXXbyYYY critical section to socket.c. ws2_32: Move the 16-bit async functions to socket16.c. ws2_32: Remove remaining 16-bit code from async.c and simplify the code. ws2_32: Make winsock.dll into a stand-alone 16-bit module. configure: Don't build wow32.dll when 16-bit support is disabled. system.drv16: Add ntdll import. toolhelp.dll16: Add ntdll import. comdlg32: Fix icon drawing in the 3.1 file dialog. ntdll/tests: Retrieve the number of processors through GetSystemInfo. gdi32: Fall back to StretchBlt if the driver doesn't export PatBlt or BitBlt. winex11: Move X11DRV_ClientSideDIBCopy to avoid forward declarations. winex11: Move the DIB locking and the client-side optimizations into BITBLT_InternalStretchBlt. winex11: Remove BITBLT_InternalStretchBlt now that it's identical to X11DRV_StretchBlt. version: Abstract resource finding into a common function. version: Use the find_resource function instead of the 16-bit entry points to load 16-bit resources. version: Moved GetFileResourceSize16/GetFileResource16 to ver16.c. version: Make ver.dll into a stand-alone 16-bit module. version: Simplify the resource loading since we always load the same type and id now. wineps.drv: Make wineps16.drv into a stand-alone 16-bit module. setupapi: Duplicate the string substitution code to implement GenFormStrWithoutPlaceHolders16. setupapi: Make setupx.dll into a stand-alone 16-bit module. configure: Add -Werror flag in maintainer mode. winedump: Use consistent prototypes for option callbacks. winetest: Use explicit prototypes for function pointers. wnaspi32: Use explicit prototypes for function pointers. winex11: Use explicit prototypes for function pointers. opengl32/tests: Use explicit prototypes for function pointers. odbc32: Define correct function prototypes for all libodbc entry points. msvcrt: Add an MSVCRT prefix to _wenviron. tools: Build all the tools with -D__WINESRC__. loader: Build the loader with -D__WINESRC__. msvideo: Pass the correct function address for 32->16 callbacks. user32: Don't use a static dc for icon blitting. kernel32: Use call_entry_point to call functions with variable number of arguments. oleaut32: Use an assembly wrapper to implement DispCallFunc, and make it i386-only. msvcrt: Use strict function prototypes. include: Add support for building Wine with strict prototype checking. kernel32: Fix empty function prototypes. tests: Build all tests with strict prototypes. wrc: Include unistd.h before the Windows headers. advapi32: Retrieve the current user SID from the server in lookup_user_account_name. Fix empty function prototypes. advapi32: Use strict prototypes in the VTableProvStruc definition. winhlp32: Use explicit prototypes for the dll callbacks. winhlp32: Don't use FARPROC for functions that take variable number of arguments. programs: Build all programs with -DWINE_STRICT_PROTOTYPES. configure: Build with -Wstrict-prototypes if supported. libport: Remove unnecessary function prototypes. kernel32: Move the 16-bit string functions to kernel16.c. kernel32: Move the 16-bit error functions to error16.c. kernel32: Move the 16-bit synchronization functions to kernel16.c. kernel32: Move the 16-bit debugger functions to kernel16.c. kernel32: Move the 16-bit thread and process functions to kernel16.c. kernel32: Move the 16-bit handle functions to kernel16.c. kernel32: Move the 16-bit PE module functions to kernel16.c. winedos: Don't import kernel 16-bit version functions. kernel32: Move the 16-bit version functions to kernel16.c. kernel32: Fix a couple of compiler warnings on 64-bit. kernel32: Move Get/SetProcessDword to kernel16.c. kernel32: Move the k32 kernel32->user32 helpers to thunk.c. kernel32: Don't export the large integer functions on 64-bit. winex11: Rename the XRENDERINFO type to make it clear it's a pointer. kernel32: Fix handling of overflows in GetPrivateProfileSectionA. kernel32: Reimplement GetPrivateProfileString16 on top of 32-bit functions and move it to file16.c. kernel32: Move the DOS file handle functions to file16.c. kernel32: Move some 16-bit definitions to kernel16_private.h. kernel32: Moved the DeviceIoControl function to file.c. setupapi/tests: Fix the SetupGetIntField test to load the correct key. oleaut32/tests: Skip a test that may crash on Win64. oleaut32: Avoid floating point for some VarCy conversions. rpcrt4/tests: Remove tests for specific values of bit fields. Allan Tong (2): d3d9: Don't release the parent device before destroying its children. d3d8: Don't release the parent device before destroying its children. Andrew Eikum (5): mshtml: Check for null pointers in IHTMLLocation_get*. wininet: Always extract #fragments in InternetCrackUrl. ole32/tests: Add tests for IStorage::CopyTo. ole32: Use snbExclude in StorageImpl::CopyTo. ole32/tests: Add tests for IStorage::CopyTo with SNB exlusions. Andrew Nguyen (6): cmd: Fix copy option handling in batch mode. ddraw/tests: Remove a superfluous return statement. ddraw: Simplify and test DirectDrawEnumerateA. ddraw: Implement and test DirectDrawEnumerateW. ddraw: More fully implement and test DirectDrawEnumerateExA. ddraw: Implement and test DirectDrawEnumerateExW. Andrey Turkin (8): user32: Accept SPI_GET/SETDROPSHADOW parameters in SystemParametersInfo. user32: Accept SPI_GET/SETMOUSEVANISH parameters in SystemParametersInfo. ntdll: Accept ProcessDebugObjectHandle in QueryInformationProcess. kernel32: Catch invalid memory accesses in resource enumeration handlers. kernel32: Always use ANSI version of OutputDebugString. kernel32: Send debug strings to system-wide monitor. ntdll: Handle invalid pointers in NtQueryInformationProcess(ProcessDebugObjectHandle). ntdll: Add stub for NtSetInformationThread(ThreadHideFromDebugger). André Hentschel (4): jscript: Update German translation. widl: Add ARM support. jscript: Update German Translation. libwine: Implemented the call_on_stack function for ARM. Aric Stewart (3): advapi32: Fill the PLSA_REFERENCED_DOMAIN_LIST parameters for LsaLookupNames2 and LsaLookupSids. comctl32: Implement LISTVIEW_ApproximateViewRect for icon. comctl32/tests: LISTVIEW_ApproximateViewRect tests for LV_VIEW_ICON. Aurimas Fišeras (2): jscript: Update Lithuanian translation. jscript: Update Lithuanian translation. Austin English (6): dwmapi: Add a stub for DwmGetTransportAttributes. dwmapi: Add a stub for DwmGetGraphicsStreamClient. comctl32: Add missing prototype. jscript: Add missing prototype. atl: Add missing prototypes. ntdll: Add a stub for NtQuerySystemEnvironmentValue. Chris Robinson (1): openal32: Watch for the generic device names, and map them to the default. Colin Fowler (1): libport: Add generic interlocked instruction support fallback. Damjan Jovanovic (7): sti: Test behavior of creation with the A/W functions versus STI_VERSION_FLAG_UNICODE. sti.h: Define the IStilImageW interface. sti.h: Add some missing defines. wine.inf: Add the still image class key. sti: Add stubs for the IStillImageW interface. sti: Add aggregation tests for the IStillImageW interface. sti: Allow CoCreateInstance aggregation and fix a broken test. Dan Kegel (1): ntdll: Refactor test_NtQueryDirectoryFile to be table driven, check DIRECTORY attribute. Detlef Riekenberg (14): urlmon/tests: Fix sec_mgr tests on win98 (IE 4). localspl: Implement fpConfigurePort. winspool: Use the backend for ConfigurePortW. localspl: Implement fpDeletePort. winspool: Use the backend for DeletePortW. localspl: Unload only portmonitors in monitor_unloadall. localspl: Fix type of a WCHAR buffer. localspl: Implement fpAddPort. winspool: Use the backend for AddPortW. localui: Fix a memory leak. include: Fix the fpAddPortEx prototype in struct PRINTPROVIDOR. localspl: Implement fpAddPortEx. winspool: Use the backend for AddPortExW. fltlib: Add a stub dll. Dmitry Kislyuk (1): kernel32/tests: Pass test on error code returned by Windows 7. Dmitry Timoshkov (1): gdi32: Rework the test for too large width/height font ratio to pass with different font heights, make it pass under Wine. Dylan Smith (5): richedit: Use ITextHost interface in ME_LinkNotify. secur32: Remove redendant call to gnutls_certificate_get_peers. secur32: Free schannel handle table. richedit: Added test to show that handle to parent is cached. richedit: Handle to parent window is cached. Eric Pouech (6): msvcrt: Added __uncaught_exception support. dbghelp: Enhance support for constant values in dwarf debug information. winedbg: Properly manage Wine's dbghelp extensions for constant symbols which value is passed by ref. winmm: Correctly fill the yield-data parameter in mciGetYieldProc. winmm: Remove direct inclusion of winemm.h in winemm16.h. winmm: Reduce in MMSystem the calls to WinMM's internals. Erik Inge Bolsø (1): wininet: Add test for response without headers, avoid crash. Francois Gouget (7): ntdll/tests: Add a trailing '\n' to an ok() call. mshtml: Make HTMLDocumentNode_destructor() static. ws2_32: Make wsaErrno() and wsaHerrno() static. system.drv16: Remove the 32-bit timer callback support. rpcrt4: A signed 1-bit bitfield doesn't make much sense; use unsigned. comctl32/tests: Make test_ApproximateViewRect() static. Assorted spelling fixes. Frédéric Delanoy (2): jscript: Update French translation. jscript: Update French translation. Ge van Geldorp (16): setupapi/tests: Add acceptable error code for Win7. shell32/tests: Fix shellpath test on Win7. comctl32/tests: Fix toolbar test on comctl32 version 4.72. shell32/tests: Fix shlexec on Vista and higher. kernel32/tests: Fix atom tests on Win7. ntdll/tests: Fix atom tests on Win7. comctl32/tests: Fix misc test on Win7. shlwapi/tests: Add acceptable error code for Win7 clist test. kernel32/tests: Add acceptable error codes for Win7 process test. secur32/tests: Add acceptable error code for Win7 ntlm test. user32/tests: Fix sysparams test failure on Win7. schannel/tests: Fix crash on Win7. mapi32/tests: Skip tests if no default email client is installed. ntdll/tests: Fix exception test failure on Win7. kernel32/tests: Skip some resource tests on Win7. kernel32/tests: Check last error before calling lstrcmpA() since it may reset GLE. Gerald Pfeifer (1): winebuild: Add support for PLATFORM_FREEBSD. Hans Leidekker (6): msi: Respect UI level in custom action type 19. msi: Test the Installed property. msi: Don't set the Installed property twice. msi: Test installing over in-use files. msi: Schedule a rename operation when the file to overwrite is in use. secur32: Test passing null authentication data to AcquireCredentialsHandle. Henri Verbeet (51): wined3d: Properly keep texture references in the stateblock. wined3d: Keep vertex declaration references in the stateblock. wined3d: Remove some redundant code in IWineD3DVertexDeclarationImpl_Release(). wined3d: Cleanup IWineD3DDeviceImpl_SetTexture() a bit. wined3d: Just use the actual array size as argument to memcpy() in stateblock_copy(). wined3d: Fix a typo. wined3d: Add a separate function for state block initialization. wined3d: Clear the correct "activeLights" array in stateblock_copy(). wined3d: Pass IWineD3DStateBlockImpl pointers to stateblock_copy(). wined3d: Explicitly pass gl_info to stateblock_savedstates_copy(). wined3d: Explicitly pass gl_info to stateblock_savedstates_set(). wined3d: Make some internal stateblock function arguments const. wined3d: Add a separate function for copying stateblock values. wined3d: Get rid of stateblock_copy(). wined3d: Add a separate function for initializing the "contained_*" fields from the "changed" field. wined3d: Get rid of stateblock_savedstates_copy(). wined3d: Simplify stateblock_savedstates_set(). wined3d: Use stateblock_init_contained_states() for WINED3DSBT_ALL stateblocks. wined3d: Add a separate function to initialize the saved states for WINED3DSBT_PIXELSTATE. wined3d: Use stateblock_init_contained_states() for WINED3DSBT_PIXELSTATE stateblocks. wined3d: Add a separate function to initialize the saved states for WINED3DSBT_VERTEXSTATE. wined3d: Use stateblock_init_contained_states() for WINED3DSBT_VERTEXSTATE stateblocks. wined3d: Fix the values of NUM_SAVEDPIXELSTATES_T and NUM_SAVEDVERTEXSTATES_R. wined3d: Move the pixel/vertex states arrays to stateblock.c. wined3d: Use the actual array sizes to determine the number of the various pixel/vertex states. d3d9: Remove D3D9_RENDER_STATES from the stateblock tests. d3d9: Remove useless typedefs from the stateblock tests. d3d9: Always pass "struct event_data" to "event_fn" in the stateblock tests. d3d8: Always pass "struct event_data" to "event_fn" in the stateblock tests. d3d8: Make the individual stateblock tests responsible for checking data. d3d9: Make the individual stateblock tests responsible for checking data. wined3d: Keep references to the textures initially captured by CreateStateBlock() as well. wined3d: Keep a reference to the vertex declaration initially captured by CreateStateBlock() as well. wined3d: Move the SM1 opcode enum to shader_sm1.c. wined3d: Remove some unused code. d3d8: Get rid of the unused "return_data_buffer" in the stateblock tests. d3d9: Get rid of the unused "return_data_buffer" in the stateblock tests. d3d8: Use separate fields for data to check/apply in the stateblock tests. d3d9: Use separate fields for data to check/apply in the stateblock tests. d3d8: Rename abort_stateblock() to delete_stateblock() in the stateblock tests. d3d8: Rename abort_stateblock() to release_stateblock() in the stateblock tests. d3d8: Don't test D3DRS_DEBUGMONITORTOKEN in the stateblock tests. d3d9: Don't test D3DRS_DEBUGMONITORTOKEN in the stateblock tests. d3d8: Add some tests for CreateStateBlock(). d3d9: Add some tests for CreateStateBlock(). wined3d: Clear resources that we aren't recording in stateblock_init(). wined3d: Capture some more renderstates in vertex and pixel stateblocks. d3d8: Add tests for D3DSBT_VERTEXSTATE stateblocks. d3d9: Add tests for D3DSBT_VERTEXSTATE stateblocks. d3d8: Add tests for D3DSBT_PIXELSTATE stateblocks. d3d9: Add tests for D3DSBT_PIXELSTATE stateblocks. Huw Davies (1): oledb32: Implement conversions to DBTYPE_BYREF | DBTYPE_WSTR. Jacek Caban (51): jscript: Use host global object as default 'this' if available and global object otherwise. mshtml: Added IHTMLDocument3::attachEvent implementation. urlmon.idl: Added IInternetHostSecurityManager and CONFIRMSAFETY declarations. jscript: Added ActiveXObject constructor stub implementation. mshtml: Added ScriptHost IServiceProvider stub implementation. mshtml: Added IInternetHostSecurityManager stub implementation. jscript: Added ActiveXObject constructor implementation. jscript: Added ActiveXObject tests. msxml3: Store pointer to node object in domtext. msxml3: Store xmlnode pointer in domattr. msxml3: Store xmlnode pointer in domcdata. msxml3: Store xmlnode pointer in domcomment. msxml3: Store xmlnode pointer in domfrag. msxml3: Store xmlnode pointer in entityref. msxml3: Store xmlnode pointer in dom_pi. msxml3: Get rid of node internal IUnknown. mshtml: Return HTMLDocumentNode object in ScriptHost::QueryService for SID_SInternetHostSecurityManager. urlmon: Correctly handle pPolicy and pContext arguments in ProcessUrlAction. mshtml: Added IInternetHostSecurity::ProcessUrlAction implementation. urlmon: Improve QueryCustomPolicy stub. urlmon: Added support for URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY. mshtml: Added QueryCustomPolicy implementation. mshtml.idl: Added DispHTMLAnchorElement declaration. mshtml: Moved init_dispex call to HTMLElement_Init. mshtml: Added HTMLAnchorElement dispex data. mshtml: Use dispinterface DISPID_VALUE implementation if available. mshtml: Get rid of no longer needed HTMLLocation_value. mshtml: Added IHTMLAnchorElement::get_href implementation. mshtml: Added IHTMLAnchorElement::get_href tests. mshtml: Use document.defaultView to get iframe contentWindow. mshtml: Added IHTMLDOMNode::cloneNode implementation. jscript: Added FIXME about IClassFactoryEx. mshtml.idl: Moved IHTMLElement dispinterface declaration to macro. mshtml.idl: Moved IHTMLElement2 dispinterface declaration to macro. mshtml.idl: Moved IHTMLElement3 dispinterface declaration to macro. mshtml.idl: Moved IHTMLElement3 dispinterface declaration to macro. mshtml.idl: Moved IHTMLUniqueName dispinterface declaration to macro. mshtml.idl: Moved IHTMLDOMNode dispinterface declaration to macro. mshtml.idl: Moved IHTMLDOMNode2 dispinterface declaration to macro. mshtml.idl: Moved IHTMLDatabinding dispinterface declaration to macro. mshtml.idl: Group common sets of disinterfaces in macros. mshtml.idl: Moved IHTMLElement5 dispinterface declaration to macro and add it to all element types. mshtml.idl: Moved IElementSelector dispinterface declaration to macro and added it to all element types with data. mshtml.idl: Moved IHTMLDOMConstructor dispinterface declaration to macro and add it to all element types. mshtml: Added IHTMLElement2::clientTop implementation. mshtml: Added IHTMLElement2::clientLeft implementation. mshtml: Added IHTMLElement2::client[Top|Left] tests. mshtml: Fixed typo in IHTMLElement2::get_scrollHeight. jscript: Query created ActiveXObject for IObjectWithSite interface. jscript: Call SetSite on created ActiveX object. urlmon: Fixed tests for systems with stored cookie for winehq.org. Jeff Zaroyko (2): imm32/tests: Add another combination which should fail. imm32: dwIndex flags are mutually exclusive. Joel Holdsworth (5): gdi32: Added tests for StretchBlt. gdi32: Added tests for StretchDIBits. comdlg32: Replaced file dialog house icon with the shell icon for desktop. user32: Fixed CURSORICON_CreateIconFromBMI to preserve the alpha channel. comctl32/tests: Added tests for ImageList_DrawIndirect. Juan Lang (17): ntdll/tests: Add tests for process and thread affinity. ntdll: Don't allow setting a zero process affinity. ntdll: Don't allow setting a zero thread affinity. server: Setting a process's affinity sets all of its threads' affinities too. server: Use kernel support for thread affinity when available. kernel32: Set time between interrupts in GetSystemTimeAdjustment. server: A thread's affinity is restricted to the process affinity. wininet: Move initialization of SSL_CTX to library initialization time. wininet: Protect OpenSSL initialization with critical section. wininet: Unload OpenSSL when unloading wininet. wininet: Set callbacks needed by OpenSSL for multithreaded use. wininet: Correct user agent handling. wininet: Quiet a fixme. winhttp: Move initialization of SSL_CTX to library initialization time. winhttp: Protect OpenSSL initialization with critical section. winhttp: Unload OpenSSL when unloading winhttp. winhttp: Set callbacks needed by OpenSSL for multithreaded use. Jörg Höhle (9): ole32/tests: Guard ReleaseStgMedium with SUCCEEDED. winmm: Require at least 16 bytes in the WAVE fmt header for PlaySound. wineoss: Fix the buffer size check for more than 2 channels. winecoreaudio: Accept up to 8 channels. dsound: Get rid of redundant NULL check. winmm/tests: Correct (IMA)ADPCM test. dsound: Enforce invariant about BlockAlign and nAvgBytesPerSec. dsound: Correct deallocations when DuplicateSoundBuffer fails. mcicda: Fix an early return statement in Open. Maarten Lankhorst (4): winealsa.drv: Small capture fixes. winealsa.drv: Add non-mmap support to dscapture. winealsa.drv: Remove test for mmap in waveinit. winealsa.drv: Fix dsoutput to work better with pulseaudio. Marcus Meissner (3): jscript: Initialize val_str (Coverity). mapi32: Fixed uninitialized variable (Coverity). wpp: Fixed resource leakages (Coverity). Markus Stockhausen (2): ole32/storage32: Fix for reference counters in nested storage. ddraw: Set dwBackBufferCount=0 in CreateSurface for backbuffer. Matteo Bruni (7): wpp: Remove the assumption ppy_error calls exit(). wpp: Manage malloc failure in pp_xstrdup. wpp: Handle memory allocation failures in tokens management code. wpp: Handle remaining memory allocation failures in ppl.l and ppy.y. wpp: Handle remaining memory allocation failures. wpp: get_string() now can return NULL, handle it. wpp: Add error management callbacks. Michael Stefaniuc (14): dxdiagn: Remove duplicate include. windowscodecs: Remove trailing '\'. msi/tests: Remove trailing '\'. server: A signed 1-bit bitfield doesn't make much sense; use unsigned. winhttp: 'http1_1' is already defined in the private header. mapi32: Use 0 instead of (wrongly) casting NULL to an integer. comctl32/tests: Silence some Win64 compile warnings. user32/tests: Use LONG instead of long. oleaut32/tests: Use LONG instead of long. kernel32/tests: Use better types than long. ws2_32/tests: Use LONG instead of long. dlls/msacm32: Avoid a sizeof()+cast in an ok() call. user32: Fix a memory leak on a error patch (Smatch). msvcrt/tests: Use LONG instead of long. Mike Kaplinskiy (1): ws2_32/tests: fix failure on win98/me. Nikolay Sivov (64): comctl32/monthcal: Copy SYSTEMTIME with a simple assignment. comctl32/monthcal: Make tests not depend on each other. comctl32/monthcal: Store full date info for selection at creation time. comctl32/monthcal: Fix some bugs with date range. comctl32/monthcal: Make year edit box readonly, cleanup LButton handler to be more readable. comctl32/monthcal: Gather currently selected year and month into a single structure. comctl32/monthcal: Store full date info to current date on todaylink with LButton. comctl32/monthcal: Properly handle Goto Today popup menu (on RButton). comctl32/monthcal: Fix memory leak on MCN_GETDAYSTATE notification. comctl32/monthcal: Move MCN_GETDAYSTATE notification to a helper. comctl32/monthcal: Prevent configured range exceeding with prev/next buttons. comctl32/monthcal: Fix timestamp storing on MCM_SETRANGE/MCM_SETSELRANGE. comctl32/monthcal: Add parameter validation to MCM_HITTEST handler. comctl32/monthcal: Right button should trigger a popup menu on release. comctl32/monthcal: Months popup menu should be placed at current pointer position. comctl32/monthcal: Use a single calendar for hittesting tests, make point calculation at runtime. comctl32/monthcal: Minimal rectangle should be zero based. comctl32/monthcal: Control elements should be centered in client area, and left/top aligned if they don't. comctl32/updown: Fix some test failures on Win95 (comctl32 4.0). comctl32/monthcal: Fix locale dependent test failure. comctl32/monthcal: Fix hittesting for MCHT_CALENDARDATEPREV/MCHT_CALENDARDATENEXT cases. comctl32/monthcal: Make prev/next month day a current selection on LButton release. comctl32/monthcal: Move selection logic to LButton release handler, fix notifications order. comctl32/datetime: If we already have a 4 digit year reset it on first char typed. comctl32/monthcal: Respect locale abbreviated day names when calculating control dimensions. comctl32/datetime: Separate tests from each other. comctl32/datetime: Some DTM_SETSYSTEMTIME tests. comctl32/datetime: Always store a recalculated day of week instead of a value passed in (DTM_SETSYSTEMTIME). comctl32/datetime: Use SDK defined class name instead of another local constant. comctl32/monthcal: Don't request locale data when it isn't needed. comctl32/monthcal: No need to redraw if month didn't change after popup menu. comctl32/monthcal: Move MCN_SELCHANGE/MCN_SELECT notifications to helpers. comctl32/monthcal: Changing MCS_MULTISELECT isn't allowed after creation, set default value properly. comctl32/monthcal: Fix parameter validation in MCM_SETMAXSELCOUNT handler. comctl32/monthcal: Drop exstyle parameter, it isn't used. comctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_VISIBLE flag, single calendar control only. comctl32/monthcal: Handle mouse pointer followed focus rectangle more accurately. comctl32/monthcal: Use true date comparison on multiselection, not only the day is valuable. comctl32/monthcal: Check range limits in MCM_SETCURSEL. comctl32/monthcal: Parameter fixes for MCM_SETSELRANGE handler: swap selection bounds, store day of week. comctl32/monthcal: Check configured selection range max width in MCM_SETSELRANGE handler. comctl32/monthcal: Simplify WM_MOUSEMOVE handler. comctl32/monthcal: Remove today rectangle and focus drawing code from loops. comctl32/monthcal: Check date limits on prev/next month buttons and year UpDown control. comctl32/monthcal: Fix parameter validation in MCM_SETCURSEL handler. ole32: Check source pointer in StringFromGUID2. comctl32/monthcal: Fix '&->&&' typo in focused day helper. comctl32/monthcal: Use a single timer for auto month scroll with prev/next buttons. comctl32/monthcal: Use a timer to auto update today date memory. comctl32/monthcal: Fix a nice typo in test message. comctl32/monthcal: Optimize WM_LBUTTONUP handler. comctl32/monthcal: Update day of week properly while iterating with prev/next buttons and hit testing. comctl32/monthcal: Recalculate control layout on MCS_WEEKNUMBERS style change. comctl32/monthcal: Invalidate unconditonally on MCM_SETFIRSTDAYOFWEEK. comctl32/monthcal: Cleanup top drawing helper namespace, reduce parameter count in prev/next draw helpers. comctl32/monthcal: Fix the way a first day of week is handled. comctl32: Use user32 control names from public header constants instead of defining over and over again. comctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_DAYSTATE flag and a single calendar control. comctl32/datetime: Block WM_SETTEXT message. comctl32/datetime: Properly handle hit on separators and empty control area. comctl32/datetime: Fix selections painting - use text rectangle, not whole field. comctl32/monthcal: Really use locale data for all days. comctl32/datetime: Use locale data to compute field widths for day and month. comctl32/datetime: Draw field text horizontally centered. Owen Rudge (13): mapi32: Pass DllGetClassObject through to Extended MAPI provider. comctl32: Implement highlighting (marquee) selection support in listview. mapi32: Add stub of Extended MAPI wrapper for MAPISendMail. include: Add MAPI_USE_DEFAULT and MDB_NO_DIALOG definitions to mapidefs.h. mapi32: Log on via Extended MAPI and get the default message store. include: Add IMsgStore definition. include: Add definitions for IMAPIContainer, IMAPIFolder, IMessage. mapi32: Open the Drafts folder in preparation for creating a message. mapi32: Create new message and show editor window. include: Add IAttach interface to mapidefs.h. mapi32: Add attachment support to sendmail_extended_mapi. comctl32: Capture the mouse when performing a listview marquee selection. comctl32: Ensure coordinates are valid during listview marquee selection. Paul Vriens (25): gdiplus/tests: Fix some test failures on older gdiplus versions. jscript: Add some Dutch translations. kernel32/tests: Fix some test failures on WinMe. include: Add an error code. user32/tests: Don't crash on Win9x/WinMe/NT4. comctl32/tests: Fix some test failures. msi/tests: Skip some tests on Win9x/WinMe. setupapi/tests: Don't crash on WinMe. secur32/tests: Skip some tests on WinMe to avoid a crash. fltlib: Add a stub for FilterConnectCommunicationPort. comctl32/tests: Fix some test failures on older comctl32 versions. comctl32/tests: Fix some test failures (MCM_SETRANGE and MCM_GETRANGE). comctl32/tests: Fix some test failures (MCM_SETCURSEL and MCM_GETCURSEL). comctl32/tests: Fix some test failures (MCM_SETUNICODEFORMAT and MCM_GETUNICODEFORMAT). comctl32/tests: Fix some test failures (MCM_GETSELRANGE). user32/tests: Fix some test failures with 9x/Me on VMware. kernel32/tests: Don't crash on WinMe. setupapi/tests: Cleanup after SetupCopyOEMInf() tests. comctl32/tests: Fix some test failures on older comctl32 versions. ddraw/tests: Fix some test failures on WinME/VMware. user32/tests: Skip some tests on Win9x/WinMe. shell32/tests: Fix some test failures on WinMe (FO_COPY). shell32/tests: Fix some test failures on WinMe (SHPathPrepareForWrite). shell32/tests: Fix remaining failures on WinMe. setupapi/tests: Fix some test failures on Win98. Peter Dons Tychsen (2): user32: Add exception handling for timer callbacks. cmd: Fix handling of quotes when line includes redirections and/or pipes. Peter Oberndorfer (9): shlwapi: Fix spec file for some unicode functions. shlwapi: Fix prototype of SHCreateMemStream. shlwapi: Implement IStream::Stat for registry/memory streams. shlwapi: Fix logic of SHCreateMemStream in combination with NULL pointers. shlwapi: Fix IStream::Read for reg/mem stream. shlwapi: Implement IStream::Write, Seek and SetSize. shlwapi: Remove pointer check in IStream::Clone, it also crashes on Windows. shlwapi: Allow SHOpenRegStream2 A/W to work with not existing values. shlwapi: Write back data to registry when closing reg stream. Piotr Caban (5): jscript: Added Global.escape() implementation. jscript: Added some missing functions stubs. jscript: Added Date.toGMTString implementation. jscript: Fix implementation of Global.escape. jscript: Fixed escaped characters processing. Rein Klazes (1): comdlg32: Make explorer type file dialogs without custom template or hook proc resizable. Rico Schüller (18): d3d10: Rename ConstantBuffer's variable to member. d3d10: Add the D3D10_CBUFFER_TYPE enum. d3d10: Parse constant buffer type. d3d10: Make the constant buffer a variable. d3d10: Forward ID3D10EffectVariable functions from ID3D10EffectConstantBuffer to ID3D10EffectVariable. d3d10: Implement ID3D10EffectType::GetMemberName(). d3d10: Implement ID3D10EffectType::GetMemberSemantic(). d3d10: Improve ID3D10EffectType::GetMemberName(). d3d10: Add null_type. d3d10: Implement ID3D10EffectType::GetMemberTypeByIndex(). d3d10: Implement ID3D10EffectType::GetMemberTypeByName(). d3d10: Implement ID3D10EffectType::GetMemberTypeBySemantic(). d3d10: Implement ID3D10EffectVariable::GetMemberByIndex(). d3d10: Implement ID3D10EffectVariable::GetMemberByName(). d3d10: Implement ID3D10EffectVariable::GetMemberBySemantic(). d3d10: Remove double declared variable in parse_fx10_variable(). d3d10/tests: Add constant buffer type test. d3d10/tests: Add variable type test. Roderick Colenbrander (2): winex11: Add support for 16-bit/32-bit DIB sections. winex11: Move XRENDERINFO allocation in a separate function. Stefan Dösinger (13): wined3d: Don't use GL_NV_texture_shader on OSX. wined3d: Test if result.clip[] works correctly. wined3d: Fix an error string. wined3d: Fix a contradicting comment. wined3d: Fix vs_2_0 sgn. d3d9: Test viewports that are bigger than the surface. wined3d: SetRenderTarget doesn't change the viewport in d3d7. wined3d: SetRenderTarget bypasses stateblock recording. wined3d: SetRenderTarget resets the scissor rect. d3d9: Reduce the YUV test precision. wined3d: Don't write to result.color in arb_add_sRGB_correction. wined3d: Split the clip_parameters[2] array. wined3d: Don't reserve clipping constants needlessly. Stefan Leichter (1): kernel32: Check parameter of CheckRemoteDebuggerPresent with tests. Vincent Povirk (25): user32: Invert y in DrawTextEx in GM_COMPATIBLE mode if y increases up. ole32: We do need to implement Commit/Revert for non-root storage. ole32/tests: Test substorages of transacted storage objects. ole32/tests: Add test for IStorage::Revert. ole32/tests: Add test for non-root transacted storage objects. ole32: Remove useless comments. include: Add gdiplus hatch brush functions to headers. gdiplus: Use gdi texture brushes to draw hatch brushes. gdiplus: Add some hatch brushes not present in gdi. windowscodecs: Implement GetResolution for the PNG decoder. windowscodecs: Support more formats in the BMP encoder. windowscodecs: Add test for BMP encoder. windowscodecs: Add stub PNG encoder. windowscodecs: Implement Initialize for the PNG encoder. windowscodecs: Implement CreateNewFrame for the PNG encoder. windowscodecs: Implement Initialize for the PNG frame encoder. windowscodecs: Implement SetPixelFormat for the PNG encoder. windowscodecs: Implement SetSize for the PNG encoder. windowscodecs: Implement SetResolution for the PNG encoder. windowscodecs: Implement WritePixels for the PNG encoder. windowscodecs: Implement WriteSource for the PNG encoder. windowscodecs: Implement Commit for the PNG frame encoder. windowscodecs: Implement Commit for the PNG encoder. windowscodecs: Add test for PNG encoder. gdiplus: Enable encoding of PNG images. Vladimir Pankratov (1): jscript: Update Russian translation. Wilfried Pasquazzo (2): user32/tests: DrawState: New test case for correct drawing of icons. user32: DrawState always uses real icon size for drawing. Wim Lewis (2): winex11: Font metric cache file cleanups. winex11: Fix font metric cache filename generation. -- Alexandre Julliard julliard@winehq.org