| This is release 0.9.30 of Wine, a free implementation of Windows on Unix. | 
 |  | 
 | What's new in this release: | 
 |   - Many improvements to Direct3D shaders and state management. | 
 |   - Support for inter-process memory allocations. | 
 |   - OLE32 marshalling fixes. | 
 |   - Lots of bug fixes. | 
 |  | 
 | Because of lags created by using mirrors, this message may reach you | 
 | before the release is available at the public sites. The sources will | 
 | be available from the following locations: | 
 |  | 
 |   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.30.tar.bz2 | 
 |   http://prdownloads.sourceforge.net/wine/wine-0.9.30.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 or CVS | 
 | repositories. Check respectively http://www.winehq.org/site/git or | 
 | http://www.winehq.org/site/cvs for details. | 
 |  | 
 | If you fix something, please submit a patch; instructions on how to do | 
 | this can be found at http://www.winehq.org/site/sending_patches | 
 |  | 
 | Wine is available thanks to the work of many people. See the file | 
 | AUTHORS in the distribution for the complete list. | 
 |  | 
 | ---------------------------------------------------------------- | 
 |  | 
 | Changes since 0.9.29: | 
 |  | 
 | Alasdair Sinclair (1): | 
 |       msvcrt: If we're at EOF in the buffer and we have pattern %n in format string we should not count the EOF in the total. | 
 |  | 
 | Alexandre Julliard (79): | 
 |       wrc: Added support for utf-8 codepage. | 
 |       ntdll/tests: Don't bother testing the port functions if creating the port failed. | 
 |       ntdll/tests: Fix exception test for CPUs that do segment limit checks differently. | 
 |       winealsa: Renamed the dlls/winmm/winealsa directory to dlls/winealsa.drv. | 
 |       winearts: Renamed the dlls/winmm/winearts directory to dlls/winearts.drv. | 
 |       wineaudioio: Renamed the dlls/winmm/wineaudioio directory to dlls/wineaudioio.drv. | 
 |       winecoreaudio: Renamed the dlls/winmm/winecoreaudio directory to dlls/winecoreaudio.drv. | 
 |       wineesd: Renamed the dlls/winmm/wineesd directory to dlls/wineesd.drv. | 
 |       winejack: Renamed the dlls/winmm/winejack directory to dlls/winejack.drv. | 
 |       winenas: Renamed the dlls/winmm/winenas directory to dlls/winenas.drv. | 
 |       wineoss: Renamed the dlls/winmm/wineoss directory to dlls/wineoss.drv. | 
 |       make_makefiles: Get rid of the rules for dll symlinks. | 
 |       ntdll: Compute the wait timeout only once in NTDLL_wait_for_multiple_objects. | 
 |       ntdll: Only return STATUS_USER_APC from a wait if a real user APC has been run. | 
 |       ntdll: Make sure that critical section waits are not interrupted. | 
 |       server: Allow suspended threads to run system APCs. | 
 |       preloader: Remove reserved ranges that we failed to allocate. | 
 |       preloader: Added printf format checking and fix some formats. | 
 |       ntdll: Moved the check for removable file in load_dll to the server. | 
 |       ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection. | 
 |       ntdll: Fix handling of 64-bit sizes in NtMapViewOfSection. | 
 |       ntdll: Make the virtual.c critical section uninterruptible by signals. | 
 |       server: Set the specified in/out buffer sizes on named pipes using SO_SND/RCVBUF. | 
 |       oleaut32/tests: Replace some macros by functions to reduce code size and compile time. | 
 |       loader: Fix git-describe invocation to work with old git versions. | 
 |       kernel32: Use the proper codepage for console functions. | 
 |       server: Properly wake the waiting threads when an APC is cancelled. | 
 |       server: Added mechanism for returning results of APC calls. | 
 |       server: Support queuing some APCs to a process instead of a thread. | 
 |       ntdll: Implementation of inter-process VirtualAllocEx and VirtualFreeEx. | 
 |       ntdll: Implementation of inter-process VirtualQueryEx. | 
 |       ntdll: Implementation of inter-process VirtualProtectEx. | 
 |       ntdll: Implementation of inter-process NtFlushVirtualMemory. | 
 |       ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory. | 
 |       wmc: Added support for neutral languages. | 
 |       msvcrt: Export various locale and codepage variables. | 
 |       wmc: Use standard format for error messages. | 
 |       ntdll: Added a missing chunk in the NtLockVirtualMemory support. | 
 |       ntdll: Avoid heap allocation in fd cache. Fixed a couple of races. | 
 |       ntdll: Fix NtDuplicateObject to only close the file descriptor if it's in the same process. | 
 |       ntdll: Make the fd cache section an uninterruptible section. | 
 |       ntdll: Avoid heap allocations during thread creation. | 
 |       ntdll: Make the server signal mask global. | 
 |       ntdll: Block async signals during process init and thread creation. | 
 |       server: Print a trace when sending a signal to a thread. | 
 |       winecoreaudio.drv: Fix printf format warnings. | 
 |       ntdll: Move the LDT section to ntdll and make it an uninterruptible section. | 
 |       ntdll: Abuse RtlCreateUserThread to call the thread function for CreateThread directly. | 
 |       ntdll: Implementation of inter-process RtlCreateUserThread. | 
 |       ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. | 
 |       ntdll: Get rid of the no longer used is_current_process function. | 
 |       ntdll: Avoid inter-process APCs when called for the process itself. | 
 |       Make.rules: Pass all idl source files to makedep. | 
 |       widl: Generate proxy/client/server files when requested explicitly even if they are empty. | 
 |       rpc.h: Include excpt.h, and windef.h in Wine so that the header compiles. | 
 |       widl: Include objbase.h so that generated proxy file compiles on Wine. | 
 |       sfc: We need to import sfc_os for the forwards to work properly. | 
 |       dinput: Undefine SW_MAX to avoid possible conflicts with winuser.h. | 
 |       wine/list.h: Add list_count function. Make some parameters const. | 
 |       widl: Use existing functions to retrieve attributes for typelibs. | 
 |       widl: Convert typelib lists to standard Wine lists. | 
 |       widl: Convert attribute lists to standard Wine lists. | 
 |       widl: Convert interface lists to standard Wine lists. | 
 |       widl: Convert function lists to standard Wine lists. | 
 |       widl: Convert variable lists to standard Wine lists. | 
 |       widl: Convert expression lists to standard Wine lists. | 
 |       make_makefiles: Ignore IDL_H_SRCS targets in all directories. | 
 |       oleaut32/tests: Add tmarshal test. | 
 |       oleaut32/tests: Fix the FSF address. | 
 |       ntdll: Properly handle embedded nulls in NTDLL_dbg_vprintf. | 
 |       include: Simplify the variable declarations in the makefile to allow make_makefiles to parse it. | 
 |       widl: Move support for stub arguments to typegen.c to make it usable for proxies too. | 
 |       widl: Move initialization of the stub buffer size into write_remoting_arguments(). | 
 |       widl: Export a function to compute the proc format string size for a function. | 
 |       widl: Skip local functions when building format strings. | 
 |       widl: Fix possible crash in write_array_tfs. | 
 |       widl: Fix alignment check for struct members format string. | 
 |       widl: Store the interface id in _StubMsg.MaxCount for iid_is pointers. | 
 |       widl: Add support for some simple pointer types. | 
 |  | 
 | Anatoly Lyutin (5): | 
 |       kernel32: Add details in description function MultiByteToWideChar and WideCharToMultiByte. | 
 |       wineconsole: Add support for non-latin symbols with curses. | 
 |       kernel32: Add comment for  GetConsoleWindow. | 
 |       cmd: Remove incorrect return in WCMD_if(). | 
 |       cmd: In function WCMD_goto() changed strcmp() to lstrcmpi(). | 
 |  | 
 | Andrew Talbot (33): | 
 |       imaadp32.acm: Remove unused function. | 
 |       itss: Declare a function static. | 
 |       kernel32: Declare some functions static. | 
 |       msg711.acm: Remove unused function. | 
 |       msadp32.acm: Remove unused function. | 
 |       itss: Remove unused variable and associated dead code. | 
 |       msdmo: Declare a function static. | 
 |       mpr: Declare a variable static. | 
 |       mshtml: Declare a variable static. | 
 |       msacm32: Declare some variables static. | 
 |       msi: Remove unused variables. | 
 |       msi: Declare some functions static. | 
 |       msrle32: Declare some functions static. | 
 |       msxml3: Remove unused functions. | 
 |       msvcrt: Declare some items static. | 
 |       ntdll: Remove unused function. | 
 |       oleaut32: Remove unused items. | 
 |       msvcrt: Move static function from header into file where it is called. | 
 |       shell32: Remove unused variable. | 
 |       netapi32: Declare a variable static. | 
 |       objsel: Declare a variable static. | 
 |       ole32: Declare some functions static. | 
 |       odbc32: Declare a function static. | 
 |       oleaut32: Declare some items static. | 
 |       oledlg: Declare a function static. | 
 |       shlwapi: Uninitialized variable fix (Coverity). | 
 |       dmime: Remove unused variable. | 
 |       qcap: Fix a typo. | 
 |       qcap: Declare some items static. | 
 |       quartz: Declare a function static. | 
 |       riched20: Declare some functions static. | 
 |       rpcrt4: Declare some functions static. | 
 |       rsaenh: Declare some functions static. | 
 |  | 
 | Bang Jun-Young (6): | 
 |       advpack/tests: Fix typo. | 
 |       objbase.h: Fix typo in comment. | 
 |       winbase.h: Cosmetic changes. | 
 |       advapi32: Do not include unnecessary headers. | 
 |       msxml3: config.h police. | 
 |       wineoss.drv: config.h police. | 
 |  | 
 | Bill Medland (5): | 
 |       odbccp32: Add tests structure. | 
 |       odbccp32: Implement SQLInstallerError(W). | 
 |       odbccp32: Implement SQLGetInstalledDrivers. | 
 |       odbccp32: Remove A->W cross-call. | 
 |       odbccp32: Implement SQLGet/SetConfigMode. | 
 |  | 
 | Christoph Frick (6): | 
 |       dinput: Rename 'axe' to 'axis'. | 
 |       dinput: Use a struct ObjProps for the config of the device. | 
 |       dinput: Move the config for the buttons from the JoyDev into the JoystickImpl. | 
 |       dinput: Add a config for the axes. | 
 |       dinput: No longer check for value exceeding have(min|max) in map_axis. | 
 |       dinput: Calc more caps infos ahead and store it in JoystickImpl. | 
 |  | 
 | Clinton Stimpson (2): | 
 |       riched20: Fix modification state for several operations. | 
 |       riched20: Fix crash undoing a paste. | 
 |  | 
 | Detlef Riekenberg (20): | 
 |       winspool: Support monitors without a name. | 
 |       winspool: Support Xcv for ConfigurePortW. | 
 |       comdlg32: Move GetFileTitle(A/W/16) to filedlg.c, filedlg16.c. | 
 |       winspool/tests: Use a more generic name for a variable. | 
 |       winspool: Support xcv in DeletePortW. | 
 |       winspool: Support xcv in AddPortW. | 
 |       winspool: Improve trace for ClosePrinter. | 
 |       winspool: More error checks for XcvDataW. | 
 |       winspool/tests: Fix tests for EnumPrinters when the spooler is off. | 
 |       localspl/tests: Extend test for XcvDataPort_MonitorUI. | 
 |       localspl/tests: Add test for XcvDataPort_PortIsValid. | 
 |       localspl: Implement XcvOpenPort and XcvClosePort. | 
 |       localspl: Implement XcvDataPort. | 
 |       localspl: Implement PortIsValid for XcvDataPort. | 
 |       sfc_os: Add stub for sfc_os.dll. | 
 |       sfc: Forward SfcIsFileProtected to sfc_os.dll. | 
 |       kernel32/tests: Fix a declaration and use skip for the message. | 
 |       kernel32/tests: VirtualAllocEx not present in Win95. | 
 |       kernel32/tests: GetVolumeNameForMountPoint not present before w2k. | 
 |       winspool: Make fixme for PRINTER_ENUM_CONNECTIONS more silent. | 
 |  | 
 | Dmitry Timoshkov (18): | 
 |       winex11.drv: Force the fullscreen state update once the window is mapped. | 
 |       kernel32: Do not forget to cleanup if the test is skipped. | 
 |       wineconsole: Make some data const. | 
 |       wineconsole: Use CP_UNIXCP to translate strings to the system encoding. | 
 |       wineconsole: Fix a typo in the help message about correct backend names. | 
 |       gdi32: Print status of the hinting support in the debug log. | 
 |       user32: Add a simple DrawState test, make it pass under Wine. | 
 |       wined3d: Do not play with WS_VISIBLE, this causes unwanted mapping/unmapping of the window. | 
 |       winex11.drv: Fix the typos in the fullscreen state debug trace. | 
 |       user32: Remove MDI_AugmentFrameMenu call from WM_MDICREATE handler. | 
 |       user32: Simplify some maximized MDI child checks. | 
 |       user32: Remove redundant visibility checks of a maximized MDI child, add an explanation why we do that. | 
 |       user32: Some apps pass a color bitmap as a mask to CreateIconIndirect, convert it to b/w. | 
 |       comctl32: Fix the updown control test to pass under XP. | 
 |       gdi32: Add a GetDIBits test. | 
 |       gdi32: Add a simple SelectObject test for bitmaps. | 
 |       user32: Using DIB APIs to convert a DDB to monochrome is wrong, do it differently. | 
 |       user32: Do not use DIB APIs for bitmap bits in a device dependent format. | 
 |  | 
 | Duane Clark (1): | 
 |       treeview: Fix horizontal scrolling. | 
 |  | 
 | Eric Pouech (3): | 
 |       winedump: Fixed signature for dumping MDMP files. | 
 |       dbghelp: Removed unneeded code from rewrite of .gnu_link handling. | 
 |       msvcrt: Fix the internal flag computation for _open_osfhandle. | 
 |  | 
 | Felix Nawothnig (2): | 
 |       kernel32: Forward CopyLZFile() to LZCopy() instead of wrapping it. | 
 |       comctl32: Degrade ERR to WARN. | 
 |  | 
 | Francois Gouget (36): | 
 |       wininet: Consistenly use INTERNET_SetLastError(). | 
 |       uninstaller: Add a Portuguese translation (contributed by Americo Jose Melo). | 
 |       wine.inf: We cannot create fake dlls for 16bit libraries. So remove ddeml.dll. | 
 |       rpcrt4: Give a proper name to some formerly reserved MIDL_STUB_MESSAGE fields. | 
 |       winmm/tests: Replace some '#if 0's with 'if (0)'s. | 
 |       dsound/tests: Replace some '#if 0's with 'if (0)'s. | 
 |       dsound/tests: The tests link with dsound.dll so use GetModuleHandle() instead of LoadLibrary(). | 
 |       dsound/tests: Replace some '#if 0's with 'if (0)'s. | 
 |       tests: Add skip(), a function to warn that tests were skipped due to limitations of the environment or missing dependencies. | 
 |       d3d9/tests: Warn that tests were skipped if we could not load d3d9.dll. | 
 |       d3d8/tests: Warn that tests were skipped if we could not load d3d8.dll. | 
 |       xrandr: Small X11DRV_XRandR_(Get|Set)CurrentMode() code optimisations. | 
 |       odbccp32/tests: Add missing '\n' to an ok() call. | 
 |       tests: The non-gcc case was missing a forward declaration for winetest_skip(). | 
 |       winspool.drv: Reorder a couple of functions and remove the forward declarations. | 
 |       d3d: Fix the D3DFMT_XXX constant declarations. | 
 |       localspl: Remove unneeded cast. | 
 |       usp10/tests: Use '%u' to print GetLastError(). | 
 |       secur32: Use '%u' to print GetLastError(). | 
 |       mcicda: Use '%u' to print GetLastError(). | 
 |       ntdll/tests: Use '%u' to print GetLastError(). | 
 |       winspool.drv: Use '%u' to print GetLastError(). | 
 |       winmm/tests: Use '%u' to print GetLastError(). | 
 |       shell32: There is no need to check strings for NULL when using debugstr_w(). | 
 |       Don't put single quotes around '%s' when using the debugstr_*() functions. | 
 |       Assorted spelling fixes. | 
 |       shell32/tests: Add some more SHGetFileInfo() tests. | 
 |       shell32: Add proper support for SHGetFileInfo(SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES). | 
 |       oleaut32/tests: Fix compilation on systems that don't support nameless structs (e.g. gcc 2.95). | 
 |       snmpapi: SnmpUtilDbgPrint() is a vararg and not an stdcall function. | 
 |       snmpapi: Add a missing '\n' trace. | 
 |       dbghelp: Fix the spec file to better match the SymGetSymFromAddr64() prototype. | 
 |       shell32: SHLoadNonloadedIconOverlayIdentifiers() is a WINAPI function. | 
 |       mscoree: _CorValidateImage() is a WINAPI function. | 
 |       sfc_os: Add a prototype for SfcIsKeyProtected(). | 
 |       sfc_os: Update win32.api to fix the winapi_check warnings. | 
 |  | 
 | Frank Richter (2): | 
 |       dbghelp: Split gnu_debuglink handling into own function. | 
 |       dbghelp: Search for .gnu_debuglink file. | 
 |  | 
 | H. Verbeet (61): | 
 |       wined3d: Add a comment about D3D write masks and GLSL destination swizzles. | 
 |       wined3d: Split shader_glsl_add_param() in shader_glsl_add_src_param() and shader_glsl_add_dst_param(). | 
 |       wined3d: Return the (binary) write mask from shader_glsl_add_dst_param(). | 
 |       wined3d: Fixup the write mask for gl_FogFragCoord and gl_PointSize. | 
 |       05/49: wined3d: Only add line numbers for new lines in shader_addline(). | 
 |       wined3d: Rename shader_glsl_add_dst() to shader_glsl_add_dst_old(), add shader_glsl_append_dst(). | 
 |       wined3d: Pass a mask to shader_glsl_add_src_param(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_get_register_name(). | 
 |       wined3d: Rewrite shader_glsl_sincos() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_arith() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_mad() to properly take the write mask into account. | 
 |       wined3d: Move WINED3DSIO_SGE & WINED3DSIO_SLT from shader_glsl_map2gl() to shader_glsl_compare() where they belong. | 
 |       wined3d: Give WINED3DSIO_CRS its own function, properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_map2gl() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_dot() to properly take the write mask into account. | 
 |       wined3d: Rewrite pshader_glsl_dp2add() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_mov() to properly take the write mask into account. | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_lit(). | 
 |       wined3d: Rewrite shader_glsl_lrp() to properly take the write mask into account, use the GLSL mix instruction. | 
 |       wined3d: Rewrite shader_glsl_cmp() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_cnd() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_expp() to properly take the write mask into account. | 
 |       wined3d: Rewrite shader_glsl_rcp() to properly take the write mask into account. | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_dst(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texreg2ar. | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texreg2gb(). | 
 |       wined3d: Split out getting the sample function and coordinate mask from shader_glsl_sample(). | 
 |       wined3d: Rewrite pshader_glsl_texreg2rgb to properly take the write mask into account. | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texdp3tex(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texdp3(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2depth(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2pad(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3pad(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2tex(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3tex(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3spec(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3vspec(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_loop(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_rep(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_if(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_ifc(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_breakc(). | 
 |       wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_callnz(). | 
 |       wined3d: Fix pshader_glsl_tex() and pshader_glsl_texcoord(). | 
 |       wined3d: Simplify shader_glsl_get_swizzle(). | 
 |       wined3d: Simplify shader_glsl_get_write_mask(). | 
 |       wined3d: Add a glsl_dst_param_t type, pass it to shader_glsl_add_dst_param() instead of three separate character arrays. | 
 |       wined3d: Add a glsl_src_param_t type, pass it to shader_glsl_add_src_param() instead of three separate character arrays. | 
 |       wined3d: Don't set Parm when isDiffuseSupplied is FALSE in state_colormat(), it isn't used anyway. | 
 |       wined3d: When switching color material, apply the material we were previously tracking. | 
 |       wined3d: Fix a typo. | 
 |       wined3d: Give shader constants their own debug channel. | 
 |       wined3d: Use %s in trace. | 
 |       wined3d: Move SetupFullscreenWindow() and RestoreWindow() from IDirectDrawImpl to IWineD3DDeviceImpl. | 
 |       wined3d: Use SetupFullscreenWindow() to make the window fullscreen. | 
 |       wined3d: gl_FragDepth is a float, so fixup the write mask. | 
 |       wined3d: The sincos instruction is valid for ps/vs 2.1 as well. | 
 |       wined3d: Use ARB_VERTEX_PROGRAM instead of GL_VERTEX_PROGRAM_ARB with GL_SUPPORT. | 
 |       wined3d: Remove the d3d9types.h include from wined3d_private.h. | 
 |       wined3d: Remove some unused methods from the IWineD3DVertexShader interface. | 
 |  | 
 | Hans Leidekker (16): | 
 |       usp10: Initialise the caller supplied ABC structure in ScriptPlace. | 
 |       snmpapi: Implement SnmpUtilOidCpy, SnmpUtilOidFree and SnmpUtilVarBindFree. | 
 |       snmpapi: Add some missing APIs to the spec file. | 
 |       snmpapi: Implement SnmpUtilMem{Alloc,Free,ReAlloc}. | 
 |       snmpapi: Implement SnmpUtilVarBindCpy. | 
 |       snmpapi: Implement SnmpUtilVarBindList{Cpy,Free}. | 
 |       mlang: Implement IMultiLanguage::GetCodePageInfo. | 
 |       snmpapi: Implement SnmpUtilAsnAny{Cpy,Free}. | 
 |       snmpapi: Implement SnmpUtilOctets{Cmp,Cpy,Free,NCmp}. | 
 |       snmpapi: Implement SnmpUtilOid{Append, Cmp, NCmp}. Fix SnmpUtilOid{Cpy, Free}. | 
 |       snmpapi: Implement SnmpUtil{DbgPrint, IdsToA, OidToA, PrintAsnAny, PrintOid}. | 
 |       snmpapi: Add a bunch of tests. | 
 |       snmpapi: Add tests for SnmpUtilVarBind{, List}{Cpy, Free}. Make them pass. | 
 |       usp10: Remove duplicate font selection code from the tests. | 
 |       usp10: Move text metrics into the script cache. Start using accessor functions. | 
 |       usp10: Document ScriptPlace and ScriptShape. | 
 |  | 
 | Harry McNally (1): | 
 |       ntdll: Add Western Australia Summer Time. | 
 |  | 
 | Huw Davies (2): | 
 |       rpcrt4: Implement NdrSimpleType{Marshall,Unmarshall}. | 
 |       oleaut32: The typelib version numbers should be written to the registry in hex. | 
 |  | 
 | Hwang YunSong(황윤성) (1): | 
 |       wineconsole: Updated Korean resource . | 
 |  | 
 | Jacek Caban (14): | 
 |       urlmon: Code clean up. | 
 |       urlmon: Added mk protocol stub implementation. | 
 |       urlmon: Added mk protocol implementation. | 
 |       itss: Return S_FALSE in IStream::Read if there is no more data to read. | 
 |       itss: Close chm file when destroying Storage. | 
 |       itss: Added more protocol tests. | 
 |       mshtml: Fixed protocol tests on IE7. | 
 |       urlmon: Added IInternetSession::CreateBinding beginning implementation. | 
 |       urlmon: Added IInternetPriority interface to BindProtocol. | 
 |       urlmon: Added IInternetProtocolSink interface to BindProtocol. | 
 |       urlmon: Return CLSID from get_protocol_handler. | 
 |       urlmon: Added beginning BindProtocol implementation. | 
 |       urlmon: Added CreateBinding test. | 
 |       urlmon: Added BindProtocol's IInternetPriority implementation. | 
 |  | 
 | James Hawkins (7): | 
 |       comctl32: Rewrite the up-down control tests to add message checking. | 
 |       advpack: Fill the output buffer to workaround a bug in IE7s advpack. | 
 |       winedbg: Check buffer for NULL before writing to it. | 
 |       winspool.drv: Check for get_filename failure. | 
 |       mshtml: Use the correct variable in the FIXME. | 
 |       oleaut32: Initialize nrofnames to keep from freeing unused memory in the error case. | 
 |       advapi32: Add tests for RegQueryValue. | 
 |  | 
 | Jan Zerebecki (2): | 
 |       opengl32: Remove redundant const. | 
 |       urlmon: Fix type of an empty string to avoid warning. | 
 |  | 
 | Joel Parker (1): | 
 |       Remove redundant semicolons for ANSI compatibility. | 
 |  | 
 | Jonathan Ernst (1): | 
 |       kernel: Beginning of French translation of error messages. | 
 |  | 
 | Kai Blin (3): | 
 |       winetools: Fix installing on distributions without a root password. | 
 |       secur32: Fix off-by-one error when copying the password to the helper. | 
 |       secur32: Fix off-by-one error in converting the password to unicode. | 
 |  | 
 | Ken Thomases (2): | 
 |       wined3d: Do not block waiting for occlusion query result in GetData. | 
 |       winex11.drv: Copy the GL extensions string because it may be freed. | 
 |  | 
 | Kirill K. Smirnov (1): | 
 |       explorer/systray: Some code cleanup. | 
 |  | 
 | Lei Zhang (1): | 
 |       comctl32: Fix the updown control test to use the optional flag. | 
 |  | 
 | Louis Lenders (4): | 
 |       user32: Update Dutch resources. | 
 |       comdlg32: Update Dutch resources. | 
 |       clock: Update Dutch resource. | 
 |       user32: Define RealChildWindowFromPoint as a real stub. | 
 |  | 
 | Matt Finnicum (4): | 
 |       riched20: Implement EM_LIMITTEXT and some simple tests. | 
 |       riched20: Use CharFromPos instead of FindPixelPos in LinkNotify so it accounts for scrolling. | 
 |       riched20: Remove excessive traces from reader.c. | 
 |       riched20: Create undos in StreamIn at the right times. Adds tests for when StreamIn should be undoable. | 
 |  | 
 | Michael Stefaniuc (1): | 
 |       janitorial: Use the C standard for multiline strings. | 
 |  | 
 | Mike McCormack (11): | 
 |       kernel32: Create a simple abstraction for file mappings. | 
 |       kernel32: Split update_add_resource() into two functions. | 
 |       kernel32: Merge existing resources in EndUpdateResource. | 
 |       user32: Add an exception handler around the WM_GETTEXT handler. | 
 |       user32: Add a test showing WM_GETTEXT doesn't crash with bad pointers. | 
 |       msi: Register IMsiServer. | 
 |       ntdll: Implement RtlDecodePointer and RtlEncodePointer. | 
 |       kernel32: Forward EncodePointer and DecodePointer to their ntdll counterparts. | 
 |       msi: Add a test for the IMsiServer interface. | 
 |       msi: Implement IClassFactory->QueryInterface() for the msi server dll. | 
 |       msi: Implement IDispatch->CreateInstance() for the msi server dll. | 
 |  | 
 | Mikołaj Zalewski (9): | 
 |       wordpad: Add Polish translation. | 
 |       wininet: Add Polish translation. | 
 |       cmdlgtst: Add Polish translation. | 
 |       msi: Add Polish translation. | 
 |       mpr: Add Polish translation. | 
 |       comctl32: listview: A CDRF_SKIPDEFAULT for an item should skip the whole row. | 
 |       comctl32: listview: When shrinking the last column clear the now unused field. | 
 |       comctl32: toolbar: Recalc the toolbar after a TB_SETIMAGELIST. | 
 |       comctl32: toolbar: Fix the TB_SETBITMAPSIZE for width or height zero (with testcase). | 
 |  | 
 | Paul Vriens (18): | 
 |       ntdll/tests: Skip some tests on Windows Vista. | 
 |       ole32/tests: Cast-qual warnings fixes. | 
 |       oleaut32/tests: Cast-qual warnings fixes. | 
 |       user32/tests: Cast-qual warning fixes. | 
 |       secur32/tests: Cast-qual warning fixes. | 
 |       rpcrt4/tests: Cast-qual warning fixes. | 
 |       mshtml/tests: Cast-qual warning fix. | 
 |       crypt32/tests: Cast-qual warning fixes. | 
 |       mpr: Fix typo (Coverity). | 
 |       crypt32/tests: Fix compilation for older gcc versions (and MinGW). | 
 |       mshtml/tests: Fix compilation for older gcc versions (and MinGW). | 
 |       secur32/tests: Fix compilation for older gcc versions (and MinGW). | 
 |       ntdll: Extra check for ObjectAttributes (Coverity). | 
 |       comctl32/tests: Cast-qual warning fixes. | 
 |       msxml3/tests: Cast-qual warning fixes. | 
 |       ole32/tests: Cast-qual warning fixes. | 
 |       oleaut32/tests: Cast-qual warning fixes. | 
 |       qcap: Initialize a variable (Coverity). | 
 |  | 
 | Peter Oberndorfer (1): | 
 |       user32: Only try to remove the MDI document icon from the frame menu when needed. | 
 |  | 
 | Rob Shearman (34): | 
 |       ole32: Remove a FIXME comment that no longer applies. | 
 |       ole32: Fix a comment in rpc_sendreceive_thread that wasn't correct. | 
 |       ole32: Move the Running Object Table test in marshal.c to moniker.c to put it with the other ROT tests. | 
 |       ole32: Use the standard list functions for the global interface table implementation. | 
 |       ole32: Move test for CoGetInterfaceAndReleaseStream to compobj.c. | 
 |       ole32: Remove some unneeded inclusions of headers. | 
 |       ole32: Fix HGLOBALStreamImpl_CopyTo to check the return values of IStream_Read and IStream_Write and to not compare the bytes read to the bytes written. | 
 |       ole32: Return an error in CoMarshalInterface if pStream is NULL. | 
 |       ole32: Fix Read/WriteClassStm to return an error if the passed in stream pointer is NULL. | 
 |       ole32: Return an error from CoUnmarshalInterface if pStream is NULL or if ppv is NULL. | 
 |       ole32: Add tests for invalid arguments of CoMarshalInterface and CoMarshalInterThreadInterfaceInStream. | 
 |       ole32: ReadClassStm should return STG_E_READFAULT is not all of the data could be read, not S_FALSE. | 
 |       ole32: Add tests for passing invalid arguments to CoUnmarshalInterface. | 
 |       ole32: Add a test for the failure case of same-apartment unmarshaling when passing in an unsupported iid. | 
 |       ole32: Fix the detection of when we need an additional QueryInterface in CoUnmarshalInterface. | 
 |       wininet: Don't try to read anything if 0 bytes are to be read. | 
 |       ole32: Add tests for error info functions. | 
 |       ole32: Add tests for the default handler. | 
 |       ole32: Fix copied description and copyright statement for tests/errorinfo.c. | 
 |       wininet: Allow a NULL value to be passed into HTTP_ProcessHeader | 
 |       wininet: HTTP_HttpQueryInfoW deals with bytes, not characters so update the callers that have this wrong assumption. | 
 |       wininet: Change HTTP_EncodeBase64 to operate on a series of bytes,  instead of text. | 
 |       wininet: Fix HTTP_EncodeBasicAuth by passing an out buffer to the second set of character set conversion calls. | 
 |       rpcrt4: Track the security quality of service settings for bindings and connections. | 
 |       rpcrt4: Handle security quality of service flags relevant to the ncacn_np protocol. | 
 |       kernel32: Handle the SECURITY_* flags passed into CreateFileW by filling out the SECURITY_QUALITY_OF_SERVICE structure and passing it to NtCreateFile. | 
 |       rpcrt4: Make the fixme for an unhandled packet type more useful by printing the code of the unhandled packet type. | 
 |       rpcrt4: Try to avoid partial named pipe read/writes by looping. | 
 |       credui: Add stubbed out credui DLL. | 
 |       credui: Implement CredUIPromptForCredentialsW and CredUIConfirmCredentialsW. | 
 |       rpcrt4: Fix a typo in rpcrt4_conn_open_pipe. | 
 |       rpcrt4: When copying quality of service, deep copy TransportCredentials structure too. | 
 |       rpcrt4: Stash away NetworkOptions passed in from the binding string so that transports can look at the string if needed. | 
 |       rpcrt4: RPCRT4_strdupWtoA and RPCRT4_strdupAtoW don't change the input string, so make the input const. | 
 |  | 
 | Robert Reif (1): | 
 |       dsound: Fix tests for old versions of windows. | 
 |  | 
 | Stefan Dösinger (25): | 
 |       wined3d: Do not reset the material. | 
 |       wined3d: Remove the invymat from drawprim.c. | 
 |       wined3d: Move material applying to the state table. | 
 |       wined3d: Count the framerate per swapchain, not globally. | 
 |       wined3d: Store the scissor rect in the stateblock. | 
 |       ddraw: Get some texture stage states from their equivalent sampler states. | 
 |       wined3d: Avoid false resultarg warnings. | 
 |       wined3d: Do not warn about unsupported point sizes if the default values are set. | 
 |       wined3d: Attempt to remove some tabs smuggled in by xcode. | 
 |       wined3d: Add copyright statements to state.c. | 
 |       wined3d: Fix a capital letter in a parameter name. | 
 |       wined3d: D3D7 vertex buffers never change their declaration. | 
 |       wined3d: Do not activate / deactivate texture dimensions twice. | 
 |       wined3d: Remove dead NV_TEXTURE_SHADER code | 
 |       d3d9: Implement IDirect3DDevice9::StretchRect. | 
 |       wined3d: Do not perform a NULL check on riid (Coverity). | 
 |       wined3d: Avoid a NULL pointer dereference in UpdateTexture (Coverity). | 
 |       wined3d: Revert "wined3d: Do not preload vertex buffers in unlock.". | 
 |       wined3d: Do not free regularily locked surfaces. | 
 |       wined3d: Better tracking of vertex buffer assignments. | 
 |       wined3d: Do not force dynamic usage on transformed buffers. | 
 |       wined3d, d3d9: Caps correction. | 
 |       wined3d: Improve drawStridedSlow a bit. | 
 |       wined3d: Store the stream number in the strided structure. | 
 |       wined3d: Implement per stream offsets. | 
 |  | 
 | Stefan Leichter (1): | 
 |       winecoreaudio.drv: Print each 64-bit integer as two 32-bit integers. | 
 |  | 
 | Thomas Weidenmueller (3): | 
 |       shell32: Fix prototypes. | 
 |       comctl32: Fix InitCommonControlsEx prototype. | 
 |       shell32: Implement the property sheet extension array functions. | 
 |  | 
 | Vitaliy Margolen (22): | 
 |       dinput: Fix trace formatting. | 
 |       dinput: Remove duplicate Keyboard->Poll it is the same as base class. | 
 |       dinput: Pass complete DataFormat structure to find_property. | 
 |       dinput: [joystick_linux] Copy and modify default data format. | 
 |       dinput: [joystick_linux] Reuse the same properties array. | 
 |       dinput: [joystick_linux] Use correct offset to queue events. | 
 |       dinput: [joystick_linuxinput] Copy and modify default data format. | 
 |       dinput: [joystick_linuxinput] Rewrite GetObjectInfo and EnumObjects on top of base class. | 
 |       dinput: [joystick_linuxinput] Use correct offset to queue events. | 
 |       dinput: Use internal data format for object lookups. | 
 |       dinput: Don't copy no longer used user data format object array. | 
 |       dinput: Internal data format is not const anymore. | 
 |       ws2_32: Fix trace for WS_setsockopt to look closer to WS_getsockopt. | 
 |       server: Add generic access mapping for winstation and desktop objects. | 
 |       server: User correct user sid for the default_dacl. | 
 |       ntdll: Don't change granted access mask on error. | 
 |       ntdll: Correct trace message stating NtAccessCheck is a stub. | 
 |       advapi32: Add few more tests for token access check and fix it on Wine. | 
 |       server: Reverse return value and status in token_access_check to be consistent. | 
 |       server/ntdll: Simplistic implementation of NtQueryObject(ObjectBasicInformation). | 
 |       advapi32: Add more tests for granted access mask. Fix test on Wine. | 
 |       server: Prevent a crash on error while creating a token. | 
 |  | 
 | Vitaly Lipatov (1): | 
 |       comdlg32: Update Russian translation. | 
 |  | 
 | -- | 
 | Alexandre Julliard | 
 | julliard@winehq.org |