2006-04-13  Paul Vriens <Paul.Vriens@xs4all.nl>

	* programs/winecfg/Nl.rc:
	winecfg: Update Dutch resource.

2006-04-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/advpack/reg.c:
	advpack: Fixed a couple of typos in Unicode conversion.

	* dlls/crypt32/encode.c:
	crypt32: Fixed day/month mismatch in time encoding routines.

	* dlls/crypt32/cert.c:
	crypt32: Avoid crash on NULL pointer in trace.

2006-04-08  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c:
	user: Fix dereferencing a potential NULL pointer.

2006-04-12  Jason Green <jave27@gmail.com>

	* dlls/wined3d/utils.c:
	wined3d: Add case 0 to switch statement and fix the fixme.
	Screwed up a copy/paste from one of my recent patches.  This
	eliminates the erroneous FIXME for calls to D3DFmtMakeGlCfg() with 0
	as the Stencil format.  Also, it changes the FIXME to print the
	correct variable.

2006-04-13  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/version/install.c:
	version: Translate some German comments.

2006-04-13  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/usp10.c:
	usp10: Add some tests to ScriptGetFontProperties.

2006-04-13  qingdoa daoo <qingdao33122@yahoo.com>

	* dlls/msvcrt/undname.c:
	msvcrt: If caller passes a NULL deallocator to __unDNameEx, don't use it.

2006-04-12  Stefan Dösinger <stefan@codeweavers.com>

	* dlls/wined3d/surface.c, include/wine/wined3d_interface.h:
	wined3d: Add IWineD3DSurface::Flip.

	* dlls/d3d8/device.c, dlls/d3d8/directx.c, dlls/d3d9/device.c,
	  dlls/d3d9/directx.c, dlls/wined3d/device.c,
	  include/wine/wined3d_interface.h:
	wined3d: Split device creation and opengl initialization.

2006-04-12  Karsten Elfenbein <kelfe@gmx.de>

	* dlls/wined3d/device.c:
	wined3d: Combined unhandled renderstate cases into one.

	* dlls/wined3d/device.c:
	wined3d: IWineD3DDeviceImpl_Reset cleanup.
	Joined the functions as it looks like a typo in the function name
	(IWineD3DDeviceImpl_Rest isn't used anywhere but contains comments).

2006-04-12  Jacek Caban <jacek@codeweavers.com>

	* dlls/shell32/shlexec.c:
	shell32: Allocate wszApplicationName on the heap as it may be longer than MAX_PATH.

	* dlls/shdocvw/dochost.c:
	shdocvw: Use GetClientRect, not GetWindowRect in create_doc_view_hwnd.

2006-04-12  Alexandre Julliard <julliard@winehq.org>

	* dlls/wineps/init.c:
	wineps: Load generic.ppd from the data dir if nothing else is specified.

2006-04-12  Huw Davies <huw@codeweavers.com>

	* configure, configure.ac, include/config.h.in, tools/sfnt2fnt.c:
	tools: Don't try to use FT_Load_Sfnt_Table unless FreeType has it.

2006-04-12  Alexandre Julliard <julliard@winehq.org>

	* loader/preloader.c:
	preloader: Workaround for broken no-exec protections.
	Add an executable page at the top of the address space to defeat
	broken no-exec protections that play with the code selector limit.

2006-04-12  Mikołaj Zalewski <mikolaj@zalewski.pl>

	* dlls/comctl32/listview.c:
	comctl32: Fix listview column resize.
	Draw a track line after a HDN_TRACK, resize the columns only after a
	HDN_ITEMCHANGED.
	Create the header with HDS_FULLDRAG.

	* dlls/comctl32/header.c:
	comctl32: Fix listview column resize.
	Fix the HDS_FULLDRAG headers notifications, invalidate such a control
	after a mouse move.

2006-04-12  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/avifil32/acmstream.c, dlls/avifil32/api.c,
	  dlls/avifil32/editstream.c, dlls/avifil32/getframe.c,
	  dlls/avifil32/icmstream.c:
	avifil32: Avoid not necessary zeroing out of an allocated memory block.

2006-04-10  Stefan Dösinger <stefan@codeweavers.com>

	* dlls/wined3d/device.c, dlls/wined3d/resource.c,
	  dlls/wined3d/wined3d_private.h:
	wined3d: Add a resource dumper.

2006-04-11  Jean-Philippe Theriault <Jean-Philippe_Theriault@cimmetry.com>

	* dlls/gdi/enhmetafile.c:
	gdi32: Fix for PlayEnhMetaFileRecord support of EMR_SELECTPALETTE record.

2006-04-08  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/tests/.gitignore, dlls/kernel/tests/Makefile.in,
	  dlls/kernel/tests/toolhelp.c:
	kernel32: Added some tests for toolhelp functions.

	* dlls/kernel/toolhelp.c:
	kernel32: Rewrote toolhelp implementation only on top of ntdll functions.

2006-04-11  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	winetest: Added dnsapi tests.

2006-04-12  Ivan Gyurdiev <ivg2@cornell.edu>

	* dlls/wined3d/pixelshader.c:
	wined3d: Enable texld instruction (shaders 1.4).

2006-04-11  Ivan Gyurdiev <ivg2@cornell.edu>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	wined3d: Reorganize shaders code a bit.

2006-04-11  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/page.c:
	wldap32: Improve error handling in create_page_control().

2006-04-10  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool: Basic tests for AddMonitor.

2006-04-11  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Implement AddMonitor.

2006-04-11  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/d3d9/d3d9_private.h, dlls/d3d9/vertexdeclaration.c,
	  dlls/d3d9/vertexshader.c:
	d3d9: VertexDeclaration and VertexShader should keep reference to the parent device object.

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/vertexshader.c:
	d3d8: VertexShader should keep reference to the parent device object.

2006-04-12  Alexandre Julliard <julliard@winehq.org>

	* server/window.c:
	server: Don't attach thread input to the desktop.
	Now that the desktop can be owned by a thread we need to explicitly
	check for it in the thread attach check.

2006-04-11  Petr Tesarik <hat@tesarici.cz>

	* dlls/winedos/int2f.c:
	winedos: Implement INT2F/AX=1501 (get drive device list).

2006-04-11  Juan Lang <juan_lang@yahoo.com>

	* dlls/msi/appsearch.c:
	msi: Fix possible crash bugs in error path.

2006-04-11  Mike McCormack <mike@codeweavers.com>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/regsvr.c:
	shdocvw: Register iexplore.exe as a COM local server.

2006-04-11  Jason Green <jave27@gmail.com>

	* dlls/wined3d/vertexdeclaration.c:
	wined3d: Spelling fixes and downgrade a FIXME to a TRACE.

2006-04-10  Stefan Dösinger <stefan@codeweavers.com>

	* dlls/wined3d/swapchain.c:
	wined3d: Don't do a logical AND on the swap effect.

2006-04-12  Stefan Dösinger <stefan@codeweavers.com>

	* dlls/wined3d/resource.c:
	wined3d: Store the private data in IWineD3DResource::SetPrivateData.

2006-04-12  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c, dlls/riched20/para.c:
	riched20: Allow inheriting table cell definitions from previous table row.
	Allow inheriting of table cell definitions from a previous table row
	when the current table row does not contain a \trowd, only an \intbl.

2006-04-11  Peter Oberndorfer <kumbayo84@arcor.de>

	* dlls/shlwapi/path.c, dlls/shlwapi/tests/path.c:
	shlwapi: Ignore leading spaces in PathMatchSpec.

	* dlls/shlwapi/tests/path.c:
	shlwapi: Add tests for PathMatchSpec.

	* dlls/gdi/font.c:
	gdi: Do not convert string paramter when rendering glyph indexes.

	* dlls/gdi/font.c:
	gdi: Write out glyph count correctly in GetCharacterPlacementA.

2006-04-11  Alexandre Julliard <julliard@winehq.org>

	* Makefile.in:
	Makefile: There are currently no tests in the programs directory.

2006-04-09  Dan Kegel <dank@kegel.com>

	* dlls/x11drv/clipboard.c:
	x11drv: Fix two clipboard bugs.
	Fix two clipboard problems that caused BadAtom crashes and caused some
	clipboard formats to not be exported properly.

2006-04-11  Ivan Gyurdiev <ivg2@cornell.edu>

	* dlls/wined3d/pixelshader.c:
	wined3d: Remove bogus address register warning for pixel shaders.
	Pixel shaders don't have an address register, this warning is bogus.
	D3DSPR_ADDR is interpreted as D3DSPR_TEXTURE for pixel shaders.

2006-04-11  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/install.c:
	advpack: Implement UserInstStubWrapper.

2006-04-11  Mike McCormack <mike@codeweavers.com>

	* dlls/avifil32/acmstream.c, dlls/avifil32/api.c, dlls/avifil32/avifile.c,
	  dlls/avifil32/editstream.c, dlls/avifil32/extrachunk.c,
	  dlls/avifil32/getframe.c, dlls/avifil32/icmstream.c,
	  dlls/avifil32/tmpfile.c, dlls/avifil32/wavfile.c:
	avifil32: Fix a regression caused by patch removing GlobalAllocs by using HEAP_ZERO_INIT.

2006-04-08  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/msvcrt/file.c:
	msvcrt: IO init.
	Make sure, when copying handles from std ones (when no io info is
	inherited from parent) to create inheritable handles (spotted by
	qingdao daoo).

2006-04-10  Eric Pouech <eric.pouech@wanadoo.fr>

	* tools/winedump/debug.c, tools/winedump/dump.c,
	  tools/winedump/minidump.c, tools/winedump/pe.c, tools/winedump/pe.h,
	  tools/winedump/winedump.h:
	winedump: Constify some pointers.

2006-04-11  Alexandre Julliard <julliard@winehq.org>

	* tools/winedump/dump.c, tools/winedump/pe.c:
	winedump: Added detection of Wine fake dlls.
	Also pass the real start of the file to the dump functions, instead of
	having the generic code care about the specifics of the individual
	file formats.

2006-04-11  Petr Tesarik <hat@tesarici.cz>

	* dlls/winedos/dosexe.h, dlls/winedos/int2f.c, dlls/winedos/module.c:
	winedos: Implement true CDROM DOS device driver.

	* dlls/winedos/devices.c, dlls/winedos/dosexe.h:
	winedos: Move all device driver initialization code to a newly written
	function DOSDEV_SetupDevice().

	* dlls/winedos/int2f.c:
	winedos: Move most of MSCDEX stuff into a separate function.

	* dlls/winedos/devices.c, dlls/winedos/dosexe.h:
	winedos: Move some declarations to the header file.

2006-04-10  Antonio Codazzi <f_sophia@libero.it>

	* dlls/wininet/rsrc.rc, dlls/wininet/wininet_Eo.rc:
	wininet: Added Esperanto language.

	* dlls/shlwapi/shlwapi.rc, dlls/shlwapi/shlwapi_Eo.rc:
	shlwapi: Added Esperanto language.

	* dlls/oleaut32/oleaut32.rc, dlls/oleaut32/oleaut32_Eo.rc:
	oleaut32: Added Esperanto language.

	* dlls/mpr/mpr.rc, dlls/mpr/mpr_Eo.rc:
	mpr: Added Esperanto language.

	* programs/view/Eo.rc, programs/view/viewrc.rc:
	view: Added Esperanto language.

	* dlls/serialui/Eo.rc, dlls/serialui/serialui_rc.rc:
	serialui: Added Esperanto language.

	* dlls/mpr/mpr_It.rc:
	mpr: Italian language update.

	* dlls/wininet/wininet_It.rc:
	wininet: Italian language update.

2006-04-10  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/winecfg/De.rc:
	winecfg: Update German resource.

2006-04-11  Mike McCormack <mike@codeweavers.com>

	* dlls/shdocvw/factory.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/shdocvw_main.c:
	shdocvw: Move the private class factory declaration into factory.c.

2006-04-11  YunSong Hwang <hys545@dreamwiz.com>

	* programs/winecfg/Ko.rc:
	winecfg: Updated Korean resources.

2006-04-11  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/tests/format.c:
	msi: Add some more MsiFormatRecord tests.

2006-04-11  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c:
	advpack: Perform a setupapi-level install of the INF file in RunSetupCommand.

	* dlls/advpack/files.c, dlls/advpack/install.c:
	advpack: Implement LaunchINFSectionEx.

	* dlls/advpack/advpack.c, dlls/advpack/files.c, dlls/advpack/install.c,
	  dlls/advpack/reg.c:
	advpack: Standardize the format of advpack traces.
	Display all strings in advpack traces.
	Use debugstr_a/w for TRACE strings.

	* dlls/advpack/advpack.c, dlls/advpack/files.c, dlls/advpack/install.c:
	advpack: Standardize the format of advpack parameter lists.

2006-04-10  Juan Lang <juan_lang@yahoo.com>

	* dlls/ntdll/thread.c:
	ntdll: Initialize a variable.
	Fix an uninitialized pointer in RtlCreateUserThread, caught by
	coverity.

	* dlls/crypt32/cert.c:
	crypt32: Fix a typo caught by coverity.

2006-04-11  Jacek Caban <jacek@codeweavers.com>

	* include/exdisp.idl:
	exdisp.idl: Added missing attributes and fix some arguments names.

	* include/exdisp.idl:
	exdisp.idl: Added missing declarations.

2006-04-10  Alexandre Julliard <julliard@winehq.org>

	* server/context_alpha.c, server/context_i386.c, server/context_powerpc.c,
	  server/context_sparc.c, server/context_x86_64.c, server/ptrace.c,
	  server/thread.h:
	server: Moved the tkill function to ptrace.c.

	* server/context_alpha.c, server/context_i386.c, server/context_powerpc.c,
	  server/context_sparc.c, server/context_x86_64.c, server/thread.h:
	server: Get rid of the no longer used get_thread_single_step function.

	* server/debugger.c, server/ptrace.c, server/thread.c, server/thread.h:
	server: Removed the thread attached flag, since we always detach now.

	* server/ptrace.c:
	server: Always detach from the thread when we are done with ptrace.

	* dlls/user/tests/menu.c:
	user: Use a smaller window for the menu test.

2006-04-10  Jacek Caban <jacek@codeweavers.com>

	* include/docobj.idl:
	docobj.idl: Fix some enums declarations.

	* include/exdisp.idl:
	exdisp.idl: Move declarations to better match to IE SDK.

	* include/exdisp.idl:
	exdisp.idl: Added SHDocVw type library declaration.

2006-04-10  Hans Leidekker <hans@it.vu.nl>

	* tools/winapi/win32.api:
	dnsapi: Teach winapi_check about dnsapi.dll.

	* DEVELOPERS-HINTS, documentation/PACKAGING:
	dnsapi: Tell Wine developers and packagers about dnsapi.dll.

2006-04-10  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, dlls/Makefile.in, dlls/twain/.gitignore,
	  dlls/twain/Makefile.in, dlls/twain/README, dlls/twain/TWAIN,
	  dlls/twain/capability.c, dlls/twain/ds_audio.c, dlls/twain/ds_ctrl.c,
	  dlls/twain/ds_image.c, dlls/twain/dsm_ctrl.c, dlls/twain/resource.h,
	  dlls/twain/rsrc.rc, dlls/twain/twain.h, dlls/twain/twain.spec,
	  dlls/twain/twain16_main.c, dlls/twain/twain32_main.c,
	  dlls/twain/twain_32.spec, dlls/twain/twain_De.rc,
	  dlls/twain/twain_En.rc, dlls/twain/twain_Ko.rc, dlls/twain/twain_i.h,
	  dlls/twain/ui.c, dlls/twain_32/.gitignore, dlls/twain_32/Makefile.in,
	  dlls/twain_32/README, dlls/twain_32/TWAIN,
	  dlls/twain_32/capability.c, dlls/twain_32/ds_audio.c,
	  dlls/twain_32/ds_ctrl.c, dlls/twain_32/ds_image.c,
	  dlls/twain_32/dsm_ctrl.c, dlls/twain_32/resource.h,
	  dlls/twain_32/rsrc.rc, dlls/twain_32/twain.h,
	  dlls/twain_32/twain.spec, dlls/twain_32/twain16_main.c,
	  dlls/twain_32/twain32_main.c, dlls/twain_32/twain_32.spec,
	  dlls/twain_32/twain_De.rc, dlls/twain_32/twain_En.rc,
	  dlls/twain_32/twain_Ko.rc, dlls/twain_32/twain_i.h,
	  dlls/twain_32/ui.c:
	twain_32: Renamed the dlls/twain directory to dlls/twain_32.

	* configure, configure.ac, dlls/Makefile.in, dlls/riched32/.gitignore,
	  dlls/riched32/Makefile.in, dlls/riched32/riched32.spec,
	  dlls/riched32/richedit.c, dlls/richedit/.gitignore,
	  dlls/richedit/Makefile.in, dlls/richedit/riched32.spec,
	  dlls/richedit/richedit.c:
	riched32: Renamed the dlls/richedit directory to dlls/riched32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/comdlg32/.gitignore, dlls/comdlg32/Makefile.in,
	  dlls/comdlg32/cdlg.h, dlls/comdlg32/cdlg16.h, dlls/comdlg32/cdlg32.c,
	  dlls/comdlg32/cdlg_Bg.rc, dlls/comdlg32/cdlg_Ca.rc,
	  dlls/comdlg32/cdlg_Cn.rc, dlls/comdlg32/cdlg_Cs.rc,
	  dlls/comdlg32/cdlg_Da.rc, dlls/comdlg32/cdlg_De.rc,
	  dlls/comdlg32/cdlg_En.rc, dlls/comdlg32/cdlg_Eo.rc,
	  dlls/comdlg32/cdlg_Es.rc, dlls/comdlg32/cdlg_Fi.rc,
	  dlls/comdlg32/cdlg_Fr.rc, dlls/comdlg32/cdlg_Hu.rc,
	  dlls/comdlg32/cdlg_It.rc, dlls/comdlg32/cdlg_Ja.rc,
	  dlls/comdlg32/cdlg_Ko.rc, dlls/comdlg32/cdlg_Nl.rc,
	  dlls/comdlg32/cdlg_No.rc, dlls/comdlg32/cdlg_Pl.rc,
	  dlls/comdlg32/cdlg_Pt.rc, dlls/comdlg32/cdlg_Ru.rc,
	  dlls/comdlg32/cdlg_Si.rc, dlls/comdlg32/cdlg_Sk.rc,
	  dlls/comdlg32/cdlg_Sv.rc, dlls/comdlg32/cdlg_Th.rc,
	  dlls/comdlg32/cdlg_Tr.rc, dlls/comdlg32/cdlg_Uk.rc,
	  dlls/comdlg32/cdlg_Wa.rc, dlls/comdlg32/cdlg_Zh.rc,
	  dlls/comdlg32/cdlg_xx.rc, dlls/comdlg32/colordlg.c,
	  dlls/comdlg32/colordlg16.c, dlls/comdlg32/comdlg32.spec,
	  dlls/comdlg32/commdlg.spec, dlls/comdlg32/filedlg.c,
	  dlls/comdlg32/filedlg16.c, dlls/comdlg32/filedlg31.c,
	  dlls/comdlg32/filedlg31.h, dlls/comdlg32/filedlgbrowser.c,
	  dlls/comdlg32/filedlgbrowser.h, dlls/comdlg32/filetitle.c,
	  dlls/comdlg32/finddlg.c, dlls/comdlg32/finddlg32.c,
	  dlls/comdlg32/fontdlg.c, dlls/comdlg32/fontdlg16.c,
	  dlls/comdlg32/printdlg.c, dlls/comdlg32/printdlg.h,
	  dlls/comdlg32/printdlg16.c, dlls/comdlg32/rsrc.rc,
	  dlls/commdlg/.gitignore, dlls/commdlg/Makefile.in,
	  dlls/commdlg/cdlg.h, dlls/commdlg/cdlg16.h, dlls/commdlg/cdlg32.c,
	  dlls/commdlg/cdlg_Bg.rc, dlls/commdlg/cdlg_Ca.rc,
	  dlls/commdlg/cdlg_Cn.rc, dlls/commdlg/cdlg_Cs.rc,
	  dlls/commdlg/cdlg_Da.rc, dlls/commdlg/cdlg_De.rc,
	  dlls/commdlg/cdlg_En.rc, dlls/commdlg/cdlg_Eo.rc,
	  dlls/commdlg/cdlg_Es.rc, dlls/commdlg/cdlg_Fi.rc,
	  dlls/commdlg/cdlg_Fr.rc, dlls/commdlg/cdlg_Hu.rc,
	  dlls/commdlg/cdlg_It.rc, dlls/commdlg/cdlg_Ja.rc,
	  dlls/commdlg/cdlg_Ko.rc, dlls/commdlg/cdlg_Nl.rc,
	  dlls/commdlg/cdlg_No.rc, dlls/commdlg/cdlg_Pl.rc,
	  dlls/commdlg/cdlg_Pt.rc, dlls/commdlg/cdlg_Ru.rc,
	  dlls/commdlg/cdlg_Si.rc, dlls/commdlg/cdlg_Sk.rc,
	  dlls/commdlg/cdlg_Sv.rc, dlls/commdlg/cdlg_Th.rc,
	  dlls/commdlg/cdlg_Tr.rc, dlls/commdlg/cdlg_Uk.rc,
	  dlls/commdlg/cdlg_Wa.rc, dlls/commdlg/cdlg_Zh.rc,
	  dlls/commdlg/cdlg_xx.rc, dlls/commdlg/colordlg.c,
	  dlls/commdlg/colordlg16.c, dlls/commdlg/comdlg32.spec,
	  dlls/commdlg/commdlg.spec, dlls/commdlg/filedlg.c,
	  dlls/commdlg/filedlg16.c, dlls/commdlg/filedlg31.c,
	  dlls/commdlg/filedlg31.h, dlls/commdlg/filedlgbrowser.c,
	  dlls/commdlg/filedlgbrowser.h, dlls/commdlg/filetitle.c,
	  dlls/commdlg/finddlg.c, dlls/commdlg/finddlg32.c,
	  dlls/commdlg/fontdlg.c, dlls/commdlg/fontdlg16.c,
	  dlls/commdlg/printdlg.c, dlls/commdlg/printdlg.h,
	  dlls/commdlg/printdlg16.c, dlls/commdlg/rsrc.rc:
	comdlg32: Renamed the dlls/commdlg directory to dlls/comdlg32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/msacm/.gitignore, dlls/msacm/Makefile.in, dlls/msacm/driver.c,
	  dlls/msacm/filter.c, dlls/msacm/format.c, dlls/msacm/internal.c,
	  dlls/msacm/msacm.rc, dlls/msacm/msacm.spec, dlls/msacm/msacm32.spec,
	  dlls/msacm/msacm32_main.c, dlls/msacm/msacm_Cs.rc,
	  dlls/msacm/msacm_De.rc, dlls/msacm/msacm_En.rc,
	  dlls/msacm/msacm_Es.rc, dlls/msacm/msacm_Fr.rc,
	  dlls/msacm/msacm_Hu.rc, dlls/msacm/msacm_It.rc,
	  dlls/msacm/msacm_Ja.rc, dlls/msacm/msacm_Ko.rc,
	  dlls/msacm/msacm_Nl.rc, dlls/msacm/msacm_No.rc,
	  dlls/msacm/msacm_Pl.rc, dlls/msacm/msacm_Pt.rc,
	  dlls/msacm/msacm_Tr.rc, dlls/msacm/msacm_main.c,
	  dlls/msacm/pcmconverter.c, dlls/msacm/stream.c,
	  dlls/msacm/tests/.gitignore, dlls/msacm/tests/Makefile.in,
	  dlls/msacm/tests/msacm.c, dlls/msacm/wineacm.h,
	  dlls/msacm32/.gitignore, dlls/msacm32/Makefile.in,
	  dlls/msacm32/driver.c, dlls/msacm32/filter.c, dlls/msacm32/format.c,
	  dlls/msacm32/internal.c, dlls/msacm32/msacm.rc,
	  dlls/msacm32/msacm.spec, dlls/msacm32/msacm32.spec,
	  dlls/msacm32/msacm32_main.c, dlls/msacm32/msacm_Cs.rc,
	  dlls/msacm32/msacm_De.rc, dlls/msacm32/msacm_En.rc,
	  dlls/msacm32/msacm_Es.rc, dlls/msacm32/msacm_Fr.rc,
	  dlls/msacm32/msacm_Hu.rc, dlls/msacm32/msacm_It.rc,
	  dlls/msacm32/msacm_Ja.rc, dlls/msacm32/msacm_Ko.rc,
	  dlls/msacm32/msacm_Nl.rc, dlls/msacm32/msacm_No.rc,
	  dlls/msacm32/msacm_Pl.rc, dlls/msacm32/msacm_Pt.rc,
	  dlls/msacm32/msacm_Tr.rc, dlls/msacm32/msacm_main.c,
	  dlls/msacm32/pcmconverter.c, dlls/msacm32/stream.c,
	  dlls/msacm32/tests/.gitignore, dlls/msacm32/tests/Makefile.in,
	  dlls/msacm32/tests/msacm.c, dlls/msacm32/wineacm.h,
	  programs/winetest/Makefile.in:
	msacm32: Renamed the dlls/msacm directory to dlls/msacm32.

2006-04-10  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi32: Add support for ttc indices in the font link list.

2006-04-09  Jason Green <jave27@gmail.com>

	* dlls/wined3d/surface.c, dlls/wined3d/utils.c:
	wined3d: Add some more debugging info.
	Adds more debugging FIXME's if a specific WINED3DFMT_??? isn't supported.

2006-04-09  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Implement support for ref pointers to simple structs.

2006-04-08  Hans Leidekker <hans@it.vu.nl>

	* dlls/gdi/font.c, dlls/gdi/tests/font.c:
	gdi32: GetCharABCWidthsW should not crash on a NULL handle.

	* dlls/wldap32/control.c:
	wldap32: Fix broken parameter handling.

2006-04-09  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac, dlls/dnsapi/Makefile.in, include/config.h.in:
	dnsapi: Add a configure check for the resolver library and header.

	* configure, configure.ac, dlls/dnsapi/Makefile.in,
	  dlls/dnsapi/tests/.gitignore, dlls/dnsapi/tests/Makefile.in,
	  dlls/dnsapi/tests/name.c:
	dnsapi: Add a test for DnsNameCompare_A.

	* dlls/dnsapi/Makefile.in, dlls/dnsapi/dnsapi.h, dlls/dnsapi/dnsapi.spec,
	  dlls/dnsapi/name.c:
	dnsapi: Implement DnsNameCompare_{A,W}.

	* configure, configure.ac, dlls/Makefile.in, dlls/dnsapi/.gitignore,
	  dlls/dnsapi/Makefile.in, dlls/dnsapi/dnsapi.spec, dlls/dnsapi/main.c:
	dnsapi: Add a stub implementation of dnsapi.dll.

	* include/Makefile.in, include/windns.h:
	dnsapi: Add windns.h.
	Based on a patch sent by Matthew Kehrer a while ago.

2006-04-09  Stefan Dösinger <stefan@codeweavers.com>

	* dlls/ddraw/tests/d3d.c:
	ddraw: Add a test for IDirect3DVertexBuffer7::ProcessVertices.

2006-04-08  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/tests/advpack.c:
	advpack: Add initial implementation of SetPerUserSecValues.

2006-04-10  Eric Pouech <eric.pouech@wanadoo.fr>

	* tools/wine.inf:
	wine.inf: Added dbghelp & imagehlp as fake DLLs.

2006-04-10  Ivan Gyurdiev <ivg2@cornell.edu>

	* dlls/wined3d/wined3d_private.h:
	wined3d: Print all errors in checkGLcall.

	* dlls/d3d9/pixelshader.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/vertexshader.c:
	wined3d: Downgrade some FIXMEs.

	* dlls/wined3d/utils.c:
	wined3d: Map D3DFMT_L16, D3DFMT_A16B16G16R16 to OpenGL formats.
	Map:
	D3DFMT_L16 -> GL_LUMINANCE16_EXT
	D3DFMT_A16B16G16R16 -> GL_RGBA16_EXT
	as Raphael suggested.
	Also increase the returned Bpp for unknown and unhandled formats from
	4 to 8 bytes - this part fixes segfault in the F.E.A.R demo. It now
	shows some flashy graphics before it dies again :)

2006-04-10  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/shdocvw/iexplore.c:
	shdocvw: Constify IExplore OLE vtables.

	* dlls/x11drv/keyboard.c:
	x11drv: Update French keyboard layout to better match the X11 one.

2006-04-09  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/winecfg/No.rc:
	winecfg: Updated Norwegian resources.

2006-04-09  Huw Davies <huw@codeweavers.com>

	* fonts/system.sfd:
	fonts: Add accented greek glyphs to System.

2006-04-09  Hans Leidekker <hans@it.vu.nl>

	* dlls/ntdll/rtlstr.c, dlls/ntdll/tests/rtlstr.c:
	ntdll: The closing brace of a guid string is at index 37.

2006-04-08  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/ds3d.c:
	dsound: Fix 2 bugs in ds3d tests.
	Fix 2 bugs in the error paths of the ds3d.c test (coverity).

2006-04-09  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/usp10.c:
	usp10: Terminate some strings in fixmes and traces.

2006-04-09  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Avoid reading from NULL (GetPrinterDriver).

2006-04-08  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c:
	shdocvw: Set active document of both frame and doc window.

	* dlls/shdocvw/dochost.c:
	shdocvw: Use IOleInPlaceObjectWindowless interface of document in deactivate_document.

	* dlls/mshtml/htmlinput.c, dlls/mshtml/htmlselect.c:
	mshtml: Make sure to use initialized variables.

	* dlls/mshtml/nsembed.c, dlls/mshtml/nsio.c:
	mshtml: Fix ref counting.
	- Fix ref counting.
	- Use This->window instead of QI in NSContainer_Release.

2006-04-08  Antonio Codazzi <f_sophia@libero.it>

	* programs/wineconsole/wineconsole_Eo.rc,
	  programs/wineconsole/wineconsole_res.rc:
	wineconsole: Esperanto language support.

	* dlls/winspool/It.rc, dlls/winspool/winspool.rc:
	winspool: Italian language support.

2006-04-06  Antonio Codazzi <f_sophia@libero.it>

	* programs/winhelp/Eo.rc:
	winhelp: Esperanto language update.

	* programs/regedit/It.rc:
	regedit: Italian language update.

2006-04-08  Antonio Codazzi <f_sophia@libero.it>

	* programs/start/It.rc:
	start: Italian language update.

2006-04-04  Antonio Codazzi <f_sophia@libero.it>

	* programs/uninstaller/Eo.rc:
	uninstaller: Esperanto language adjustments.

2006-04-06  Antonio Codazzi <f_sophia@libero.it>

	* programs/wineconsole/wineconsole_It.rc,
	  programs/wineconsole/wineconsole_res.rc:
	wineconsole: Italian language support.

2006-04-08  Antonio Codazzi <f_sophia@libero.it>

	* dlls/winspool/Eo.rc, dlls/winspool/winspool.rc:
	winspool: Esperanto language support.

2006-04-08  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: A read can fail.

2006-04-08  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/ddraw.h:
	ddraw: Add MAKEFOURCC to ddraw.h.

	* dlls/d3d9/volume.c, dlls/d3d9/volumetexture.c:
	d3d9: Add typecasts for WINED3DLOCKED_BOX to avoid compiler warnings.

2006-04-08  Huw Davies <huw@codeweavers.com>

	* fonts/system.sfd:
	fonts: Add greek glyphs (with thanks to Maria Hadjipanayi).

2006-04-08  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c:
	wldap32: Don't handle NULL attrs twice.

	* dlls/wldap32/init.c:
	wldap32: Don't return uninitialised values.

	* dlls/wldap32/error.c:
	wldap32: Fix overrun by one of static array.

2006-04-08  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c:
	user: Add an missing element to the hbmmenus array.

2006-04-08  Marcus Meissner <marcus@jet.franken.de>

	* tools/winedump/output.c:
	winedump: Use fchmod() instead of doing system(chmod).

2006-04-08  Robert Reif <reif@earthlink.net>

	* dlls/dsound/capture.c:
	dsound: Remove NULL This pointer checks.

2006-04-07  Robert Reif <reif@earthlink.net>

	* dlls/dsound/capture.c:
	dsound: Remove unnecessary NULL pointer check.

2006-04-08  Troy Rollo <wine@troy.rollo.name>

	* dlls/ntdll/cdrom.c:
	ntdll: Fix DVD_ReadStructure's layout of layer information.
	Fix DVD_ReadStructure to reflect what Windows actually does, not what
	Microsoft (incorrectly) documents it to do and not what the DDK
	headers (incorrectly) suggest it does.

2006-04-07  Detlef Riekenberg <wine.dev@web.de>

	* dlls/ntdll/virtual.c:
	ntdll: Added ARM architecture.

2006-04-05  Robert Reif <reif@earthlink.net>

	* programs/winecfg/En.rc, programs/winecfg/audio.c,
	  programs/winecfg/resource.h:
	winecfg: Add default dsound sample rate and bits per sample.

	* dlls/dsound/dsound.c, dlls/dsound/dsound_main.c,
	  dlls/dsound/dsound_private.h:
	dsound: Set default primary buffer sample rate and bits per sample.
	Programs that are written specifically for 2000 and xp don't bother to
	set the primary buffer format because it's a noop.  However wine is
	patterned after win9x and DirectX 7 or earlier which has a real
	primary buffer and expects the program to change the primary buffer
	format if necessary.

2006-04-07  Alexandre Julliard <julliard@winehq.org>

	* programs/explorer/desktop.c, server/window.c:
	explorer: Don't use ExitWindows on shutdown.
	ExitWindows kills all current processes and that creates a race with
	newly started processes. Instead, simply exit and let the new process
	create a new explorer.

2006-04-06  Mike Hearn <mike@plan99.net>

	* dlls/kernel/path.c:
	kernel: Don't crash on NULL arg in GetShortPathNameW.

	* dlls/comctl32/imagelist.c:
	comctl32: Add OOM codepath in imagelist control.

2006-04-07  Mike Hearn <mike@plan99.net>

	* dlls/gdi/enhmetafile.c:
	gdi: Protect GetEnhMetaFilePaletteEntries against bad handles.

	* dlls/kernel/path.c:
	kernel: Correct SearchPathA argument validation.

2006-04-07  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/capture.c:
	dsound: Fix capture test.
	Remove bogus release of NULL pointer code found by Coverity.

2006-04-07  Mike Hearn <mike@plan99.net>

	* dlls/uxtheme/metric.c:
	uxtheme: Fix GetThemeSysInt.
	TMT_FIRSTINT and TMT_LASTINT are the same value here, so the error
	path would always be taken. Fix to check only that the values are
	outside the possible range.

2006-04-07  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/netapi32/browsr.c, dlls/netapi32/share.c:
	netapi32: Move NetShareEnum from browsr.c to share.c.

2006-04-07  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/advpack.c:
	advpack: Add a few more tests for SetPerUserSecValues.

2006-04-07  Gerald Pfeifer <gerald@pfeifer.com>

	* dlls/gdi/tests/bitmap.c:
	gdi: Also initialize a variable in the failure case.

2006-04-07  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/table.c:
	msi: Use a debug channel to turn on transform debugging.

2006-04-07  Alexandre Julliard <julliard@winehq.org>

	* server/process.c, server/process.h, server/ptrace.c, server/thread.c,
	  server/thread.h:
	server: Moved read/write_process_memory and get_selector_entry to ptrace.c.

	* server/process.c:
	server: Hide assumptions about alignment inside the read_process_memory function.

	* dlls/ntdll/virtual.c, include/wine/server_protocol.h, server/process.c,
	  server/protocol.def, server/trace.c:
	server: Get rid of alignment requirements in write_process_memory request.
	All the alignment handling is now done in the write_process_memory
	function inside the server.

2006-04-07  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Allow the inclusion of the wined3d headers when the ddraw headers are included.

	* dlls/d3d8/volume.c, dlls/d3d8/volumetexture.c, dlls/d3d9/volume.c,
	  dlls/d3d9/volumetexture.c, dlls/wined3d/device.c,
	  dlls/wined3d/volume.c, dlls/wined3d/volumetexture.c,
	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DBOX to wined3d_types.h.

	* dlls/wined3d/basetexture.c, dlls/wined3d/cubetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/directx.c,
	  dlls/wined3d/indexbuffer.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/query.c, dlls/wined3d/resource.c,
	  dlls/wined3d/stateblock.c, dlls/wined3d/surface.c,
	  dlls/wined3d/swapchain.c, dlls/wined3d/texture.c,
	  dlls/wined3d/vertexbuffer.c, dlls/wined3d/vertexdeclaration.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/volume.c,
	  dlls/wined3d/volumetexture.c, include/wine/wined3d_interface.h:
	wined3d: Rename return values from D3D* to WINED3D*.

2006-04-07  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/filemoniker.c:
	ole32: Fix typo in FileMonikerImpl_BindToObject.
	Fix apparent typo in FileMonikerImpl_BindToObject, where ppf was
	incorrectly passed into IClassFactory_CreateInstance instead of &ppf
	(found by Coverity).

	* dlls/ole32/compositemoniker.c:
	ole32: Check for pcbSize parameter of CompositeMonikerImpl_GetSizeMax being NULL, rather than non-NULL.

	* dlls/ole32/antimoniker.c:
	ole32: Check for pcbSize in AntiMonikerImpl_GetSizeMax being for NULL, not for non-NULL.

	* dlls/ole32/defaulthandler.c:
	ole32: Fix DefaultHandler_EnumAdvises.
	As per MSDN, if the object has no connections then
	IOleObject::EnumAdvises should return a NULL enumerator and S_OK. This
	is the case when This->oleAdviseHolder is NULL, so do this and avert a
	potential NULL dereference of This->oleAdviseHolder (found by
	Coverity).

	* dlls/oleaut32/usrmarshal.c:
	oleaut32: Fix typo in LPSAFEARRAY_Unmarshal.
	Fix typo in LPSAFEARRAY_Unmarshal where the check for the failure of
	the SafeArrayCreateEx call was missing a dereference operator (found
	by Coverity).

	* dlls/oleaut32/safearray.c:
	oleaut32: Remove deadcode in SafeArrayPutElement.
	Remove deadcode in SafeArrayPutElement, as lpBstr cannot be NULL
	because of the check at the top of the function on pvData (found by
	Coverity).

	* server/console.c:
	server: Free ptr in console_input_append_hist.
	Free ptr in console_input_append_hist before returning, otherwise it
	will be leaked (found by Coverity).
	Remove the setting of last error on mem_alloc failure, as it is already
	done in mem_alloc.

	* server/token.c:
	server: Handle failure of mem_alloc in duplicate_token.

	* server/token.c:
	server: Handle possible mem_alloc failure in create_token.

	* server/queue.c:
	server: Should use release_object on an object instead of free.

2006-04-07  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	msi: Remove broken volume management code.

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/iexplore.c,
	  dlls/shdocvw/shdocvw.h, dlls/shdocvw/shdocvw_main.c:
	shdocvw: Implement IEWinMain using a simple window frame.

	* dlls/x11drv/wintab.c:
	x11drv: Cursors index used with WTI_DEVICES is zero based.

2006-04-07  Huw Davies <huw@codeweavers.com>

	* fonts/system.sfd, tools/sfnt2fnt.c:
	fonts: Add the Won sign in place of the backslash for Korean fonts.

2006-04-07  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward DelNodeRunDLL32A to its Unicode counterpart.

	* dlls/advpack/files.c:
	advpack: Rewrite get_parameter to be able to handle an empty parameter.

2006-04-07  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_types.h:
	wined3d: Add WINED3DPRESENT_INTERVAL_* definitions.

	* include/wine/wined3d_types.h:
	wined3d: Add WINED3DPRESENTRATE_DEFAULT.

	* dlls/d3d8/volume.c, dlls/d3d8/volumetexture.c, dlls/wined3d/volume.c,
	  dlls/wined3d/volumetexture.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DLOCKED_BOX to wined3d_types.h.

2006-04-07  James Hawkins <truiken@gmail.com>

	* dlls/ntdll/signal_i386.c:
	ntdll: Return error if the signal index equals the size of the array.

2006-04-07  Mike McCormack <mike@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut32: Remove unnecessary check for NULL.

	* server/registry.c:
	server: Avoid comparison of -1 with an unsigned variable.

	* libs/wine/config.c:
	libwine: Fix a memory leak.

	* dlls/msi/classes.c:
	msi: Fix a logic error.

	* dlls/msi/record.c:
	msi: Avoid accessing a null pointer.

	* dlls/msi/string.c:
	msi: Check the correct pointer after allocating memory.

	* dlls/msi/table.c:
	msi: Fix possible free of uninitialized pointer.

2006-04-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c:
	kernel: Fixed set_process_name for the winevdm case.

2006-04-06  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/cubetexture.c, dlls/d3d8/surface.c, dlls/d3d8/texture.c,
	  dlls/d3d9/cubetexture.c, dlls/d3d9/surface.c, dlls/d3d9/texture.c,
	  dlls/wined3d/cubetexture.c, dlls/wined3d/device.c,
	  dlls/wined3d/drawprim.c, dlls/wined3d/surface.c,
	  dlls/wined3d/texture.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h.

	* dlls/d3d9/basetexture.c, dlls/d3d9/cubetexture.c, dlls/d3d9/device.c,
	  dlls/d3d9/texture.c, dlls/d3d9/volumetexture.c,
	  dlls/wined3d/basetexture.c, dlls/wined3d/cubetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/directx.c,
	  dlls/wined3d/stateblock.c, dlls/wined3d/texture.c,
	  dlls/wined3d/volumetexture.c, dlls/wined3d/wined3d_private.h,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h.

2006-04-06  Paul Vriens <paul.vriens@xs4all.nl>

	* dlls/netapi32/Makefile.in, dlls/netapi32/netapi32.spec,
	  dlls/netapi32/share.c, include/lmshare.h:
	netapi32: Add (stubbed) NetSessionEnum.

2006-04-06  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/advpack.c:
	advpack: Add initial tests for SetPerUserSecValues.

2006-04-06  Huw Davies <huw@codeweavers.com>

	* dlls/comctl32/propsheet.c, dlls/comctl32/tests/.gitignore,
	  dlls/comctl32/tests/Makefile.in, dlls/comctl32/tests/propsheet.c,
	  dlls/comctl32/tests/propsheet.rc:
	comctl32: Set the sheet caption before invoking the sheet callback and before creating the pages.

2006-04-06  Dmitry Timoshkov <dmitry@codeweavers.com>

	* fonts/courier.sfd, fonts/ms_sans_serif.sfd, fonts/small_fonts.sfd,
	  fonts/system.sfd:
	fonts: Add a couple of cyrillic glyphs to all built-in bitmap fonts.
	Also add numero-sign to Courier.

2006-04-06  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/exception.c:
	ntdll: Print traces for EXC_CallHandler even with the assembly version.

2006-04-05  qingdoa daoo <qingdao33122@yahoo.com>

	* dlls/msvcrt/process.c:
	msvcrt: Append extension(.exe) for _spawnve argument.

2006-04-06  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, dlls/kernel/process.c, include/config.h.in:
	kernel: Show the exe name instead of wine-[kp]thread in ps and top.

2006-04-05  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec,
	  dlls/crypt32/tests/cert.c:
	crypt32: Implement CertCreateSelfSignCertificate, with some tests.

	* dlls/crypt32/store.c, include/wincrypt.h:
	crypt32: Add support for the CERT_KEY_PROV_INFO_PROP_ID certificate property.

2006-03-31  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Implement EnumMonitorsA on top of EnumMonitorsW.

	* dlls/winspool/info.c:
	winspool: Implement EnumMonitorsW.

2006-04-06  Mike McCormack <mike@codeweavers.com>

	* dlls/shdocvw/webbrowser.c:
	shdocvw: Forward IWebBrowser2::Navigate calls to ::Navigate2.

	* dlls/msi/files.c:
	msi: Avoid a crash if a parameter is NULL.

2006-04-05  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winearts/audio.c:
	winearts: Don't call arts_free if arts_init wasn't successful.

2006-04-05  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi32: Always consume the subst structure.

	* dlls/gdi/freetype.c:
	gdi32: Use the localised family name if present
	(based on a patch on Byeong-Sik Jeon).

	* dlls/gdi/freetype.c:
	gdi32: Move a few functions around.  Should be a nop.

2006-04-05  Mike McCormack <mike@codeweavers.com>

	* include/exdisp.idl:
	shdocvw: Add class definition for InternetExplorer.

2006-04-05  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/bitmap.c, dlls/gdi/tests/bitmap.c:
	gdi32: Add tests for GetBitmapBits and GetObject for a DIB section.
	Make them pass under Wine.

2006-04-05  Paul Vriens <paul.vriens@xs4all.nl>

	* include/lm.h:
	include: Add lmshare to lm.h.

2006-04-05  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_interface.h:
	wined3d: Add some type macros to wined3d_interface.h.

2006-04-05  Alexandre Julliard <julliard@winehq.org>

	* tools/winebuild/spec16.c:
	winebuild: Remove a no longer necessary movzwl instruction.
	This could cause broken relays to be generated depending on the order
	of the entry points in the relay list.
	Also add a few missing tabs in the assembly output.

	* dlls/cards/cards.c:
	cards: Avoid GetPixel to draw round corners, use a clip region instead.

2006-04-04  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c:
	advpack: Factor out advpack error handling into ADV_HRESULT.

2006-04-04  Mike McCormack <mike@codeweavers.com>

	* configure, configure.ac, programs/Makefile.in,
	  programs/iexplore/.gitignore, programs/iexplore/Makefile.in,
	  programs/iexplore/main.c:
	Add an implementation of iexplore.exe.

	* dlls/shdocvw/shdocvw.spec, dlls/shdocvw/shdocvw_main.c:
	shdocvw: Stub implementation of IEWinMain.

2006-04-04  qingdoa daoo <qingdao33122@yahoo.com>

	* dlls/msvcrt/environ.c:
	msvcrt: Fix a TRACE message to avoid buffer overflow.

2006-04-04  Huw Davies <huw@codeweavers.com>

	* fonts/ms_sans_serif.sfd:
	fonts: Add a few missing glyphs.

2006-04-05  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/typegen.c:
	widl: Implement support for ref pointers to arrays of base types.

2006-04-04  Pavel Semerad <semerad@sisal.mff.cuni.cz>

	* dlls/dinput/joystick_linux.c:
	dinput: Fixed joystick with POV and JoystickAImpl_SetProperty-proprange.

2006-04-04  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/event.c, dlls/x11drv/winpos.c:
	x11drv: Avoid redundant flushing of the thread display.

	* dlls/x11drv/window.c:
	x11drv: Remove one more XSync call.

2006-04-04  Jan Zerebecki <jan.wine@zerebecki.de>

	* dlls/wined3d/device.c:
	wined3d: CreateDevice should use the root window.

	* dlls/wined3d/device.c:
	wined3d: Output unhandled renderstates with debug_d3drenderstate.

	* dlls/wined3d/utils.c, include/d3d9types.h, include/wine/wined3d_types.h:
	wined3d: Add D3DFMT_L16.

2006-04-04  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/x11drv/x11drv_main.c:
	x11drv: Make UseXVidMode default to yes.

2006-04-03  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/x11drv/xvidmode.c:
	x11drv: Allow xvidmode to always initialize at least for the gamma functions.

2006-04-04  Mike McCormack <mike@codeweavers.com>

	* dlls/setupapi/setupapi.spec, dlls/setupapi/stubs.c:
	setupapi: Add a stub implementation for RegistryDelnode.

2006-04-04  Huw Davies <huw@codeweavers>

	* dlls/gdi/freetype.c:
	gdi32: Use a function to add entries to the substitution list
	(based on a patch by Byeong-Sik Jeon).

2006-04-04  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi32: Use RtlUshortByteSwap to read big endian words.

2006-04-04  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/cubetexture.c, dlls/d3d9/cubetexture.c,
	  dlls/wined3d/cubetexture.c, dlls/wined3d/device.c,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DCUBEMAP_FACES to wined3d_types.h.

	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/wined3d/device.c,
	  dlls/wined3d/swapchain.c, include/wine/wined3d_interface.h:
	wined3d: Define WINED3DGAMMARAMP based on D3DGAMMARAMP / DDGAMMARAMP.

2006-04-04  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/exticon.c:
	user: Fixed PrivateExtractIcons to pass the tests when using native dlls.

	* tools/Makefile.in, tools/winegcc/Makefile.in:
	tools: Add LDFLAGS to all the linker invocations.

	* tools/winegcc/winegcc.c:
	winegcc: Don't use the library full name for .so libs.

2006-04-04  Dmitry Timoshkov <dmitry@codeweavers.com>

	* fonts/small_fonts.sfd:
	fonts: Add cyrillic glyphs to the "Small Fonts" built-in bitmap font.

	* fonts/small_fonts.sfd:
	fonts: Use pixels instead of logical units for "Small Fonts" bitmap font metrics.

2006-03-09  Augusto Arcoverde da Rocha <agarobr.listas@gmail.com>

	* dlls/x11drv/keyboard.c:
	x11drv: Fixed handling of XK_KP_Separator.

2006-04-03  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.spec, dlls/advpack/reg.c:
	advpack: Forward RegInstallA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/install.c:
	advpack: Forward LaunchINFSectionA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/reg.c:
	advpack: Forward RegSaveRestoreOnINFA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/reg.c:
	advpack: Forward RegSaveRestoreA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/reg.c:
	advpack: Forward RegRestoreAllA to its Unicode counterpart.

2006-03-31  Mike Hearn <mh@codeweavers.com>

	* dlls/kernel/process.c:
	kernel: Don't enforce process handle access rights in Win98 mode.

2006-04-03  Jason Green <jave27@gmail.com>

	* dlls/wined3d/utils.c:
	wined3d: Add a couple more debugging output formats.

2006-04-04  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac:
	configure: Filter out garbage from arts-config --libs too.

	* dlls/gdi/freetype.c:
	gdi: Change ReadFontDir error into a warning.

2006-04-04  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DCLIPSTATUS to wined3d_types.h.

	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/d3d9/swapchain.c,
	  dlls/wined3d/device.c, dlls/wined3d/swapchain.c,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DRASTERSTATUS to wined3d_types.h.

2006-04-04  Mike McCormack <mike@codeweavers.com>

	* programs/msiexec/.gitignore, programs/msiexec/Makefile.in,
	  programs/msiexec/rsrc.rc:
	msiexec: Add an icon for msiexec and .msi files.

2006-04-03  James Hawkins <truiken@gmail.com>

	* tools/wine.inf:
	wine.inf: Add hhctrl.ocx to the list of fake dlls.

2006-04-04  Mike McCormack <mike@codeweavers.com>

	* configure, configure.ac:
	configure: Warn if the fonts aren't going to be built.

2006-04-03  Alexandre Julliard <julliard@winehq.org>

	* server/ptrace.c:
	server: Don't single step into signal handlers.

	* dlls/ntdll/signal_i386.c:
	ntdll: Save FPU context for all exceptions.

2006-04-03  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/usrmarshal.c:
	ole32: Add documentation for the clip format user marshal functions.

	* tools/widl/typegen.c:
	widl: Fix the type offset for generated conformant string calls.

	* dlls/kernel/kernel32.spec:
	kernel: Remove some stubs that aren't present in NT.

	* dlls/kernel/file.c:
	kernel: Document some file functions.

2006-04-03  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/wined3d/device.c,
	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h:
	wined3d: Make use of WINED3DDEVICE_CREATION_PARAMETERS.

2006-04-03  Mike McCormack <mike@codeweavers.com>

	* dlls/user/driver.c:
	user32: More informative message on failure to load x11drv.

2006-04-03  Huw Davies <huw@codeweavers.com>

	* fonts/.gitignore, fonts/Makefile.in, fonts/small_fonts.sfd:
	fonts: Add an 11 ppem strike of 'Small Fonts'.

2006-04-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/tests/.gitignore, dlls/gdi/tests/Makefile.in,
	  dlls/gdi/tests/bitmap.c, dlls/gdi/tests/font.c,
	  dlls/gdi/tests/gdiobj.c, dlls/gdi/tests/pen.c:
	gdi: Separate GDI tests by moving them into appropriate files.
	Separate GDI tests by moving them into appropriate files:
	bitmap tests to bitmap.c, font test to font.c, pen tests to pen.c.

	* dlls/gdi/gdiobj.c:
	gdi: Move WineEngInit call before stock fonts creation.
	Move WineEngInit call before stock fonts creation, otherwise we end up
	caching wrong fonts before loading built-in bitmap fonts.

2006-04-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/vertexbuffer.c,
	  dlls/d3d9/d3d9_private.h, dlls/d3d9/vertexbuffer.c:
	d3dx: VertexBuffer should keep reference to the parent device object.

2006-04-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/setupapi/fakedll.c:
	setupapi: Copy the complete resource tree into the fake dlls.

2006-04-03  Hwang YunSong <hys545@dreamwiz.com>

	* dlls/twain/rsrc.rc, dlls/twain/twain_Ko.rc:
	twain: Add a Korean resource.

2006-04-03  Jan Zerebecki <jan.wine@zerebecki.de>

	* dlls/winmm/winealsa/audio.c:
	winealsa: Fix pausing when the hardware does not support it.

2006-04-01  Matthew Kehrer <kehrermatt@gmail.com>

	* dlls/url/Makefile.in, dlls/url/url.spec, dlls/url/url_main.c:
	url: Add a function and two stubs.

2006-04-01  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/device.c, dlls/d3d8/swapchain.c, dlls/d3d9/device.c,
	  dlls/d3d9/swapchain.c, dlls/wined3d/device.c,
	  dlls/wined3d/swapchain.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DBACKBUFFER_TYPE to wined3d_types.h.

	* dlls/d3d8/device.c, dlls/d3d8/directx.c, dlls/d3d9/device.c,
	  dlls/d3d9/directx.c, dlls/d3d9/swapchain.c, dlls/wined3d/device.c,
	  dlls/wined3d/directx.c, dlls/wined3d/swapchain.c,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h.

2006-04-03  Mike McCormack <mike@codeweavers.com>

	* dlls/ole32/storage32.c, dlls/ole32/tests/storage32.c:
	ole32: STGM_PRIORITY implies STGM_SHARE_EXCLUSIVE.

	* dlls/kernel/profile.c:
	kernel32: [Read/Write]PrivateProfile functions accept a NULL filename.

	* dlls/msi/string.c:
	msi: Improve the string table hash.

2006-04-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/loader.c:
	ntdll: Process --help and --version args earlier on during startup.

2006-04-01  Antonio Codazzi <f_sophia@libero.it>

	* dlls/msi/msi.rc, dlls/msi/msi_It.rc:
	msi: Italian language support.

	* dlls/setupapi/Eo.rc, dlls/setupapi/setupapi.rc:
	setupapi: Esperanto language support.

	* programs/uninstaller/Eo.rc, programs/uninstaller/rsrc.rc:
	uninstaller: Esperanto language support.

	* programs/uninstaller/It.rc:
	uninstaller: Italian language support.

	* programs/notepad/Eo.rc, programs/notepad/rsrc.rc:
	notepad: Esperanto language support.

	* programs/notepad/It.rc:
	notepad: Italian language support.

	* dlls/msi/msi.rc, dlls/msi/msi_Eo.rc:
	msi: Esperanto language support.

	* dlls/commdlg/cdlg_Eo.rc:
	commdlg: Esperanto language update.

	* dlls/commdlg/cdlg_It.rc:
	commdlg: Italian language update.

	* dlls/wineps/wps_It.rc:
	wineps: Italian language update.

	* dlls/user/resources/user32_Eo.rc:
	user32: Esperanto language update.

	* dlls/comctl32/comctl_Eo.rc, dlls/comctl32/rsrc.rc:
	comctl32: Esperanto language support.

	* dlls/comctl32/comctl_It.rc:
	comctl32: Italian language updates.

	* programs/clock/Eo.rc, programs/clock/rsrc.rc:
	clock: Esperanto language support.

2006-04-01  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/wined3d/basetexture.c:
	wined3d: Do not set the mipmap level count every time a texture is used.

2006-04-02  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/tests/gdiobj.c:
	gdi32: Add tests for 'Small Fonts'.

2006-04-03  qingdoa daoo <qingdao33122@yahoo.com>

	* dlls/msvcrt/environ.c, dlls/msvcrt/tests/environ.c:
	msvcrt: Allow environment strings longer than 512 characters.

2006-04-02  Marcus Meissner <marcus@jet.franken.de>

	* dlls/usp10/usp10.c:
	usp10: Fixed debug output of ScriptItemize.

2006-04-01  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/dinput/keyboard.c, dlls/dinput/tests/keyboard.c:
	dinput: Keyboard should be acquired before calling GetDeviceState.

2006-04-01  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/regedit/No.rc:
	regedit: Fix typo in Norwegian resources.

2006-04-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/window.c:
	x11drv: Get rid of XSync calls on window creation and destruction.

	* dlls/x11drv/x11drv.h, dlls/x11drv/x11drv_main.c, dlls/x11drv/xrender.c:
	x11drv: Ignore X errors caused by windows being created or deleted.

2006-03-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/tests/metafile.c:
	gdi: In metafile test only print debug output if enabled.

	* loader/preloader.c:
	loader: Hide the preloader from the ps output.

	* tools/winewrapper:
	winewrapper: Remove a couple of variables that are no longer needed.

	* dlls/ntdll/loadorder.c:
	ntdll: Get rid of the loadorder wildcard support, builtin is always the default now.

2006-03-31  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/heap.c, dlls/kernel/tests/heap.c:
	kernel: Fix handling of invalid parameter in GlobalSize().

2006-03-31  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/rpc.c:
	ole: Use ncalrpc instead of ncacn_np as the RPC transport.
	Use ncalrpc instead of ncacn_np as the transport as this is more similar
	to how ole32 from NT works and should also be compatible with rpcrt4
	from Win9x, allowing more combinations of dlls to work.

	* dlls/kernel/process.c:
	kernel: Add some documentation for simple process functions.

	* tools/widl/typegen.c:
	widl: There's no need to cast _StubMsg - it's already of the correct type.

	* tools/widl/server.c:
	widl: Only assign variables if not a string and only create a local variable if not a sized parameter.
	Only assign variables if not a string and only create a local variable
	if not a sized parameter. Fixes type mismatches in the generated code
	due to differences in the algorithms between creating local variables
	and using them.

	* tools/widl/server.c:
	widl: Initialise the temporary variable to 0 for parameters with more than one level of indirection.

	* tools/widl/server.c:
	widl: Create the correct variable type for parameters with more than one level of indirection.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.h:
	widl: Re-use print_phase_basetype for generating return value marshaling and unmarshaling code.

	* tools/widl/typegen.c:
	widl: Move handling of base type marshaling and unmarshaling to a separate function.
	Move handling of base type marshaling and unmarshaling to a separate
	function and improve it to support return values.

	* tools/widl/typegen.c:
	widl: Use print_phase_function for printing NdrPointerFree call.

	* tools/widl/typegen.c:
	widl: Add a function to generate the Ndr type calls.
	- Add a function to generate the Ndr type calls.
	- Fix a typo where the aligned buffer was added to itself, rather than
	assigned.

	* tools/widl/typegen.c:
	widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.
	Only write the buffer incrementing code for the marshaling and
	unmarshaling phases - buffer sizing is handled elsewhere and freeing
	isn't applicable.

	* tools/widl/typegen.c:
	widl: Output the necessary sizing information for other phases.
	Output the necessary sizing information for PHASE_BUFFERSIZE and
	PHASE_FREE as well as PHASE_MARSHAL. Standardise this rule in a new
	function.

	* tools/widl/client.c:
	widl: Output NULL ref pointer check for pointer levels > 1 too.

	* tools/widl/client.c, tools/widl/server.c:
	widl: Fix a GCC warning in the generated client and server code.

	* tools/widl/parser.y, tools/widl/widltypes.h, tools/widl/write_msft.c:
	widl: The lval member of var_t is essentially a duplicate of eval->cval.
	- Generate eval's for enums that don't explicitly have one. This means
	that enums written in header files won't match exactly what has been put
	into the IDL file, but the numeric constat is the same and MIDL does a
	similar thing.
	- Replace constant lookups with eval->cval instead of lval.

	* tools/widl/typegen.c:
	widl: De-reference parameters' types before deciding what to do with them.
	De-reference parameters' types before deciding what to do with them.
	Also dereference string parameters since they are immediately
	dispatched to write_string_tfs when the string attribute is detected
	without any further processing done on them.

	* tools/widl/typegen.c:
	widl: Write pointer calls for all non-basetype pointer parameters to functions.

	* tools/widl/header.c:
	widl: Write definitions for MIDL_user_allocate and MIDL_user_free in the header.
	Write definitions for MIDL_user_allocate and MIDL_user_free in the
	header when writing out RPC interfaces to prevent compile failures in
	the generated client/server code.

	* tools/widl/header.c:
	widl: Write out the pre- and postamble for RPC interfaces with no methods.

	* tools/widl/header.c:
	widl: Output interface defined guard for rpc interfaces too.

	* tools/widl/typegen.c:
	widl: NdrFcShort should be written out instead of NdrShort.

	* tools/widl/typegen.c:
	widl: Output the numeric equivalent of FC_END, not the string FC_END itself.

	* tools/widl/typegen.c:
	widl: Support references in type_memsize.

	* tools/widl/client.c, tools/widl/server.c:
	widl: Only output code for non-object interfaces in client and server.
	Only output code for non-object interfaces in client and server
	generation and convert the while loops into for loops.

2006-03-31  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.11.

----------------------------------------------------------------
2006-03-31  Alexandre Julliard <julliard@winehq.org>

	* server/request.c:
	server: Avoid crash on startup when the configuration dir doesn't exist.

	* dlls/user/tests/win.c:
	user/tests: Flush events before running the keyboard event test.

	* dlls/comctl32/tests/monthcal.c:
	comctl32: Force a specific day value in the monthcal test.
	Avoids test failure when the current day happens to be the 31st...

2006-03-30  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.spec:
	advpack: LaunchINFSectionExW is available, so mark it so in the spec file.

	* dlls/advpack/advpack.spec, dlls/advpack/install.c:
	advpack: Forward ExecuteCabA to its Unicode counterpart.

2006-03-30  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/dcom.idl:
	ole32: Remove unnecessary commenting out of the RPC interfaces in the dcom idl file.

	* dlls/wininet/urlcache.c:
	wininet: Fix some string length calculations.
	Fix some string length calculations that didn't account for the
	different sized characters with Unicode.

	* dlls/wininet/urlcache.c:
	wininet: Only access the URL in the cache by the provided offset.

2006-03-30  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c, dlls/wined3d/drawprim.c,
	  dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c,
	  dlls/wined3d/wined3d_private.h:
	wined3d: Move fields common to vertex shaders and pixel shaders to IWineD3DBaseShader.

2006-03-30  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/proplist.c:
	crypt32: Tiny fixes.

	* dlls/crypt32/store.c, dlls/crypt32/tests/store.c:
	crypt32: Fix certificate adding
	- Implement add disposition in CertAddCertificateContextToStore,
	rather than in each store.
	- Add a few more tests.

2006-03-30  Rein Klazes <wijn@wanadoo.nl>

	* dlls/msvcrt/undname.c:
	msvcrt: Fix read beyond end of string in __unDNameEx().

2006-03-30  Detlef Riekenberg <wine.dev@web.de>

	* dlls/spoolss/spoolss.spec, dlls/spoolss/spoolss_main.c:
	spoolss: Add DllAllocSplMem and DllFreeSplMem.

2006-03-30  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/tests/metafile.c:
	gdi32: Add a test for WMF->EMF conversions performed by SetWinMetaFileBits.
	These tests currently fail in Wine.

	* dlls/x11drv/keyboard.c:
	x11drv: Update Hungarian keyboard layout to better match the X11 one.

2006-03-29  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/header.c, tools/widl/header.h,
	  tools/widl/server.c, tools/widl/typegen.c, tools/widl/typegen.h:
	widl: Implement support for ref pointers to strings.

2006-03-30  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi32: Move the font substitution list to a standard Wine list
	(based on a patch by Byeong-Sik Jeon).

2006-03-30  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/message.c:
	user: Only wait for sent messages in wait_message_reply.

	* dlls/x11drv/event.c:
	x11drv: Filter a few more event types in filter_event.
	ConfigureNotify and related events should only be processed when
	posted messages are selected. There's no need to handle MappingNotify
	if keyboard events are not selected.

	* dlls/Makefile.in, dlls/make_dlls:
	dlls: Removed a number of no longer needed dependencies.

2006-03-29  Detlef Riekenberg <wine.dev@web.de>

	* DEVELOPERS-HINTS, configure, configure.ac, dlls/Makefile.in,
	  dlls/spoolss/.gitignore, dlls/spoolss/Makefile.in,
	  dlls/spoolss/spoolss.spec, dlls/spoolss/spoolss_main.c:
	spoolss: Add minimal spoolss.dll.

2006-03-30  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/message.c, dlls/user/win.c:
	user: Don't send WM_PARENTNOTIFY to the desktop window.

2006-03-29  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c, dlls/advpack/tests/install.c:
	advpack: Open the INF file if the RSC_FLAG_INF flag is specified.

2006-03-30  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c:
	advpack: Forward LaunchINFSectionExA to its Unicode counterpart.

	* dlls/advpack/install.c:
	advpack: Fix the documentation for the cmdline parameter of LaunchInfSection/Ex.

2006-03-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/except.c:
	kernel: Resource browsing.
	Try to be a bit more strict when checking for resource mapping in
	exception handler (and prevent some exceptions while in exception
	handler).

2006-03-30  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/d3d8_private.h, dlls/d3d9/d3d9_private.h,
	  dlls/wined3d/directx.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DDEVTYPE to wined3d_types.h.

2006-03-30  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/twain/rsrc.rc, dlls/twain/twain_De.rc:
	twain: Add German resource.

2006-03-30  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/heap.c:
	kernel32: Display the parameter that caused a page fault in GlobalFree().

2006-03-29  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/heap.c, dlls/kernel/tests/heap.c:
	kernel: Fix handling of invalid parameter in GlobalFlags().

2006-03-30  Detlef Riekenberg <wine.dev@web.de>

	* tools/wineconf:
	tools: Remove wineconf.

2006-03-29  Detlef Riekenberg <wine.dev@web.de>

	* DEVELOPERS-HINTS:
	DEVELOPER-HINTS:  Some directories are renamed / removed / added.

2006-03-29  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/olefont.c, dlls/oleaut32/olepicture.c:
	oleaut32: Add IPersist to QueryInterface.

	* dlls/oleaut32/typelib.c:
	oleaut32: Zero out parameter in LoadRegTypeLib in case of failure.

	* dlls/oleaut32/olepicture.c:
	oleaut32: Replace memcmp with IsEqualIID macro.
	Replace memcmp with IsEqualIID macro that doesn't require a size
	parameter and remove the unneeded brackets to give more compact and
	more readable code.

	* dlls/ole32/compobj.c:
	ole32: Don't process posted messages in CoWaitForMultipleHandles.
	Tests with native show that during COM calls posted messages aren't
	retrieved other than COM calls so change the PeekMessage parameters in
	CoWaitForMultipleHandles to duplicate this.

	* dlls/ole32/compobj.c:
	ole32: Try to retrieve messages that are COM calls first.
	Try to retrieve messages that are COM calls first in
	CoWaitForMultipleHandles before retrieving other types.

	* dlls/ole32/compobj.c:
	ole32: Put the PeekMessage call of CoWaitForMultipleHandles into a separate function.
	Put the PeekMessage call of CoWaitForMultipleHandles into a separate
	function so that the order and type of the messages retrieved can be
	customised in the future.

	* dlls/ole32/compobj.c:
	ole32: Whether the message loop is entered in CoWaitForMultipleHandles,
	should depend on whether the current apartment is a single threaded one.

	* dlls/ole32/compobj.c:
	ole32: Pass the no yield flag to PeekMessage.
	Pass the no yield flag to PeekMessage since we sleep in
	MsgWaitForMultipleObjectsEx and the extra context switch is wasteful.

	* server/token.c:
	server: Store the token source.

2006-03-29  Huw Davies <huw@codeweavers.com>

	* include/winuser.h:
	include: Add DFC_POPUPMENU.

2006-03-30  Mike McCormack <mike@codeweavers.com>

	* dlls/wininet/http.c:
	wininet: Clean up HTTP_GetCustomHeaderIndex.

	* dlls/wininet/http.c:
	wininet: Use a lookup table sorted by index so we don't need a loop to do lookups.

	* dlls/wininet/http.c:
	WININET: Clean up HttpQueryInfo.
	Fixes another return FALSE without SetLastError.

	* dlls/wininet/http.c:
	wininet: Make sure to set LastError when returning FALSE in HttpQueryInfo.

2006-03-29  Mike McCormack <mike@codeweavers.com>

	* dlls/ole32/storage32.c, dlls/ole32/tests/storage32.c:
	ole32: Fix StgOpenStorage's handling of the STGM_PRIORITY flag.

2006-03-29  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/window.c, dlls/x11drv/winpos.c, dlls/x11drv/x11drv.h,
	  include/winpos.h:
	x11drv: Replace the SWP_WINE_NOHOSTMOVE flag by a lock count.

2006-03-27  Petr Tesarik <hat@tesarici.cz>

	* dlls/ntdll/cdrom.c:
	ntdll: Fix CDROM raw reads.
	- Fix incorrect data sizes.
	- Fix CDDA addressing.
	- Implement XAForm2 mode on Linux.

2006-03-29  Alexandre Julliard <julliard@winehq.org>

	* programs/winecfg/x11drvdlg.c:
	winecfg: Disable the desktop option when configuring a specific application.

2006-03-28  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c,
	  include/wine/wined3d_interface.h:
	wined3d: Create an IWineD3DBaseShader class.

	* dlls/wined3d/device.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_private.h:
	wined3d: Move the vshader_ins and pshader_ins arrays into their respective objects.

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c,
	  dlls/wined3d/wined3d_private.h:
	wined3d: Move the SHADER_OPCODE definition to wined3d_private.h.

	* dlls/wined3d/pixelshader.c:
	wined3d: Pass the correct number of parameters for texld with ps version >= 2.

2006-03-29  Mike McCormack <mike@codeweavers.com>

	* dlls/user/sysparams.c:
	user32: Fix SPI_GETLISTBOXSMOOTHSCROLLING, and implement SPI_SETLISTBOXSMOOTHSCROLLING.

	* dlls/user/sysparams.c:
	user32: Implement SPI_[GS]ETUIEFFECTS.

	* dlls/user/sysparams.c:
	user32: Implement SPI_[GS]ETTOOLTIPANIMATION and SPI_[GS]ETTOOLTIPFADE.

	* dlls/user/sysparams.c:
	user32: Implement SPI_[GS]ETMENUANIMATION and SPI_[GS]ETSELECTIONFADE.

	* dlls/user/sysparams.c:
	user32: Implement SystemParametersInfo(SPI_[SG]ETCURSORSHADOW).

	* dlls/user/sysparams.c:
	user32: Implement SystemParametersInfo(SPI_[GS]ETCOMBOBOXANIMATION).

	* dlls/user/sysparams.c:
	user32: Implement SPI_[SG]ETCARETWIDTH.

2006-03-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/mshtml/persist.c:
	mshtml: Don't free the URL we have just stored in the callback object.

	* dlls/x11drv/mouse.c:
	x11drv: Only warp the mouse pointer if it has actually moved.

2006-03-26  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d8/device.c:
	d3d8: Add a TRACE for IDirect3DDevice8Impl_CreateVertexBuffer.

2006-03-28  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/device.c, dlls/d3d8/directx.c, dlls/d3d9/device.c,
	  dlls/d3d9/directx.c, dlls/d3d9/swapchain.c, dlls/wined3d/swapchain.c,
	  include/wine/wined3d_types.h:
	wined3d: Use WINED3DSWAPEFFECT in the wined3d headers and code.

	* dlls/d3d8/cubetexture.c, dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c,
	  dlls/d3d8/surface.c, dlls/d3d8/texture.c, dlls/d3d8/volume.c,
	  dlls/d3d8/volumetexture.c, dlls/d3d9/cubetexture.c,
	  dlls/d3d9/d3d9_private.h, dlls/d3d9/device.c,
	  dlls/d3d9/indexbuffer.c, dlls/d3d9/surface.c, dlls/d3d9/texture.c,
	  dlls/d3d9/vertexbuffer.c, dlls/d3d9/volume.c,
	  dlls/d3d9/volumetexture.c, dlls/wined3d/basetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/resource.c,
	  dlls/wined3d/surface.c, dlls/wined3d/utils.c,
	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DPOOL to wined3d_types.h.

2006-03-22  Aric Stewart <aric@codeweavers.com>

	* dlls/twain/.gitignore, dlls/twain/Makefile.in, dlls/twain/ds_ctrl.c,
	  dlls/twain/ds_image.c, dlls/twain/dsm_ctrl.c, dlls/twain/resource.h,
	  dlls/twain/rsrc.rc, dlls/twain/twain32_main.c,
	  dlls/twain/twain_En.rc, dlls/twain/twain_i.h, dlls/twain/ui.c:
	twain: Add a property sheet UI for scanning.

2006-03-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/desktop.c, dlls/x11drv/window.c, dlls/x11drv/x11drv.h:
	x11drv: Reinitialize the display settings when using a desktop window.

2006-03-22  Aric Stewart <aric@codeweavers.com>

	* dlls/twain/ds_image.c:
	twain: A few cleanups, using some consts from sane.

2006-03-24  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c:
	widl: Implement support for pointers to base types.

2006-03-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/advapi32/security.c, dlls/advapi32/tests/security.c:
	advapi32: Fixed compiler warnings.

2006-03-26  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/advapi32/security.c, dlls/advapi32/tests/security.c,
	  include/winnt.h:
	advapi32: Fixed building TRUSTEEs with objects.
	Fill the TRUSTEE structure properly in BuildTrusteeWithObjectsAndName
	and BuildTrusteeWithObjectsAndSid, including regression tests.

	* dlls/comctl32/rebar.c:
	comctl32: Rebar size fix.
	Rebars without any bands should have a height/width of 0.

2006-03-26  Vitaly Lipatov <lav@etersoft.ru>

	* tools/wineshelllink:
	wineshelllink: Remove quotes from Path=<workdir>.

2006-03-28  Jonathan Ernst <jonathan@ernstfamily.ch>

	* tools/wine.inf:
	wine.inf: Add some more fake dlls to the system directory.

2006-03-28  Mike McCormack <mike@codeweavers.com>

	* dlls/mpr/wnet.c:
	mpr: Improve the stub for WNetGetUniversalNameW.

	* server/change.c:
	server: Fix a race condition in the delivery of change notifications.

2006-03-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/window.c:
	x11drv: Avoid setting text or WM hints of the X root window.

2006-03-27  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, dlls/Makefile.in,
	  dlls/msacm/winemp3/.gitignore, dlls/msacm/winemp3/Makefile.in,
	  dlls/msacm/winemp3/common.c, dlls/msacm/winemp3/dct64_i386.c,
	  dlls/msacm/winemp3/decode_i386.c, dlls/msacm/winemp3/huffman.h,
	  dlls/msacm/winemp3/interface.c, dlls/msacm/winemp3/l2tables.h,
	  dlls/msacm/winemp3/layer1.c, dlls/msacm/winemp3/layer2.c,
	  dlls/msacm/winemp3/layer3.c, dlls/msacm/winemp3/mpegl3.c,
	  dlls/msacm/winemp3/mpg123.h, dlls/msacm/winemp3/mpglib.h,
	  dlls/msacm/winemp3/tabinit.c, dlls/msacm/winemp3/winemp3.acm.spec,
	  dlls/winemp3.acm/.gitignore, dlls/winemp3.acm/Makefile.in,
	  dlls/winemp3.acm/common.c, dlls/winemp3.acm/dct64_i386.c,
	  dlls/winemp3.acm/decode_i386.c, dlls/winemp3.acm/huffman.h,
	  dlls/winemp3.acm/interface.c, dlls/winemp3.acm/l2tables.h,
	  dlls/winemp3.acm/layer1.c, dlls/winemp3.acm/layer2.c,
	  dlls/winemp3.acm/layer3.c, dlls/winemp3.acm/mpegl3.c,
	  dlls/winemp3.acm/mpg123.h, dlls/winemp3.acm/mpglib.h,
	  dlls/winemp3.acm/tabinit.c, dlls/winemp3.acm/winemp3.acm.spec:
	winemp3: Renamed the dlls/msacm/winemp3 directory to dlls/winemp3.acm.

	* configure, configure.ac, dlls/Makefile.in, dlls/msacm/msg711/.gitignore,
	  dlls/msacm/msg711/Makefile.in, dlls/msacm/msg711/msg711.acm.spec,
	  dlls/msacm/msg711/msg711.c, dlls/msg711.acm/.gitignore,
	  dlls/msg711.acm/Makefile.in, dlls/msg711.acm/msg711.acm.spec,
	  dlls/msg711.acm/msg711.c:
	msg711: Renamed the dlls/msacm/msg711 directory to dlls/msg711.acm.

	* configure, configure.ac, dlls/Makefile.in,
	  dlls/msacm/msadp32/.gitignore, dlls/msacm/msadp32/Makefile.in,
	  dlls/msacm/msadp32/msadp32.acm.spec, dlls/msacm/msadp32/msadp32.c,
	  dlls/msadp32.acm/.gitignore, dlls/msadp32.acm/Makefile.in,
	  dlls/msadp32.acm/msadp32.acm.spec, dlls/msadp32.acm/msadp32.c:
	msadp32: Renamed the dlls/msacm/msadp32 directory to dlls/msadp32.acm.

	* configure, configure.ac, dlls/Makefile.in, dlls/imaadp32.acm/.gitignore,
	  dlls/imaadp32.acm/Makefile.in, dlls/imaadp32.acm/imaadp32.acm.spec,
	  dlls/imaadp32.acm/imaadp32.c, dlls/msacm/imaadp32/.gitignore,
	  dlls/msacm/imaadp32/Makefile.in,
	  dlls/msacm/imaadp32/imaadp32.acm.spec,
	  dlls/msacm/imaadp32/imaadp32.c:
	imaadp32: Renamed the dlls/msacm/imaadp32 directory to dlls/imaadp32.acm.

	* dlls/x11drv/desktop.c, dlls/x11drv/window.c,
	  dlls/x11drv/winex11.drv.spec, dlls/x11drv/x11drv.h,
	  dlls/x11drv/x11drv_main.c, programs/explorer/desktop.c,
	  programs/explorer/explorer.c, programs/explorer/explorer_private.h:
	x11drv: Moved desktop mode handling to the explorer process.
	Per-application desktop mode settings are no longer supported.  Apps
	can be launched in a specific desktop window by using:
	explorer /desktop=name[,widthxheight] app.exe [args]
	If the named desktop already exists the app is launched inside it. The
	default desktop is cleverly named "default".

	* dlls/x11drv/window.c:
	x11drv: Allow setting WM hints for the desktop window.

	* dlls/x11drv/winpos.c:
	x11drv: Support SetWindowPos and ShowWindow on the desktop window.

2006-03-27  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/htmldoc.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl,
	  dlls/mshtml/nsservice.c, dlls/mshtml/view.c:
	mshtml: Added tooltip implementation.

2006-03-27  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/commdlg/fontdlg.c:
	commdlg: Properly set and retrieve colour value from combo box .

2006-03-27  Robert Shearman <rob@codeweavers.com>

	* dlls/shell32/systray.c, programs/explorer/systray.c:
	shell32: Adding a systray item with an invalid icon handle is allowed.

2006-03-27  Huw Davies <huw@codeweavers.com>

	* dlls/riched20/txtsrv.c:
	riched20: Take a ref on text host.

2006-03-27  Mike McCormack <mike@codeweavers.com>

	* dlls/user/input.c:
	user32: Send a fake mouse movement event after releasing capture.

2006-03-27  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/virtual.c:
	ntdll: Limit header_size to the file size.

	* dlls/x11drv/window.c, dlls/x11drv/x11drv.h, dlls/x11drv/x11drv_main.c,
	  dlls/x11drv/xrandr.c, dlls/x11drv/xvidmode.c:
	x11drv: Get rid of the using_wine_desktop flag.

	* dlls/user/user_main.c, server/process.c, server/user.h, server/window.c,
	  server/winstation.c:
	server: Connect to the window station and desktop specified by startup info.
	If window station and desktop aren't inherited from the parent, don't
	connect to them from the server, but from the USER init code where we
	can get the proper values from the startup info structure.

	* server/window.c:
	server: Store window properties in the global atom table instead of
	the per-winstation table.

2006-03-25  Louis. Lenders <xerox_xerox2000@yahoo.co.uk>

	* dlls/shell32/.gitignore, dlls/shell32/Makefile.in,
	  dlls/shell32/shres.rc, dlls/shell32/shresdef.h:
	shell32: Add an uncompressed AVI displaying the word searching.

2006-03-26  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c, dlls/advpack/tests/install.c:
	advpack: Implement the launching of executables in RunSetupCommand.

	* dlls/advpack/tests/install.c, include/advpub.h, include/urlmon.idl:
	advpack: Define S_ASYNCHRONOUS in advpub.h.

2006-03-27  Alexandre Julliard <julliard@winehq.org>

	* server/process.c, server/request.c:
	server: Fixed process exit code on FreeBSD.

2006-03-24  Petr Tesarik <hat@tesarici.cz>

	* programs/winedbg/break.c:
	winedbg: Fix stepping over an instruction.

2006-03-27  Petr Tesarik <hat@tesarici.cz>

	* dlls/winedos/dosexe.h, dlls/winedos/interrupts.c:
	winedos: Clear TF bit before passing control to a VM86 interrupt handler.

2006-03-26  f_sophia <f_sophia@libero.it>

	* programs/winhelp/Eo.rc, programs/winhelp/rsrc.rc:
	winhelp: Added Esperanto language support.

2006-03-26  Antonio Codazzi <f_sophia@libero.it>

	* dlls/shell32/shell32_Eo.rc:
	shell32: Updated Esperanto translation.

2006-03-26  James Hawkins <truiken@gmail.com>

	* dlls/kernel/process.c, dlls/kernel/tests/process.c:
	kernel: Error out of CreateProcess if the specified current directory
	doesn't exist.

2006-03-26  Vitaly Lipatov <lav@etersoft.ru>

	* tools/wine.inf:
	wine.inf: Add some dll stub dll to the system directory.

2006-03-24  Paul Vriens <paul.vriens@xs4all.nl>

	* tools/wine.inf:
	wine.inf: Add SystemRoot.

2006-03-27  Petr Tesarik <hat@tesarici.cz>

	* dlls/ntdll/signal_i386.c:
	ntdll: Fix debug exceptions from VM86.
	- Set ContextFlags accordingly in save_vm86_context().
	- Raise debug exceptions correctly for debug exceptions.
	- Do not clear TF bit for VM86-generated debug exceptions.

2006-03-26  James Hawkins <truiken@gmail.com>

	* dlls/advpack/install.c, dlls/advpack/tests/install.c:
	advpack: Set hexe to a non-NULL value to test that the handle is NULL on return.

2006-03-26  Mike McCormack <mike@codeweavers.com>

	* dlls/commdlg/filedlg.c:
	commdlg: Malformed filters are still added to the filter combo box.

	* dlls/comctl32/comctl32undoc.c:
	comctl32: Having an MRU list without a compare function works in Windows.

2006-03-26  H. Verbeet <hverbeet@gmail.com>

	* dlls/msvcrt/scanf.h, dlls/msvcrt/tests/scanf.c:
	msvcrt: Fix reading of signed numbers with unsigned read types in scanf.

2006-03-24  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/file.c:
	msvcrt: Fix fflush() of files opened for read.
	Some apps, for no particular reason, call fflush() on files opened for
	read.  This keeps them from tripping over their shoelaces.

2006-03-25  Tomas Carnecky <tom@dbservice.com>

	* dlls/opengl32/wgl.c, dlls/opengl32/wgl_ext.c, dlls/x11drv/opengl.c:
	opengl: Put OpenGL setup functions into their own debug channel.

2006-03-25  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/dbg.y, programs/winedbg/debug.l:
	winedbg: Fixes for identifiers.
	- fixed lexical rules for a path name
	- fixed identifier rules so that we get the right precedence
	between ! and ::
	- modules (in mod!name forms) are now handled as tIDENTIFIER
	(tPATH was buggy anyhow)

	* dlls/dbghelp/symbol.c:
	dbghelp: Module should be case insensitive.
	When looking up a symbol name in the form module!name, the module
	lookup should be insensitive.

2006-03-24  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/cubetexture.c, dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c,
	  dlls/d3d8/directx.c, dlls/d3d8/surface.c, dlls/d3d8/texture.c,
	  dlls/d3d9/cubetexture.c, dlls/d3d9/d3d9_private.h,
	  dlls/d3d9/device.c, dlls/d3d9/directx.c, dlls/d3d9/surface.c,
	  dlls/d3d9/swapchain.c, dlls/d3d9/texture.c, dlls/wined3d/device.c,
	  dlls/wined3d/directx.c, dlls/wined3d/wined3d_private.h,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h.

	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/wined3d/device.c,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Add WINED3DTRIPATCH_INFO to wined3d_types.h.

2006-03-23  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	wined3d: Move the D3DSIO_DCL dumping code into its own function.

2006-03-23  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/.gitignore, dlls/advpack/tests/Makefile.in,
	  dlls/advpack/tests/install.c:
	advpack: Add initial tests for RunSetupCommand.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward DelNodeA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/install.c:
	advpack: Forward RunSetupCommandA to its Unicode counterpart.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward the FileSaveRestore API to their Unicode counterparts.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward GetVersionFromFileA/ExA to their Unicode counterparts.

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	advpack: Forward SetPerUserSecValuesA to its Unicode counterpart.

2006-03-24  Ken Thomases <ken@codeweavers.com>

	* server/process.c:
	server: Fix memory leak in read_process_memory handler.

2006-03-24  Mike McCormack <mike@codeweavers.com>

	* dlls/ntdll/directory.c:
	ntdll: Recursive notify is implemented.

2006-03-24  Phil Krylov <phil@newstar.rinet.ru>

	* server/signal.c:
	server: Fix compilation under Darwin 7.

2006-03-23  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c,
	  dlls/mshtml/htmlelem2.c, dlls/mshtml/mshtml_private.h:
	mshtml: Added IHTMLElement2 implementation.

	* include/exdisp.idl:
	exdisp.idl: Added missing IE6 methods to DWebBrowserEvents2.

2006-03-23  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/device.c, dlls/d3d9/device.c, dlls/wined3d/device.c,
	  include/wine/wined3d_interface.h:
	wined3d: Rectpatch code fix.
	Update the wined3d code to use WINED3DRECTPATCH_INFO, which was added
	with an older patch.

2006-03-23  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/time.c:
	msvcrt: Implementation of wcsftime (based on a patch by Mike McCormack).

2006-03-22  Paul Vriens <paul.vriens@xs4all.nl>

	* dlls/kernel/cpu.c:
	kernel: Add processor specific environment variables.

2006-03-23  James Hawkins <truiken@gmail.com>

	* dlls/comctl32/tab.c:
	comctl32: A couple fixes for tab icon offsets.
	- Shift selected icons up and non-selected icons down.
	- Add the top or left draw rect to the vertical offset, because it may
	not be zero.

2006-03-22  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Implement FileSaveMarkNotExistW.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward AdvInstallFileA to its Unicode counterpart.

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	advpack: Forward the ansi user stub APIs to their Unicode counterparts.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c:
	advpack: Forward AddDelBackupEntryA to its unicode counterpart.

2006-03-23  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/environ.c:
	kernel: Remove a couple of incorrect asserts.

2006-03-23  Rein Klazes <wijn@wanadoo.nl>

	* dlls/comctl32/tooltips.c:
	comctl32: Do not free LPSTR_TEXTCALLBACK tooltip texts.

2006-03-22  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/tests/thread.c:
	kernel: Load QueueUserWorkItem function dynamically.

2006-03-23  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/server.c, tools/widl/typegen.c:
	widl: Fix base type alignments.
	Generate aligned marshal and unmarshal code for base type arguments
	and return values.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Fix format string size calculation.
	- Move proc format string size calculation from client.c and server.c
	to typegen.c.
	- Implement type format string size calculation.

2006-03-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/tests/winstation.c, server/atom.c, server/class.c:
	server: Class and global atoms should not be local to a window station.

2006-03-22  Marcus Meissner <meissner@suse.de>

	* configure, configure.ac, programs/Makefile.in,
	  programs/avitools/.gitignore, programs/avitools/Makefile.in,
	  programs/avitools/aviinfo.c, programs/avitools/aviplay.c,
	  programs/avitools/icinfo.c, programs/icinfo/.gitignore,
	  programs/icinfo/Makefile.in, programs/icinfo/icinfo.c:
	programs: Move icinfo out of avitools.

2006-03-22  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/drawprim.c, dlls/wined3d/vertexshader.c:
	wined3d: Set vertex attribute pointers defined in vertex declarations properly.

	* dlls/wined3d/vertexshader.c:
	wined3d: Fix slightly misleading ParseVertexDeclarationUsage naming.

	* dlls/wined3d/vertexdeclaration.c, include/wine/wined3d_types.h:
	wined3d: Initialise WINED3DVERTEXELEMENT's Reg field in
	IWineD3DVertexDeclarationImpl_ParseDeclaration9.

	* dlls/wined3d/vertexdeclaration.c, dlls/wined3d/wined3d_private.h:
	wined3d: glTypeLookup cleanup.
	Use a struct instead of an UINT array as entries in the glTypeLookup
	table.

	* dlls/wined3d/pixelshader.c:
	wined3d: Store the pixelshader version in the pixelshader object.

2006-03-22  Huw Davies <huw@codeweavers.com>

	* dlls/user/edit.c, dlls/user/tests/edit.c:
	user32: Only adjust the margins if the edit control is above a certain size.

2006-03-22  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	advpack: Forward RebootCheckOnInstallA to its Unicode counterpart.

2006-03-22  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/htmlelem.c:
	mshtml: Clean up get_all and tags (also fixes a typo).

2006-03-22  Mike McCormack <mike@codeweavers.com>

	* tools/wine.inf:
	wine.inf: Add a shdocvw.dll stub dll to the system directory.

	* dlls/msi/action.c:
	msi: Add stub for the RegisterComPlus and UnregisterComPlus actions.

	* dlls/msi/package.c:
	msi: Don't crash when logging a record with only one field.

2006-03-22  Alexandre Julliard <julliard@winehq.org>

	* server/directory.c, server/handle.c, server/handle.h, server/mailslot.c,
	  server/named_pipe.c, server/object.c, server/object.h,
	  server/registry.c, server/request.c, server/signal.c:
	server: New scheme for cleaning up objects on server exit.
	Objects stored in static variables can now be marked when they are
	created and are automatically cleaned up on exit. This avoids having
	to export a bunch of close_* functions.

2006-03-21  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	advpack: Forward TranslateInfStringExA to its unicode counterpart.

	* dlls/advpack/tests/files.c:
	advpack: Add second null for double null terminated lists.

2006-03-22  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: Show "hidden dialogs" but hide them initially.

	* dlls/msi/custom.c:
	msi: Implement custom action type 17.

	* dlls/riched20/.gitignore, dlls/riched20/Makefile.in,
	  dlls/riched20/version.rc:
	riched20: Add a version resource.

	* dlls/wintrust/wintrust_main.c:
	wintrust: Use the definition of WINTRUST_ACTION_GENERIC_VERIFY_V2 in softpub.h.

	* include/Makefile.in, include/softpub.h:
	include: Add softpub.h.

2006-03-22  Kevin Koltzau <kevin@plop.org>

	* dlls/ole32/tests/.gitignore, dlls/ole32/tests/Makefile.in,
	  dlls/ole32/tests/clipboard.c:
	ole32: Initial tests for OLE clipboard functions.

2006-03-21  Bryan Mayland <bmayland@leoninedev.com>

	* dlls/kernel/sync.c, dlls/kernel/tests/sync.c:
	kernel: WaitForMultipleObjectsEx should accept up to MAXIMUM_WAIT_OBJECTS.

2006-03-21  Lei Zhang <leiz@ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: Implements FR_WHOLEWORD for EM_FINDTEXT.
	Add FR_WHOLEWORD to riched20's EM_FINDTEXT and fix a couple small bugs
	introduced in earlier patches for EM_FINDTEXT. Additional test cases
	have been added to check for corner cases.  Also improve input
	validation.

2006-03-21  Francois Gouget <fgouget@free.fr>

	* dlls/ddraw/tests/ddrawmodes.c, dlls/ole32/datacache.c,
	  dlls/ole32/storage32.c, dlls/oleaut32/dispatch.c,
	  dlls/shell32/shlfolder.c, dlls/shlwapi/ordinal.c,
	  dlls/shlwapi/path.c, dlls/wininet/gopher.c:
	Assorted spelling fixes.

	* programs/taskmgr/taskmgr.c, programs/taskmgr/taskmgr.h:
	taskmgr: Avoid forward declarations and make functions static.

	* programs/taskmgr/applpage.c:
	taskmgr: Reorder functions to avoid forward declarations.

	* programs/taskmgr/about.c, programs/taskmgr/affinity.c,
	  programs/taskmgr/column.c, programs/taskmgr/graph.c,
	  programs/taskmgr/perfpage.c, programs/taskmgr/proclist.c,
	  programs/taskmgr/procpage.c:
	taskmgr: Avoid forward declarations and make functions static.

	* tools/winapi/win32.api:
	Update win32.api to match the current sources.

	* include/winerror.h:
	include: Add missing error and facility codes.

	* dlls/advapi32/advapi32.spec:
	advapi32: Fix the LsaEnumerateAccountRights() export.

	* include/ntsecapi.h:
	include: Standardize the LsaLookupNames() prototype.

2006-03-21  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tests/typelib.c, dlls/oleaut32/typelib.c:
	oleaut: ITypeInfo::GetIDsOfNames should search inherited interfaces
	regardless of what type they are.
	Add a test for this and dump type infos created with CreateDispTypeInfo.

2006-03-21  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/tests/gdiobj.c, tools/sfnt2fnt.c:
	fonts: Use the EBLC table to retrieve the ascent of the bitmap font.

2006-03-21  Jeff Latimer <lats@yless4u.com.au>

	* programs/winedbg/be_alpha.c, programs/winedbg/be_cpu.h,
	  programs/winedbg/be_i386.c, programs/winedbg/be_ppc.c,
	  programs/winedbg/dbg.y, programs/winedbg/debug.l,
	  programs/winedbg/info.c, programs/winedbg/tgt_active.c,
	  programs/winedbg/tgt_minidump.c, programs/winedbg/winedbg.man.in:
	winedbg: Add display for floating point status.
	Added code to examine and display floating point unit status into
	be_i386.c as info all-regs command.

2006-03-21  Alexandre Julliard <julliard@winehq.org>

	* tools/sfnt2fnt.c:
	sfnt2fnt: Remove output file on failure.

	* dlls/activeds/activeds_main.c, dlls/cfgmgr32/main.c,
	  dlls/cryptdll/cryptdll.c, dlls/d3dim/d3dim_main.c,
	  dlls/d3drm/d3drm_main.c, dlls/msnet32/msnet_main.c,
	  dlls/snmpapi/main.c, dlls/url/url_main.c, dlls/vdmdbg/vdmdbg.c,
	  dlls/winnls32/winnls.c, dlls/wintrust/wintrust_main.c:
	Added DLL_WINE_PREATTACH handling in a number of stub-only dlls.

2006-03-21  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/files.c,
	  dlls/msi/helpers.c:
	msi: Improve handling of short paths.

2006-03-21  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/threadpool.c:
	ntdll: Start of pooling support for RtlQueueWorkItem.
	Start of pooling support for RtlQueueWorkItem. The algorithm
	implmented is very simple - if there are no free threads, create a new
	one.

	* dlls/kernel/tests/thread.c:
	kernel: Add a test for QueueUserWorkItem.

	* dlls/oleaut32/typelib.c:
	oleaut: Better support for invoking methods with VT_VARIANT argument types.

	* dlls/wininet/internet.c:
	wininet: Document InternetCrackUrlW.

	* dlls/wininet/http.c, dlls/wininet/internet.c:
	wininet: InternetCreateUrlW should return the number of bytes needed.
	InternetCreateUrlW should return the number of bytes needed to store
	the URL, not the number of characters (reported by Sven Paschukat).

2006-03-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c, include/winnt.h:
	ntdll: Added a DLL_WINE_PREATTACH call to DllMain for builtins.
	By returning FALSE from this call, a builtin dll can specify that we
	should try to load the native one instead.

	* dlls/ddraw/main.c:
	ddraw: Call DDRAW_ChooseDefaultDriver only on PROCESS_ATTACH.

	* dlls/Makefile.in, dlls/Maketest.rules.in, dlls/make_dlls:
	dlls: Removed a number of dll symlinks that are no longer needed.

	* tools/winewrapper:
	winewrapper: Remove explicit call to wineprefixcreate.
	Now that wineprefixcreate detects the build tree automatically, the
	standard behavior of starting it from ntdll should work fine.

	* programs/wcmd/wcmdmain.c:
	wcmd: Try executing the process even if the exe file doesn't exist.
	It may be a builtin exe in which case the CreateProcess call will
	succeed.

	* tools/wine.inf, tools/wineprefixcreate.in:
	wine.inf: Use the new fake dlls mechanism to create placeholders for
	applications instead of using symlinks.

	* dlls/ntdll/loader.c:
	ntdll: Detect the fake dlls created by setupapi and refuse to load them.

	* dlls/setupapi/Makefile.in, dlls/setupapi/fakedll.c,
	  dlls/setupapi/install.c, dlls/setupapi/setupapi_private.h:
	setupapi: Added support for creating fake dlls at install time.
	This should satisfy applications that access a dll file directly. For
	apps that check the dll version in the file, the version resource is
	copied from the builtin dll.

2006-03-18  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/dinput/device.c, dlls/dinput/device_private.h,
	  dlls/dinput/keyboard.c, dlls/dinput/mouse.c:
	dinput: Create single thread for mouse and keyboard hook.
	Put keyboard & mouse hook callbacks into separate thread.
	Move few global variables into object. Delete no longer used crit section.
	For hooks to work properly hook callback have to be in a thread
	with message loop. Some games create separate threads just to handle
	mouse and/or keyboard events that do not have message loop.

2006-03-20  Mike Hearn <mike@plan99.net>

	* dlls/opengl32/Makefile.in, dlls/opengl32/wgl.c:
	opengl32: Optimize thunks by storing GL context in the thread environment block.

2006-03-21  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/bitmap.c, dlls/gdi/tests/gdiobj.c:
	gdi: Fix a couple of todos in the bitmap test.

2006-03-21  Byeong-Sik Jeon <wjsqudtlr@gmail.com>

	* dlls/commdlg/cdlg_Ko.rc:
	commdlg: Updated Korean translation.

	* programs/winecfg/Ko.rc:
	winecfg: Updated Korean translation.

2006-03-21  Mike McCormack <mike@codeweavers.com>

	* programs/taskmgr/applpage.c:
	taskmgr: Make some functions static.

	* programs/taskmgr/applpage.c:
	taskmgr: Fix some gcc 4.1 warnings caused by commctrl.h macros.

	* programs/winefile/winefile.c:
	winefile: Fix some gcc 4.1 warnings caused by commctrl.h macros.

2006-03-19  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c, include/wine/wined3d_gl.h:
	wined3d: Don't use OpenGL 2.0.

2006-03-20  Paul Vriens <paul.vriens@xs4all.nl>

	* dlls/kernel/cpu.c:
	kernel: Fix model/stepping in GetSystemInfo.
	wProcessorRevision is built from model and stepping.

2006-03-20  Mike McCormack <mike@codeweavers.com>

	* programs/taskmgr/priority.c:
	taskmgr: Eliminate common code and fix a warning.

2006-03-19  Mike McCormack <mike@codeweavers.com>

	* dlls/comctl32/listview.c:
	comctl32: Get rid of some incorrect casts.

2006-03-20  Alexandre Julliard <julliard@winehq.org>

	* configure.ac:
	configure: Add autoheader to the compile command.

	* configure, configure.ac, dlls/Makedll.rules.in, loader/Makefile.in,
	  programs/Makeprog.rules.in:
	configure: Use --rpath when linking dlls too.

	* programs/Makefile.in, programs/make_progs:
	programs: Get rid of application symlinks, they are no longer needed.

	* dlls/gdi/tests/gdiobj.c, dlls/x11drv/bitmap.c:
	x11drv: Clear new bitmaps if they don't contain any data.

2006-03-20  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/bitmap.c, dlls/gdi/tests/gdiobj.c:
	gdi: Add a simple test for bitmap bits/metrics
	Add a simple test for bitmap bits/metrics, fix GetBitmapBits for an
	empty (not selected into a DC) bitmap.

2006-03-19  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/regsvr.c:
	msi: Set the InstallerLocation value when registering msi.dll.

2006-03-19  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/heap.c, dlls/kernel/tests/heap.c:
	kernel: Avoid heap corruption on invalid parameter in GlobalFree().

2006-03-20  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/tests/change.c:
	kernel: Avoid infinite waits in directory change tests.

2006-03-19  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d8/device.c:
	d3d8: Change the default debug channel to d3d8 for device.c.

	* dlls/d3d8/device.c:
	d3d8: Downgrade a FIXME to a TRACE in IDirect3DDevice8Impl_SetVertexShader.

	* dlls/d3d8/device.c:
	d3d8: Fix comparison in IDirect3DDevice8Impl_DeleteVertexShader.

2006-03-18  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c, dlls/mshtml/persist.c:
	mshtml: Optimize nsACString handling.

	* dlls/mshtml/htmlbody.c, dlls/mshtml/htmlelem.c, dlls/mshtml/htmlinput.c,
	  dlls/mshtml/htmlnode.c, dlls/mshtml/htmlselect.c,
	  dlls/mshtml/htmltextarea.c, dlls/mshtml/mshtml_private.h:
	mshtml: Better QueryInterface implementation.

2006-03-19  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/wordpad/No.rc:
	wordpad: Fix typo in Norwegian resource.

2006-03-19  Vitaly Lipatov <lav@etersoft.ru>

	* programs/regedit/Ru.rc:
	regedit: Fix Russian translation.

	* programs/control/params.h:
	control: Fix datetime name.

2006-03-19  Milko Krachounov <milko@3mhz.net>

	* programs/winecfg/Bg.rc:
	winecfg: Update Bulgarian translation.

2006-03-19  Mike McCormack <mike@codeweavers.com>

	* include/commctrl.h:
	include: LVSETINFOTIPA does not exist.

2006-03-19  Jeff Latimer <lats@yless4u.com.au>

	* programs/winedbg/tgt_active.c:
	winedbg: Copy floating point status to the dbgcontext.

2006-03-18  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/gdi/driver.c:
	gdi: Handle NT style \\.\DISPLAY1 name that we return.

2006-03-18  Robert Shearman <rob@codeweavers.com>

	* dlls/msi/delete.c, dlls/msi/distinct.c, dlls/msi/insert.c,
	  dlls/msi/msipriv.h, dlls/msi/order.c, dlls/msi/select.c,
	  dlls/msi/table.c, dlls/msi/update.c, dlls/msi/where.c:
	msi: Optimise WHERE operations.
	Optimise WHERE operations on matching against strings by adding a new
	function find_matching_rows to the views, which eliminates the need to
	examine every record when executing a query. Implement this function
	in the table using a hash table on the ID stored in the data.

	* dlls/msi/tests/format.c:
	msi: Add a test for MsiFormatRecord with integer fields.

	* dlls/wininet/cookie.c:
	wininet: Copy from the start of the cookie name, not the cookie data.
	Copy from the start of the cookie name, not the cookie data when
	parsing cookies with a NULL cookie name.

	* include/wininet.h:
	include: Add some more defines to wininet.h.

	* programs/wcmd/wcmdmain.c:
	wcmd: Use PACKAGE_VERSION as the wcmd version.

	* dlls/ole32/rpc.c:
	ole: Use the thread pool for executing RPC calls for better performance
	(after the thread pool has been improved).

2006-03-17  Alexandre Julliard <julliard@winehq.org>

	* tools/wineprefixcreate.in:
	wineprefixcreate: Autodetect the running from build tree case.

	* dlls/setupapi/install.c:
	setupapi: Added support for calling executables in a RegisterDlls section.

2006-03-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	ntdll: In MODULE_FlushModrefs, also free dlls that haven't been initialized yet.

2006-03-18  Mike McCormack <mike@codeweavers.com>

	* include/windowsx.h:
	Prevent the use of windowsx.h with Wine source.

	* programs/winefile/winefile.c, programs/winefile/winefile.h:
	winefile: Eliminate use of windowsx.h.

2006-03-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: MSC fixes.
	- wrong cut & paste across versions of a given record type
	- wrong definition for register_v2

	* dlls/dbghelp/msc.c:
	dbghelp: Support for LF_VTSHAPE in MSC.
	- added preliminary support for VT (virtual table) shape
	type record
	- as we don't do C++, it's just a hack to get rid of
	some errors

	* dlls/dbghelp/msc.c:
	dbghelp: MSC forward declaration.
	- create an infrastructure for handling forward usage
	of type records
	- used it in some cases (pointer to yet not defined udt,
	function signature, modifiers)

	* dlls/dbghelp/msc.c:
	dbghelp: Type parsing refactoring.
	- seperate types' table handling from a single type handling
	by adding codeview_parse_one_type function
	- factored all calls for caching symt
	- make type parsing helpers return the symt instead of a
	simple error status

	* dlls/dbghelp/msc.c:
	dbghelp: Fixes for NB11 types.
	- when checking debug info in NB09 or NB11 format (CodeView),
	try to load the global types section

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: MSC handling of function signature's parameters.
	- now correctly parsing parameters types for a function
	signature and storing them in dbghelp internal structures

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: Cleanup MSC bitfield handling.
	- no longer caching bitfield information but accessing it directly
	when needed
	- removed all kludges for bitfield handling
	- reused BOOL parameter to codeview_get_type for monitoring
	traces (will be used in later patches)

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: Fieldlist.
	- now that we have offset tables to type, we can cleanly
	parse the field-lists and remove the associated kludges
	- also adding internal structure for easing parameter sharing
	across functions (codeview_type_parse)
	- in mscvpdb.h, also reparated the type records that are
	referenced from other type records (union codeview_type_ref)
	from type records referenced by symbols (union codeview_type)

	* dlls/dbghelp/msc.c:
	dbghelp: MSC types.
	- enforce the type records that can be accessed by symbols (these are
	anyway the high level ones)

	* dlls/dbghelp/msc.c:
	dbghelp: Types parsing.
	- our engine for parsing types section now requires in entry
	an offsets table for getting directly to each type in the
	section
	- (re)construct this table for PDB types

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: CV's ssearch.
	- added definitions for start_search symbol info
	- silenced warnings from this symbol

	* dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: Moved codeview structures and definitions from msc.c to mscvpdb.h.

	* dlls/dbghelp/elf_module.c, dlls/dbghelp/msc.c, dlls/dbghelp/mscvpdb.h:
	dbghelp: Compiland and source files are not the same thing.
	- in MSC debug info parsing, clearly separate a source file
	information from a compiland (including in linetab structure)
	- in ELF debug info parsing, now storing compiland directly
	in symtab_elt while browsing the symtab section (we still
	create twice the compilands, once in stabs/dwarf parsing,
	a second time in symtab parsing)

2006-03-17  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/gdi/freetype.c:
	gdi32: Look for ttf fonts in the Wine font dir.

2006-03-17  Dmitry Timoshkov <dmitry@baikal.ru>

	* dlls/gdi/tests/gdiobj.c:
	gdi: Add a test for bitmap font metrics to ensure that they match the Windows ones.

2006-03-18  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/server.c:
	widl: Do not generate code that initializes a binding handle.

	* tools/widl/client.c, tools/widl/server.c:
	widl: Fix proc offset calculation.
	A void return type is represented by a FC_END/FC_PAD sequence in the
	proc format string. Increment the proc offset by two when a function
	returns void.

	* tools/widl/parser.y:
	widl: 'unsigned char' and 'byte' are must be distinct types.

2006-03-18  Jacek Caban <jacek@codeweavers.com>

	* include/mshtmdid.h, include/mshtml.idl:
	mshtml.idl: Added more interfaces.

	* dlls/mshtml/tests/protocol.c:
	mshtml/tests: Code cleanup.

2006-03-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, programs/winedbg/tgt_active.c:
	dbghelp: Live target detection.
	- DBGHELP_NOLIVE env variable is tested earlier to avoid
	some strange effects in live target detection
	- in WineDbg, delete DBGHELP_NOLIVE before attaching to
	a process, because we know it must be a live target

2006-03-17  Mike McCormack <mike@codeweavers.com>

	* dlls/user/tests/edit.c, programs/progman/group.c,
	  programs/progman/main.c, programs/progman/program.c,
	  programs/winecfg/audio.c:
	Remove some unnecessary uses of windowsx.h

2006-03-18  Mike McCormack <mike@codeweavers.com>

	* dlls/avifil32/avifile.c:
	avifil32: Use HeapAlloc instead of GlobalAlloc. Eliminate windowsx.h.

2006-03-17  Mike McCormack <mike@codeweavers.com>

	* programs/taskmgr/dbgchnl.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/winecfg/appdefaults.c:
	winecfg: Fix some gcc 4.1 warnings.

	* dlls/crypt32/tests/store.c:
	crypt32: Fix a warning.

2006-03-17  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/msvfw32/msvfw32_Ko.rc:
	msvfw32: Update Korean resources.

2006-03-17  Mike McCormack <mike@codeweavers.com>

	* programs/taskmgr/taskmgr.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/taskmgr/procpage.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/taskmgr/proclist.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/taskmgr/debug.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/taskmgr/endproc.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/taskmgr/affinity.c:
	taskmgr: Fix some gcc 4.1 warnings.

	* programs/regedit/treeview.c:
	regedit: Fix some gcc 4.1 warnings.

2006-03-16  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/store.c,
	  dlls/crypt32/tests/store.c, include/wincrypt.h:
	crypt32: Implement CertGetSubjectCertificateFromStore.

2006-03-16  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_types.h:
	wined3d: Add D3DBASISTYPE to wined3d_types.h.

2006-03-16  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/device.c, dlls/wined3d/device.c, dlls/wined3d/vertexshader.c:
	d3d8/wined3d: Vertex shader fixes.

2006-03-17  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/freetype.c:
	gdi: Support for loading fonts from the build directory.

	* programs/winecfg/libraries.c:
	winecfg: Support for loading the list of dlls from the build directory.

	* libs/wine/loader.c:
	libwine: Added magic handling of dll path when running in build dir.
	This should ensure that we do the right thing in the build dir even if
	WINEDLLPATH isn't set.

2006-03-16  Detlef Riekenberg <wine.dev@web.de>

	* include/winbase.h:
	winbase.h: Add missing LMEM_INVALID_HANDLE define.

2006-03-16  Alexandre Julliard <julliard@winehq.org>

	* include/wine/library.h, libs/wine/config.c, libs/wine/wine.def,
	  libs/wine/wine.map:
	libwine: Export wine_get_build_dir.

	* dlls/ntdll/server.c, libs/wine/config.c:
	libwine: Added support for executing wine binaries out of the build dir.

	* libs/wine/config.c:
	libwine: Added detection for Wine being run out of the build directory.

	* dlls/Makefile.in, dlls/make_dlls:
	dlls: Remove the no longer needed symlinks to the static libraries.

	* dlls/Makedll.rules.in, dlls/Maketest.rules.in,
	  programs/Makeprog.rules.in, programs/avitools/Makefile.in:
	Remove some no longer needed library paths.

	* tools/winegcc/utils.c, tools/winegcc/winegcc.c:
	winegcc: Look for libraries in subdirs of the library path too.
	This means that -lfoo will match the library 'foo/libfoo.def' in
	addition to just 'libfoo.def'. This allows supporting the Wine source
	layout without adding a gazillion path entries.

2006-03-16  Kai Blin <kai.blin@gmail.com>

	* dlls/secur32/dispatcher.c:
	secur32: Update ntlm_auth version detection to detect new samba4 version numbers.
	Samba4 changed the versioning from 3.9.X to 4.0.0tpX-preY.

2006-03-15  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/tests/store.c:
	crypt32: Tighten CertDuplicateCertificateContext test.
	Test that the return from CertDuplicateCertificateContext is the same
	as its parameter.

2006-03-15  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.10.

----------------------------------------------------------------
2006-03-15  Alexandre Julliard <julliard@winehq.org>

	* programs/avitools/Makefile.in:
	avitools: Fixed library path for msvfw32.

	* dlls/user/tests/msg.c, dlls/user/tests/win.c:
	user/tests: Try harder to flush X events before running tests.

2006-03-06  András Kovács <andras@csevego.net>

	* dlls/wininet/rsrc.rc, dlls/wininet/wininet_Hu.rc:
	wininet: Added Hungarian translation.

	* dlls/wineps/rsrc.rc, dlls/wineps/wps_Hu.rc:
	wineps: Added Hungarian translation.

	* dlls/shlwapi/shlwapi.rc, dlls/shlwapi/shlwapi_Hu.rc:
	shlwapi: Added Hungarian translation.

	* dlls/shell32/shell32_Hu.rc:
	shell32: Added Hungarian translation.

	* dlls/shdocvw/Hu.rc, dlls/shdocvw/shdocvw.rc:
	shdocvw: Added Hungarian translation.

	* dlls/setupapi/Hu.rc, dlls/setupapi/setupapi.rc:
	setupapi: Added Hungarian translation.

	* dlls/serialui/Hu.rc, dlls/serialui/serialui_rc.rc:
	serialui: Added Hungarian translation.

	* dlls/oledlg/oledlg_Hu.rc, dlls/oledlg/rsrc.rc:
	oledlg: Added Hungarian translation.

	* dlls/msvidc32/msvidc32_Hu.rc, dlls/msvidc32/rsrc.rc:
	msvidc32: Added Hungarian translation.

	* dlls/msvfw32/msvfw32_Hu.rc, dlls/msvfw32/rsrc.rc:
	msvfw32: Added Hungarian translation.

	* dlls/msrle32/msrle_Hu.rc, dlls/msrle32/rsrc.rc:
	msrle32: Added Hungarian translation.

	* dlls/msi/msi.rc, dlls/msi/msi_Hu.rc:
	msi: Added Hungarian translation.

	* dlls/mshtml/Hu.rc, dlls/mshtml/rsrc.rc:
	mshtml: Added Hungarian translation.

	* dlls/msacm/msacm.rc, dlls/msacm/msacm_Hu.rc:
	msacm: Added Hungarian translation.

	* dlls/mpr/mpr.rc, dlls/mpr/mpr_Hu.rc:
	mpr: Added Hungarian translation.

	* dlls/iccvid/iccvid_Hu.rc, dlls/iccvid/rsrc.rc:
	iccvid: Added Hungarian translation.

	* dlls/hhctrl.ocx/Hu.rc, dlls/hhctrl.ocx/hhctrl.rc:
	hhctrl.ocx: Added Hungarian translation.

	* dlls/comctl32/comctl_Hu.rc, dlls/comctl32/rsrc.rc:
	comctl32: Added Hungarian translation.

	* dlls/avifil32/avifile_Hu.rc, dlls/avifil32/rsrc.rc:
	avifil32: Added Hungarian translation.

2006-03-14  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/indexbuffer.c, dlls/d3d9/indexbuffer.c, dlls/wined3d/device.c,
	  dlls/wined3d/indexbuffer.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DINDEXBUFFER_DESC to wined3dtypes.h.

2006-03-15  Mike McCormack <mike@codeweavers.com>

	* dlls/comctl32/tests/treeview.c:
	comctl32: Fix some gcc 4.1 warnings.

2006-03-14  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/ds3d.c, dlls/dsound/tests/ds3d8.c,
	  dlls/dsound/tests/dsound.c, dlls/dsound/tests/dsound8.c:
	dsound: Add info to failed tests.
	Print format for failed SetFormat calls.

2006-03-08  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	advpack: Forward OpenINFEngineA and TranslateInfStringA to their
	unicode counterparts.

2006-03-04  Aric Cyr <aric.cyr@gmail.com>

	* dlls/dplayx/dplayx_global.c:
	dplayx: Fix semaphore deadlock.
	- Make sure to release the dplayx semaphore in for error cases as well.
	- Prevent race condition between creation of the semaphore and
	grabbing of the lock by creating the semaphore in the locked state
	instead of unlocked.

2006-03-04  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/x11drv/opengl.c:
	x11drv: Fix one case of "glXChooseFBConfig returns NULL" problem.
	Using alpha bits > 8 makes this function fail, while it should not.

2006-03-01  Rein Klazes <wijn@wanadoo.nl>

	* dlls/x11drv/dib_convert.c:
	x11drv: Avoid unaligned 32 bit reads, and reads beyond the input pixel
	buffer in the convert_888_to_0888_* functions.

2006-03-15  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/msvfw32/.gitignore, dlls/msvfw32/Makefile.in,
	  dlls/msvfw32/drawdib.c, dlls/msvfw32/mciwnd.c,
	  dlls/msvfw32/msvfw32.spec, dlls/msvfw32/msvfw32_De.rc,
	  dlls/msvfw32/msvfw32_En.rc, dlls/msvfw32/msvfw32_Ko.rc,
	  dlls/msvfw32/msvfw32_No.rc, dlls/msvfw32/msvfw32_Tr.rc,
	  dlls/msvfw32/msvideo.spec, dlls/msvfw32/msvideo16.c,
	  dlls/msvfw32/msvideo_main.c, dlls/msvfw32/msvideo_private.h,
	  dlls/msvfw32/rsrc.rc, dlls/msvfw32/vfw16.h, dlls/msvideo/.gitignore,
	  dlls/msvideo/Makefile.in, dlls/msvideo/drawdib.c,
	  dlls/msvideo/mciwnd.c, dlls/msvideo/msvfw32.spec,
	  dlls/msvideo/msvfw32_De.rc, dlls/msvideo/msvfw32_En.rc,
	  dlls/msvideo/msvfw32_Ko.rc, dlls/msvideo/msvfw32_No.rc,
	  dlls/msvideo/msvfw32_Tr.rc, dlls/msvideo/msvideo.spec,
	  dlls/msvideo/msvideo16.c, dlls/msvideo/msvideo_main.c,
	  dlls/msvideo/msvideo_private.h, dlls/msvideo/rsrc.rc,
	  dlls/msvideo/vfw16.h:
	msvideo: Renamed the msvideo directory to msvfw32.

	* configure, configure.ac, dlls/Makefile.in, dlls/w32skrnl/.gitignore,
	  dlls/w32skrnl/Makefile.in, dlls/w32skrnl/w32skernel.c,
	  dlls/w32skrnl/w32skrnl.spec, dlls/w32skrnl/w32sys.c,
	  dlls/w32skrnl/w32sys.spec, dlls/w32skrnl/win32s16.c,
	  dlls/w32skrnl/win32s16.spec, dlls/win32s/.gitignore,
	  dlls/win32s/Makefile.in, dlls/win32s/w32skernel.c,
	  dlls/win32s/w32skrnl.spec, dlls/win32s/w32sys.c,
	  dlls/win32s/w32sys.spec, dlls/win32s/win32s16.c,
	  dlls/win32s/win32s16.spec:
	win32s: Renamed the win32s directory to w32skrnl.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/winsock/.gitignore, dlls/winsock/Makefile.in,
	  dlls/winsock/async.c, dlls/winsock/protocol.c, dlls/winsock/socket.c,
	  dlls/winsock/socket16.c, dlls/winsock/tests/.gitignore,
	  dlls/winsock/tests/Makefile.in, dlls/winsock/tests/protocol.c,
	  dlls/winsock/tests/sock.c, dlls/winsock/version.rc,
	  dlls/winsock/winsock.spec, dlls/winsock/ws2_32.spec,
	  dlls/ws2_32/.gitignore, dlls/ws2_32/Makefile.in, dlls/ws2_32/async.c,
	  dlls/ws2_32/protocol.c, dlls/ws2_32/socket.c, dlls/ws2_32/socket16.c,
	  dlls/ws2_32/tests/.gitignore, dlls/ws2_32/tests/Makefile.in,
	  dlls/ws2_32/tests/protocol.c, dlls/ws2_32/tests/sock.c,
	  dlls/ws2_32/version.rc, dlls/ws2_32/winsock.spec,
	  dlls/ws2_32/ws2_32.spec, programs/winetest/Makefile.in:
	winsock: Renamed the winsock directory to ws2_32.

	* tools/Makefile.in:
	wineprefixcreate: Fixed datadir path. Added dependency on relpath.

2006-03-11  Pierre d'Herbemont <stegefin@free.fr>

	* tools/Makefile.in, tools/wineprefixcreate.in:
	wineprefixcreate: Make path searching relative.

2006-03-13  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/shell32/shlexec.c:
	shell32: Add parameter formatting rule to the command line if there isn't any.

2006-03-14  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/tests/.gitignore, dlls/wininet/tests/Makefile.in,
	  dlls/wininet/tests/http.c, dlls/wininet/tests/url.c:
	wininet: Move URL-related tests to a separate file.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Make InternetCrackUrlW set the components related to net_loc
	to NULL when net_loc isn't present in the input URL.

	* dlls/wininet/cookie.c, dlls/wininet/internet.c:
	wininet: Move cookie-related stubs to cookie.c

	* dlls/wininet/internet.c, dlls/wininet/internet.h,
	  dlls/wininet/netconnection.c:
	wininet: Implement setting of send and receive timeouts.

	* dlls/kernel/thread.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h,
	  dlls/ntdll/thread.c:
	ntdll: Move the call to MODULE_DllThreadAttach from the kernel32
	thread creation function to the NTDLL one.

2006-03-14  Robert Reif <reif@earthlink.net>

	* dlls/winmm/wineesd/audio.c:
	wineesd: Use pipe sync for events.
	Ues pipe sync code from OSS/ALSA rather than windows events.

2006-03-13  Jan Zerebecki <jan.wine@zerebecki.de>

	* dlls/x11drv/opengl.c:
	x11drv: Prevent out of bound access in DescribePixelFormat.

	* tools/wine.inf:
	wine.inf: Increase the DirectX version to that of the latest 9.0c .

2006-03-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/ddraw/tests/d3d.c:
	ddraw: Don't crash in d3d test if OpenGL is missing.

2006-03-10  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/store.c:
	crypt32: Abstract contexts.
	- create a base cert context, and make functions unaware whether
	they're dealing with the base or derived type
	- simplify stores as a result

2006-03-11  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shlview.c:
	shell32: Fix some gcc 4.1 warnings caused by casts in macros.

2006-03-12  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c:
	wined3d: Vertexdeclaration fix.
	In the old d3d8 code SetVertexShader stored the so called vertex
	declaration in the stateblock. In case of WineD3D this isn't done
	which breaks the drawPrimitive code. This patch stores the vertex
	declaration again in the stateblock which fixes Age Of Mythology.

2006-03-11  Hans Leidekker <hans@it.vu.nl>

	* dlls/advapi32/advapi32.spec, dlls/advapi32/lsa.c, include/ntsecapi.h:
	advapi32: Add stub implementations for a bunch of documented Lsa APIs.

2006-03-10  Christoph Frick <rid@zefix.tv>

	* dlls/dinput/joystick_linuxinput.c:
	dinput/joystick_linuxinput: Add POV detection and reporting.
	Mapping of ABS_HAT[0-3][XY] to the four POV used by dinput.

2006-03-13  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/Makefile.in, dlls/ntdll/ntdll.spec, dlls/ntdll/threadpool.c,
	  include/winternl.h:
	ntdll: Very crude implementation of RtlQueueWorkItem.

	* dlls/kernel/thread.c:
	kernel: Implement QueueUserWorkItem.

2006-03-11  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Fix the conversion of NULL component values from InternetCreateUrlA.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Host name isn't present when two slashes aren't present in InternetCrackUrl.
	The test for "about:" in InternetCrackUrlW should be more general so
	that only URLs without double slashes should also be assumed not to
	have a host name.
	Add another test for this case and remove an unreliable
	InternetCreateUrl test.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: InternetCrackUrl should set nPort to the default port if not specified.

2006-03-11  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/vertexbuffer.c, dlls/d3d9/vertexbuffer.c,
	  dlls/wined3d/vertexbuffer.c, include/wine/wined3d_interface.h,
	  include/wine/wined3d_types.h:
	wined3d: Add WINED3DVERTEXBUFFER_DESC to wined3d_types.h.

2006-03-12  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/wined3d/pixelshader.c:
	wined3d: Don't override variable that still has something we need.
	Use local temp variable instead.

	* dlls/wined3d/pixelshader.c:
	wined3d: Add D3DSIO_TEXM3x3PAD to opcode list. We already handle it where we should.

2006-03-12  Paul Vriens <Paul.Vriens@xs4all.nl>

	* tools/wine.inf:
	wine.inf: Add RegisteredOwner and Org also to WindowsNT branch.

2006-03-11  Mike McCormack <mike@codeweavers.com>

	* dlls/avifil32/avifile.c:
	avifil32: Use HeapAlloc instead of LocalAlloc.

	* dlls/avifil32/editstream.c:
	avifil32: Use HeapAlloc instead of Global/LocalAlloc.

	* dlls/avifil32/extrachunk.c:
	avifil32: Use HeapAlloc instead of Local Alloc.

	* dlls/avifil32/acmstream.c:
	avifil32: Use HeapAlloc instead of GlobalAlloc/LocalAlloc.

	* dlls/avifil32/tmpfile.c:
	avifil32: Use HeapAlloc/Free instead of LocalAlloc/Free.

	* dlls/avifil32/factory.c:
	avifil32: Use HeapAlloc instead of LocalAlloc.  Make sure to free the memory.

2006-03-10  Alexandre Julliard <julliard@winehq.org>

	* programs/winefile/winefile.c:
	winefile: Refresh the drives and files upon WM_DEVICECHANGE.

2006-03-09  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d8/cubetexture.c, dlls/d3d8/surface.c, dlls/d3d8/texture.c,
	  dlls/d3d8/volume.c, dlls/d3d8/volumetexture.c,
	  dlls/d3d9/cubetexture.c, dlls/d3d9/surface.c, dlls/d3d9/texture.c,
	  dlls/d3d9/volume.c, dlls/d3d9/volumetexture.c,
	  dlls/wined3d/basetexture.c, dlls/wined3d/cubetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/directx.c,
	  dlls/wined3d/drawprim.c, dlls/wined3d/indexbuffer.c,
	  dlls/wined3d/query.c, dlls/wined3d/resource.c,
	  dlls/wined3d/surface.c, dlls/wined3d/texture.c, dlls/wined3d/utils.c,
	  dlls/wined3d/vertexbuffer.c, dlls/wined3d/volume.c,
	  dlls/wined3d/volumetexture.c, dlls/wined3d/wined3d_private.h,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Consistently use WINED3DRESOURCETYPE.

2006-03-11  Mike McCormack <mike@codeweavers.com>

	* dlls/avifil32/avifile.c, dlls/avifil32/wavfile.c:
	avifil32: Use CoTaskMemAlloc when allocating memory to return through
	an OLE interface.

	* dlls/avifil32/api.c, dlls/avifil32/avifile.c, dlls/avifil32/getframe.c,
	  dlls/avifil32/icmstream.c, dlls/avifil32/wavfile.c:
	avifil32: Fix some gcc 4.1 warnings cause by windowsx.h macros.

2006-03-10  Mike McCormack <mike@codeweavers.com>

	* dlls/commdlg/colordlg.c:
	comdlg32: Remove the property when destroy the dialog box.

2006-03-09  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/Makefile.in, dlls/crypt32/crypt32_private.h,
	  dlls/crypt32/proplist.c, dlls/crypt32/store.c:
	crypt32: Move context properties to a separate file.

2006-03-09  Robert Reif <reif@earthlink.net>

	* dlls/winmm/wineesd/audio.c:
	wineesd: Update ESD driver to closer match OSS and ALSA drivers.

2006-03-10  Petr Tesarik <hat@tesarici.cz>

	* programs/winedbg/be_i386.c:
	winedbg: Fix lcall instruction opcode.

2006-03-10  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	wininet: Don't duplicate empty strings.

2006-03-10  Fatih Asici <fasici@linux-sevenler.org>

	* programs/wordpad/Tr.rc, programs/wordpad/rsrc.rc:
	wordpad: Add Turkish resource file.

	* programs/winecfg/Tr.rc:
	winecfg: Update Turkish resource file.

2006-03-09  Fatih Aşıcı <fasici@linux-sevenler.org>

	* documentation/README.tr:
	documentation: Turkish translation of README file.

2006-03-10  Alexandre Julliard <julliard@winehq.org>

	* aclocal.m4, configure:
	aclocal.m4: Avoid invalid characters in the cache variable name in WINE_GET_SONAME.

2006-03-10  Mike McCormack <mike@codeweavers.com>

	* dlls/commdlg/colordlg.c:
	comdlg32: Use a property for the color dialog's information.

2006-03-09  Alexandre Julliard <julliard@winehq.org>

	* include/dbt.h:
	dbt.h: Added DBTF_ flags.

	* dlls/user/message.c:
	user: Support packing/unpacking the WM_DEVICECHANGE message.

2006-03-09  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/cookie.c, dlls/wininet/tests/internet.c:
	wininet: Fix InternetGetCookie with no matching cookies.
	Return FALSE and an error of ERROR_NO_MORE_ITEMS from
	InternetGetCookie when there are no cookies for the specified
	domain. This fixes a bug in sending a blank cookie to HTTP servers.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Fix an off-by-one error in InternetCreateUrlW.
	Fix an off-by-one error in the size of buffer used to store the port
	number in InternetCreateUrlW.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Further InternetCreateFileW fixes.
	- Add the slash after the port number.
	- Only add the port number if the host name is present.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: If necessary, add a slash between the hostname and path in
	InternetCreateUrlW.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: More InternetCreateUrlW fixes.
	- Don't add double slashes for opaque URLs.
	- The default port number for all other schemes is 0.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Parse the scheme the string in InternetCreateFileW.
	Parse the scheme the string in InternetCreateFileW and rewrite
	url_uses_default_port using schemes instead of strings.

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Get the string for the scheme if specified only by the
	INTERNET_SCHEME enumeration in InternetCreateUrlW.

	* dlls/wininet/internet.c:
	wininet: The host name is optional in InternetCreateUrlW.

	* dlls/wininet/internet.c:
	wininet: Use an array of schemes for mapping from a string to an INTERNET_SCHEME.
	Use an array of schemes so that it can be re-used for mapping from
	INTERNET_SCHEME back to a string and simplify the code in
	GetInternetSchemeW.

	* dlls/wininet/internet.c:
	wininet: Fix Trace in InternetCreateUrl.
	The url passed in to InternetCreateUrl is an out parameter, so don't
	dump it.

	* dlls/wininet/http.c:
	wininet: Fix redirects with relative URIs instead of absolute URIs.

2006-03-09  Christoph Frick <rid@zefix.tv>

	* dlls/dinput/joystick_linuxinput.c:
	dinput/linuxinput: Fix handling of DIPH_BYID.
	- handling of DIPH_BYID
	- use regular id and not shifted one also for axes
	- may only Acquire after SetDataFormat

2006-03-09  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi: Load system fonts from $(datadir)/wine/fonts if loading from
	%windir%\fonts has failed.

	* dlls/gdi/enhmfdrv/objects.c, dlls/gdi/mfdrv/objects.c,
	  dlls/wineps/pen.c, dlls/x11drv/pen.c:
	gdi: A better workaround for extended user style pens.

2006-03-08  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/drawprim.c:
	wined3d: Use OpenGL fragment programs when available.

	* dlls/wined3d/drawprim.c:
	wined3d: Remove an incorrect FIXME.

	* dlls/wined3d/vertexshader.c:
	wined3d: Enable color fixups for vertex shaders.

	* dlls/wined3d/vertexshader.c:
	wined3d: Minor vshader_program_add_param cleanup.
	- In vshader_program_add_param, pass a pointer to the shader object
	instead of individual parameters.
	- In vshader_program_add_param, rename input to is_input to make it
	clearer what the parameter does.
	- Fix a typo & cleanup a comment.

2006-03-08  Francois Gouget <fgouget@codeweavers.com>

	* dlls/oleaut32/olepicture.c:
	oleaut32: Reorder a few functions to avoid forward declaractions.

2006-03-09  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/d3d9/swapchain.c, dlls/wined3d/swapchain.c,
	  include/wine/wined3d_interface.h:
	wined3d: Use WINED3DPRESENT_PARAMETERS in IWineD3DSwapChain::GetPresentParameters.

2006-03-09  Mike McCormack <mike@codeweavers.com>

	* dlls/user/listbox.c, dlls/user/tests/listbox.c:
	user: The height of a ListBox item can be no more than MAXBYTE.

	* dlls/msi/action.c:
	msi: Remove some unnecessary indent.

	* dlls/msi/tests/package.c:
	msi: Make sure to run tests for MsiEvaluateCondition.

2006-03-09  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/htmlelem.c:
	mshtml: Added beginning of getAttribute implementation.

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlbody.c, dlls/mshtml/htmlelem.c,
	  dlls/mshtml/mshtml_private.h, dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLBodyElement implementation.

2006-03-07  Huw Davies <huw@codeweavers.com>

	* configure, configure.ac, dlls/opengl32/opengl32.spec,
	  dlls/opengl32/wgl.c, include/config.h.in:
	opengl32: Implement wglUseFontOutlines.

2006-03-07  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec:
	crypt32: Implement CertGetValidUsages.

2006-03-08  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/wined3d/device.c, dlls/wined3d/drawprim.c, dlls/wined3d/surface.c,
	  dlls/wined3d/volume.c, include/wine/wined3d_types.h:
	wined3d: Add D3DLOCK_* types to wined3d_types.h.

2006-03-07  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/htmltextarea.c:
	mshtml: Added get_name and get_value implementation of IHTMLTextAreaElement interface.

	* dlls/mshtml/htmlselect.c:
	mshtml: Added get_name and get_value implementation of IHTMLSelectElement interface.

	* dlls/mshtml/htmlinput.c:
	mshtml: Added get_type, get_value, get_name and get_checked
	implementation of IHTMLInputElement interface.

2006-03-07  Peter Åstrand <astrand@cendio.se>

	* dlls/comctl32/listview.c:
	comctl32: LISTVIEW_InsertItemT should accept iItem < 0, when using sorted lists.

2006-03-07  Hans Leidekker <hans@it.vu.nl>

	* dlls/mscms/tests/profile.c:
	mscms: Add tests for EnumColorProfiles{A,W}.

	* dlls/mscms/profile.c, dlls/mscms/stub.c, include/icm.h:
	mscms: Implement EnumColorProfiles{A,W}.

2006-03-07  Dmitry Timoshkov <dmitry@codeweavers.com>

	* fonts/Makefile.in:
	fonts: Install fonts in $(datadir)/wine/fonts.

2006-03-08  Alexandre Julliard <julliard@winehq.org>

	* dlls/Makeimplib.rules.in:
	dlls: Added a default install-lib rule for dlls that don't have one.

2006-03-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/desktop.c:
	x11drv: Don't send an invalid WM_NCCREATE to the desktop window.

	* server/trace.c:
	server: Fixed length check in dump_inline_unicode_string.

	* dlls/shell32/systray.c, programs/explorer/desktop.c,
	  programs/explorer/explorer.c, programs/explorer/explorer_private.h,
	  programs/explorer/systray.c, programs/explorer/systray.h:
	explorer: Merged systray support with the desktop window main loop.
	Systray is now always available as part of the desktop and doesn't
	need to be started from shell32.

	* dlls/user/win.c, dlls/x11drv/winpos.c, include/wine/server_protocol.h,
	  server/protocol.def, server/trace.c, server/window.c:
	user: Launch explorer to manage the desktop window.

	* programs/explorer/Makefile.in, programs/explorer/desktop.c,
	  programs/explorer/explorer.c, programs/explorer/explorer_private.h:
	explorer: Added desktop option.
	The /desktop option causes explorer to create and manage the desktop
	window.

2006-03-07  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/actctx.c:
	kernel: Improve the activation context stubs.

2006-03-06  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/drawprim.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/vertexshader.c:
	wined3d: Fix a few FIXME's.

	* dlls/wined3d/device.c:
	wined3d: Implement GetCreationParameters (from a patch by Al Tobey).

2006-03-06  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/wined3d/basetexture.c, dlls/wined3d/device.c,
	  dlls/wined3d/surface.c, dlls/wined3d/utils.c,
	  include/wine/wined3d_types.h:
	wined3d: Define D3D usage flags in wined3d_types.h.

	* dlls/wined3d/device.c, dlls/wined3d/directx.c, dlls/wined3d/surface.c,
	  include/wine/wined3d_types.h:
	wined3d: Add device caps to wined3d_types.h.

2006-03-06  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c,
	  dlls/mshtml/htmltextarea.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLTextAreaElement implementation.

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c,
	  dlls/mshtml/htmlselect.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLSelectElement implementation.

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c,
	  dlls/mshtml/htmlinput.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLInputElement implementation.

	* dlls/mshtml/htmlelem.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLElementCollection::tags implementation.

2006-03-06  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/store.c:
	crypt32: Simplify stores.
	Ref count cert context references, and eliminate the DupCert function
	from stores.

2006-03-06  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c:
	kernel: Better support for detached processes.
	Call setsid() in the new process to create a new Unix process group
	when CREATE_NEW_PROCESS_GROUP, CREATE_NEW_CONSOLE, or DETACHED_PROCESS
	are specified.

	* dlls/x11drv/window.c, dlls/x11drv/winpos.c:
	x11drv: Make sure to never manipulate the root window, even if we own
	the desktop window.

	* server/process.c, server/user.h, server/window.c, server/winstation.c:
	server: Support for closing the desktop window.
	If a thread is owning the desktop window, when all other users of the
	desktop have exited, signal the owner to close the desktop (with a 1
	second delay).

	* server/object.c, server/object.h:
	server: Added unlink_named_object function.
	Allows to remove the name of an object while keeping around the object
	itself.

	* server/class.c, server/user.h, server/window.c:
	server: Infrastructure for having a thread own the desktop window.

	* dlls/mlang/mlang.c:
	mlang: Decrement the module refcount when an object is destroyed.

2006-03-06  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d8/volume.c, dlls/d3d9/volume.c, dlls/wined3d/volume.c,
	  dlls/wined3d/volumetexture.c, include/wine/wined3d_interface.h:
	wined3d: Fix the relation between volumes and their container.

	* dlls/d3d8/surface.c, dlls/d3d9/surface.c, dlls/wined3d/cubetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/surface.c,
	  dlls/wined3d/swapchain.c, dlls/wined3d/texture.c,
	  include/wine/wined3d_interface.h:
	wined3d: Fix the relation between surfaces and their container.

	* dlls/wined3d/surface.c:
	wined3d: Don't call glCompressedTexImage2DARB without allocatedMemory.
	Don't call glCompressedTexImage2DARB if we haven't got allocatedMemory (yet).
	Fix a small typo.

2006-03-06  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	wininet: Rewrite InternetCreateUrlW.
	- Rewrite InternetCreateUrlW to respect the lengths passed in via the
	URL_COMPONENTS structure and fall back to a strlenW call when a
	length is zero.
	- Expand the number of protocols supported when determining whether
	the port number should be added.
	- Fix a test by passing in the correct length of scheme.

	* dlls/wininet/http.c, dlls/wininet/internet.h,
	  dlls/wininet/netconnection.c:
	wininet: Don't continue to connect to a secure server without SSL support since it won't work.
	Don't continue to connect to a secure server without SSL support since
	it won't work. Return an error back to the application instead.

	* dlls/wininet/tests/http.c:
	wininet: More tests for InternetCreateUrl.
	Fix an InternetCreateUrl test so that it correctly sets the scheme
	length and add tests which show the behaviour when the lengths are set
	to zero and when the https scheme is used.

2006-03-06  Victor Pelt <victor.pelt@gmail.com>

	* dlls/wininet/internet.c:
	wininet: Add stub for missing InternetSetOption.

2006-03-06  Alexandre Julliard <julliard@winehq.org>

	* include/wine/library.h, libs/wine/Makefile.in, libs/wine/config.c,
	  libs/wine/wine.def, libs/wine/wine.map:
	libwine: Export a function to retrieve the data directory (based on a
	patch by Dmitry Timoshkov).

2006-03-06  Francois Gouget <fgouget@free.fr>

	* dlls/mshtml/main.c, dlls/urlmon/regsvr.c:
	Fix compatibility with native advpack dlls.
	Most native advpack dlls in circulation don't have RegInstallA. So
	mshtml and urlmon should do a GetProcAddress() on 'RegInstall'
	instead.

2006-03-06  Mike McCormack <mike@codeweavers.com>

	* tools/wrc/parser.l:
	wrc: Don't use identifiers starting yy*, they're reserved for flex.

	* dlls/avifil32/editstream.c:
	avifil32: Fix some more gcc 4.1 warnings caused by windowsx.h macros.

2006-03-06  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/navigate.c, dlls/shdocvw/webbrowser.c:
	shdocvw: Added get_LocationURL implementation.

2006-03-05  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/htmlelem.c, dlls/mshtml/htmlnode.c:
	mshtml: Added IHTMLElementCollection implementation.
	- Added IHTMLElementCollection implementation.
	- Added get_all implementation.

2006-03-06  Alexandre Julliard <julliard@winehq.org>

	* dlls/shell32/shlfileop.c:
	shell32: Grow the file list dynamically in SHFileOperation.
	This avoids searching the same directories twice, once to count the
	files and then once for real.

	* dlls/shell32/shlfileop.c:
	shell32: Store only the file attributes in the file list for SHFileOperation.
	We don't need the rest of the WIN32_FIND_DATA structure.

	* dlls/shell32/shlfileop.c:
	shell32: Fixed handling of null-terminated file list in SHFileOperation.

2006-03-03  Aric Stewart <aric@codeweavers.com>

	* dlls/shell32/shlfileop.c:
	shell32: Skip dot directories in SHFileOperation.
	In ShFileOperation when generating a file list with * wildcards, for
	example for deletion, do not include the dot directories (. and ..) in
	the list, because that cause the operation to spiral out of control.

2006-03-06  Alexandre Julliard <julliard@winehq.org>

	* server/winstation.c:
	server: Avoid crash in set_thread_desktop if the thread doesn't have a queue.

	* dlls/user/win.c, include/wine/server_protocol.h, server/protocol.def,
	  server/trace.c, server/window.c:
	server: Return real parent and owner in the create_window request.
	Remove computing of parent and owner handles on the client side.

	* dlls/user/desktop.c:
	user: Allow creating windows of the desktop class.

	* dlls/user/message.c:
	user: Allow some Wine internal messages to act on the desktop window.

2006-03-05  Mike McCormack <mike@codeweavers.com>

	* dlls/mpr/mpr.spec, dlls/mpr/nps.c:
	mpr: Stub implementations of some mpr functions.

2006-03-05  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shellfolder.h, dlls/shell32/shfldr_fs.c,
	  dlls/shell32/shfldr_unixfs.c, dlls/shell32/shv_bg_cmenu.c:
	shell32: Unicode'ify ISFHelper interface.

2006-03-05  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/wined3d/directx.c:
	wined3d: Fix retrieval of driver adapter versions.

2006-03-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/dwarf.c,
	  dlls/dbghelp/msc.c, dlls/dbghelp/stabs.c, dlls/dbghelp/type.c:
	dbghelp: Added type for array index.
	- added type for array index
	- correctly parsing array index type in stabs, Dwarf2 and MSC formats
	- fixed SyGetTypeInfo accordingly

	* dlls/msvcrt/tests/cpp.c, dlls/msvcrt/undname.c:
	msvcrt: Some more fixes to name demangling.

	* dlls/dbghelp/type.c:
	dbghelp: Implemented TI_GET_COUNT in SymGetTypeInfo for function.

2006-03-05  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/wined3d/directx.c, include/wine/wined3d_types.h:
	wined3d: Add d3d7 and d3d8/9 cap flags to wined3d_types.h.

2006-03-05  Jason Green <jave27@gmail.com>

	* dlls/wined3d/utils.c:
	wined3d: Add a few more WINED3DFMT formats to be recognized.

2006-03-05  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c:
	shdocvw: Beginning ShowContextMenu implementation.

	* dlls/mshtml/htmldoc3.c, dlls/mshtml/nsiface.idl:
	mshtml: Added get_documentElement implementation.

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmlelem.c, dlls/mshtml/htmlnode.c,
	  dlls/mshtml/mshtml_private.h, dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLElement implementation.

	* include/mshtmdid.h, include/mshtml.idl:
	mshtml: Added more interfaces to mshtml.idl.

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmldoc.c, dlls/mshtml/htmlnode.c,
	  dlls/mshtml/mshtml_private.h, dlls/mshtml/nsiface.idl:
	mshtml: Added IHTMLDOMNode implementation.

2006-03-05  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c, dlls/wined3d/directx.c,
	  include/wine/wined3d_gl.h:
	wined3d: Added OpenGL 2.0 function definitions.

2006-03-05  Robert Shearman <rob@codeweavers.com>

	* programs/wcmd/wcmdmain.c:
	wcmd: Improve command line processing.
	Make the command line processing more robust by continuing to process
	command line options if an unknown one is detected and remove the
	skipping of argv[0], which is no longer necessary. This fixes the
	parsing when argv[0] isn't set to the program name.

	* dlls/oleaut32/oleaut32.spec, dlls/oleaut32/vartype.c:
	oleaut: Implement VarBstrFromDisp.

	* dlls/oleaut32/tests/vartest.c, dlls/oleaut32/varformat.c:
	oleaut: Fix VarFormat for VT_NULL variants.

	* dlls/ole32/compobj_private.h, dlls/ole32/marshal.c, dlls/ole32/rpc.c:
	ole: Implement IRpcChannelBuffer::GetDestCtx on the client side.

	* dlls/ole32/compobj_private.h, dlls/ole32/marshal.c:
	ole: Store the destination context and the destination context data in
	the proxy manager when unmarshaling.

	* include/olectl.h:
	include: Add more definitions and types to olectl.h.

	* dlls/oleaut32/tests/vartest.c:
	oleaut: Add some more VarFormat tests and fix the VarMod decimal test.

	* dlls/oleaut32/olepicture.c:
	oleaut: Split OLEPictureImpl_Load.
	Split OLEPictureImpl_Load into separate functions for the different file
	types.

2006-03-05  Mike McCormack <mike@codeweavers.com>

	* programs/winecfg/audio.c:
	winecfg: Fix a typo (LVM_ -> TVM_).

2006-03-01  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_DEPTHBIAS.

2006-03-04  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c:
	wined3d: Added two sided stencil support to WINED3DRS_STENCILFUNC.

	* dlls/wined3d/device.c:
	wined3d: Added two sided stencil support to WINED3DRS_STENCILFAIL,
	WINED3DRS_STENCILZFAIL and WINED3DRS_STENCILPASS.

	* dlls/wined3d/device.c:
	wined3d: Implemented fallback for separate stencil function in WINED3DRS_CCW_STENCILFUNC.

	* dlls/wined3d/device.c, include/wine/wined3d_gl.h:
	wined3d: Implemented fallback for separate stencil operation in WINED3DRS_CCW_STENCIL*.

2006-03-03  Detlef Riekenberg <wine.dev@web.de>

	* dlls/wined3d/device.c:
	wined3d: Fix cut&paste typo.

2006-03-03  Stefan Dösinger <stefandoesinger@gmx.at>

	* include/wine/wined3d_types.h:
	wined3d: Add D3D7 texture stage types.

	* include/wine/wined3d_types.h:
	wined3d: Add D3D7 render states.

2006-03-04  Dmitry Timoshkov <dmitry@codeweavers.com>

	* programs/winebrowser/main.c:
	winebrowser: Use CP_UNIXCP when translating URL passed on command line
	to unicode.

2006-03-04  Byeong-Sik Jeon <wjsqudtlr@gmail.com>

	* dlls/user/sysparams.c:
	user32: Fix the default height for CJK fonts.

2006-03-04  Mike McCormack <mike@codeweavers.com>

	* dlls/avifil32/acmstream.c:
	avifil32: Eliminate some gcc 4.1 warnings caused by windowsx.h macros.

2006-03-03  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/Makefile.in, dlls/crypt32/crypt32_private.h,
	  dlls/crypt32/serialize.c, dlls/crypt32/store.c:
	crypt32: Move serialization functions to serialize.c.

2006-03-03  Christian Gmeiner <christian.gmeiner@students.fh-vorarlberg.ac.at>

	* dlls/mlang/mlang.c:
	mlang: Implement DllCanUnloadNow.

2006-03-02  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/tests/bitmap.c, dlls/x11drv/dib.c, dlls/x11drv/palette.c,
	  dlls/x11drv/x11drv.h:
	gdi: Better support for 1bpp dib sections.

2006-03-03  Mike McCormack <mike@codeweavers.com>

	* programs/regedit/childwnd.c, programs/regedit/framewnd.c,
	  programs/regedit/listview.c:
	regedit: Fix some gcc 4.1 warnings caused by casts in macros.

	* programs/winecfg/audio.c:
	winecfg: Eliminate some gcc 4.1 warnings caused by casts in macros.

	* dlls/shell32/brsfolder.c:
	shell32: Fix some gcc 4.1 warnings caused by casts in macros.

	* dlls/msrle32/msrle32.c:
	msrle32: Fix some gcc 4.1 warnings caused by casts in windowsx.h macros.

	* dlls/hhctrl.ocx/help.c:
	hhctrl.ocx: Fix a gcc 4.1 warning caused by a cast in a macro.

	* dlls/comctl32/listview.c, dlls/comctl32/pager.c:
	comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros.

2006-03-02  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/store.c, include/wincrypt.h:
	crypt32: Implement CertDuplicateStore.

2006-03-02  Francois Gouget <fgouget@free.fr>

	* dlls/d3d8/d3d8_main.c, dlls/d3d9/d3d9_main.c:
	d3d: Fix Validate(Pixel|Vertex)Shader() prototypes.
	Fix Validate(Pixel|Vertex)Shader() prototypes so they match the spec file.
	Fix the stub message so it is more standard and use consistent
	parameter names.

	* dlls/kernel/heap.c:
	kernel: Protect sys/resource.h include.

2006-03-02  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.9.

----------------------------------------------------------------
2006-03-02  Alexandre Julliard <julliard@winehq.org>

	* dlls/dxdiagn/container.c, dlls/ole32/ole2.c, dlls/ole32/oleobj.c,
	  dlls/riched20/editor.c, dlls/riched20/tests/editor.c,
	  dlls/shell32/tests/shlfolder.c, include/ddk/wdm.h, server/change.c:
	Fixed some compiler warnings on old gcc versions.

	* dlls/Makefile.in, dlls/make_dlls:
	dlls: Remove 16-bit files on make clean.

2006-03-02  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c, include/wine/wined3d_gl.h:
	wined3d: Opengl 2.x compile fix.

2006-03-01  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/user/menu.c:
	user: Fix uninitialized rectangle in menu arrow painting.

2006-03-01  Mike McCormack <mike@codeweavers.com>

	* tools/wine.inf:
	wine.inf: Add a default RelayExclude.

2006-03-01  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/winedbg.c, programs/winedbg/winedbg.man.in:
	winedbg: Bring usage() and .man up to date.

	* programs/winedbg/debugger.h, programs/winedbg/stack.c,
	  programs/winedbg/tgt_minidump.c, programs/winedbg/winedbg.c:
	winedbg: Add ability to reload a minidump.
	- now recognize winedbg foo.mdmp on command line
	- fleshed out tgt_minidump to reload information from minidump

	* programs/winedbg/debugger.h, programs/winedbg/gdbproxy.c,
	  programs/winedbg/tgt_active.c, programs/winedbg/winedbg.c:
	winedbg: process_io
	- added ability to specify process_io at process creation/attachment
	time
	- created a process_io structure for gdbproxy

	* programs/winedbg/debugger.h, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: main_loop.
	- split dbg_main_loop in two parts (one for finishing the debuggee
	attachment, the second one really for handling the main loop)
	- removed now longer needed dbg_main_loop

2006-03-01  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/navigate.c:
	shdocvw: Don't call hlink_navigate if HLNF_OPENINNEWWINDOW is set.
	- Don't call hlink_navigate if HLNF_OPENINNEWWINDOW is set.
	- Remove unneeded call to GetBindInfo.

	* dlls/mshtml/htmldoc.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/navigate.c, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c, dlls/mshtml/nsservice.c:
	mshtml: Beginning support for links opened in a new frame.

	* dlls/mshtml/nsembed.c:
	mshtml: Use NSContainer as 'This' of its window.

2006-02-24  Gerold J. Wucherpfennig <gjwucherpfennig@gmx.net>

	* dlls/cabinet/cabinet.h, dlls/cabinet/fci.c:
	cabinet: Set proper error information on failures.

2006-03-01  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c, dlls/user/tests/menu.c:
	user32: Fix handling of '\b' right flush character in menus.
	- do not add extra space; modify the tests to confirm this;
	- right flush to the menu tab stop, not to the menu border;
	- small fixes to the menu tab stop calculation.

2006-03-01  Brandon Woodmansee <wood@socal.rr.com>

	* dlls/riched20/editor.c, dlls/riched20/editor.h, dlls/riched20/editstr.h,
	  dlls/riched20/tests/editor.c:
	riched20: Implement EM_AUTOURLDETECT & EM_GETAUTOURLDETECT.

2006-03-01  Jeremy White <jwhite@codeweavers.com>

	* dlls/crypt32/tests/oid.c:
	crypt32: More gcc 2.95 adjustments.

2006-03-02  Aric Cyr <aric.cyr@gmail.com>

	* dlls/wined3d/utils.c:
	wined3d: Reverse GL_BGR to GL_RGB for the D3D RGB formats.
	This fixes texture colours in many D3D games (verified with Age Of Mythology).

2006-03-01  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/marshal.c, dlls/ole32/stubmanager.c:
	ole: Change NORMALEXTREFS to 5, like it is in native.

	* dlls/ole32/marshal.c, dlls/ole32/tests/marshal.c:
	ole: Fix marshaling of proxies for interfaces that haven't already been unmarshaled.

	* dlls/oleaut32/connpt.c:
	oleaut: Use IsEqualIID in connpt.c instead of memcmp for comparing IIDs.

	* dlls/rpcrt4/ndr_stubless.c, include/Makefile.in, include/ndrtypes.h:
	rpcrt4: Change the stubless parameter attributes to using a bitfield
	(as defined by the PSDK) so the ServerAllocSize part is easier to
	calculate.

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Implement marshaling and unmarshaling for enum types.

2006-03-01  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/store.c:
	crypt32: Use CertFindCertificateInStore to simplify adding certificates.

2006-03-01  Jon Parshall <jparshall@codeweavers.com>

	* dlls/shell32/shres.rc:
	shell32: New icons for Desktop and My Computer.

2006-03-01  Jason Edmeades <us@edmeades.me.uk>

	* dlls/user/menu.c:
	user32: Ensure VK_UP displays the popup menu for the selected item if
	the popup menu is not visible

2006-03-01  Marcus Meissner <marcus@jet.franken.de>

	* documentation/PACKAGING:
	PACKAGING: Mention more libraries / tools in the needed dependencies section.

2006-02-28  Gerald Pfeifer <gerald@pfeifer.com>

	* README:
	README: Fix spelling Red Hat.  Remove unneeded references to Debian
	and Red Hat.  Document the use of libxml2 as a weak prerequisite.

2006-03-01  Mike McCormack <mike@codeweavers.com>

	* configure, configure.ac, include/config.h.in, server/signal.c:
	server: Print a message if wineserver crashes and we don't dump cores.

2006-02-25  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/x11drv/settings.c:
	x11drv: Convert 24-bit into 32-bit color before looking for an
	available screen resolution. We do this during enumeration, so there
	would be no 24-bit modes available.

2006-02-28  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/store.c:
	crypt32: Eliminate an unnecessary function pointer from stores.

2006-02-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* programs/notepad/main.c:
	notepad: Wrap long lines by default like Windows does.

2006-02-27  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/comm.c:
	kernel32: Implemented ClearCommError on top of GET_COMM_STATUS ioctl.

	* dlls/ntdll/serial.c:
	ntdll: Implemented serial IOCTL for status: GET_COMM_STATUS.

2006-02-28  Alexandre Julliard <julliard@winehq.org>

	* tools/wrc/parser.y:
	wrc: Integer ids can be used for control labels instead of strings.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/winnls/.gitignore, dlls/winnls/Makefile.in,
	  dlls/winnls/winnls.c, dlls/winnls/winnls.spec,
	  dlls/winnls/winnls32.spec, dlls/winnls32/.gitignore,
	  dlls/winnls32/Makefile.in, dlls/winnls32/winnls.c,
	  dlls/winnls32/winnls.spec, dlls/winnls32/winnls32.spec:
	winnls32: Renamed the winnls directory to winnls32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/winaspi/.gitignore, dlls/winaspi/Makefile.in,
	  dlls/winaspi/aspi.c, dlls/winaspi/aspi.h, dlls/winaspi/winaspi.spec,
	  dlls/winaspi/winaspi16.c, dlls/winaspi/winaspi32.c,
	  dlls/winaspi/winescsi.h, dlls/winaspi/wnaspi32.spec,
	  dlls/wnaspi32/.gitignore, dlls/wnaspi32/Makefile.in,
	  dlls/wnaspi32/aspi.c, dlls/wnaspi32/aspi.h,
	  dlls/wnaspi32/winaspi.spec, dlls/wnaspi32/winaspi16.c,
	  dlls/wnaspi32/winaspi32.c, dlls/wnaspi32/winescsi.h,
	  dlls/wnaspi32/wnaspi32.spec:
	wnaspi32: Renamed the winaspi directory to wnaspi32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/lz32/.gitignore, dlls/lz32/Makefile.in, dlls/lz32/lz32.spec,
	  dlls/lz32/lzexpand.spec, dlls/lz32/lzexpand16.c,
	  dlls/lz32/lzexpand_main.c, dlls/lz32/tests/.gitignore,
	  dlls/lz32/tests/Makefile.in, dlls/lz32/tests/lzexpand_main.c,
	  dlls/lzexpand/.gitignore, dlls/lzexpand/Makefile.in,
	  dlls/lzexpand/lz32.spec, dlls/lzexpand/lzexpand.spec,
	  dlls/lzexpand/lzexpand16.c, dlls/lzexpand/lzexpand_main.c,
	  dlls/lzexpand/tests/.gitignore, dlls/lzexpand/tests/Makefile.in,
	  dlls/lzexpand/tests/lzexpand_main.c, programs/winetest/Makefile.in:
	lz32: Renamed lzexpand directory to lz32.

	* dlls/ntdll/loader.c:
	ntdll: Don't reset the load count when reusing a builtin modref.

2006-02-23  Detlef Riekenberg <wine.dev@web.de>

	* tools/wine.inf:
	wine.inf: Add printing section for local port monitor.

2006-02-27  Robert Reif <reif@earthlink.net>

	* dlls/dsound/duplex.c:
	dsound: Fix duplex create bug.

2006-02-21  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/dinput/mouse.c:
	dinput: Return an error if both DISCL_EXCLUSIVE and DISCL_BACKGROUND are set.

2006-02-26  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_CCW_STENCIL* render states.

2006-02-25  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_SCISSORTESTENABLE.

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_SLOPESCALEDEPTHBIAS.

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_ANTIALIASEDLINEENABLE.

	* dlls/wined3d/device.c:
	wined3d: Added D3D9 render states.

	* dlls/wined3d/device.c:
	wined3d: Fixed some typos and prevented divide by 0.

2006-02-27  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/crypt32/oid.c, dlls/crypt32/store.c:
	crypt32: Don't access a blob after freeing it.

	* programs/winedbg/dbg.y, programs/winedbg/debugger.h,
	  programs/winedbg/stack.c, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: Added a close_process method to process_io.
	- added a close_process method to process_io
	- made use of it to get rid of dbg_detach

	* programs/winedbg/tgt_active.c, programs/winedbg/winedbg.c:
	winedbg: Extend auto mode with minidump.
	- added -minidump and -minidump <file> options to command line
	Those options are to be used in remplacement of --auto to create a minidump
	In the form --minidump <file>, the minidump will be created in <file>,
	otherwise the filename will be automatically generated.

	* programs/winedbg/dbg.y, programs/winedbg/debug.l,
	  programs/winedbg/debugger.h, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: Rewrite auto mode.
	- rewrote auto mode as a specific set of commands to be run in
	regular parser, instead of hard coding those commands
	- added a new function to store a set of commands to be executed
	in a file
	- added 'echo' command to the parser functions
	- got rid of dbg_action_mode
	- added support of '--' on command line

	* programs/winedbg/gdbproxy.c:
	winedbg: Fixed regression in gdb handling.

2006-02-27  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/advpack.c:
	advpack: Factor out loading the program files directory.

	* dlls/advpack/advpack.c, dlls/advpack/tests/advpack.c:
	advpack: Add tests for the TranslateInfStringEx trio of functions and
	fix the errors.

	* dlls/advpack/tests/advpack.c:
	advpack: Factor out the API loading of advpack tests.

2006-02-27  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/oid.c:
	crypt32: Correct compile problem on gcc 2.95.

2006-02-28  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/crypt32/crypt32.rc, dlls/crypt32/crypt32_Ko.rc:
	crypt32: Add Korean translation.

2006-02-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msvcrt/locale.c, dlls/msvcrt/msvcrt.spec:
	msvcrt: Add a stub for _wsetlocale.

2006-02-27  Kovács András <andras@csevego.net>

	* programs/winecfg/Hu.rc, programs/winecfg/winecfg.rc:
	winecfg: New Hungarian language resource.

2006-02-27  Francois Gouget <fgouget@free.fr>

	* dlls/d3d8/device.c, dlls/d3d8/directx.c:
	d3d8: Remove spaces before '\n'.

2006-02-27  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/d3dcore_gl.h:
	d3d8: Header cleanup.
	Remove unneeded structures and functions from d3d8_private.h, clean
	some datatypes up and remove d3dcore_gl.h.

2006-02-27  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl:
	mshtml: Added nsIInterfaceRequestor implementation.

2006-02-24  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsservice.c:
	mshtml: Improve ConfirmEx hack.

2006-02-24  Francois Gouget <fgouget@free.fr>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, dlls/advpack/files.c,
	  dlls/advpack/install.c, dlls/advpack/reg.c, dlls/mshtml/main.c,
	  dlls/urlmon/regsvr.c, include/advpub.h, tools/winapi/win32.api:
	advpack: Prepare the unicodification of advpack.dll.
	All functions that manipulate strings should have an Ansi and a
	Unicode variant.
	Forward the unqualified dll entry points to the Ansi variant for
	backward compatibility.
	We're not allowed to use unqualified entry points in Wine, so change
	RegInstall() calls to RegInstallA().
	Update win32.api.

2006-02-24  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/debugger.h, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: Auto mode.
	- rewrite auto mode startup
	- move part of auto handling to tgt_active.c

	* programs/winedbg/debugger.h, programs/winedbg/gdbproxy.c,
	  programs/winedbg/winedbg.c:
	winedbg: Move gdb command line handling.
	- moves gdb command line handling to gdbproxy.c
	- using manifest constants to make code more readable

	* programs/winedbg/debugger.h, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: Active and command line.
	- move process attachment and process creation (related to command
	line handling) from winedbg.c to tgt_active.c
	- tidy up argument parsing

	* programs/winedbg/be_alpha.c, programs/winedbg/be_cpu.h,
	  programs/winedbg/be_i386.c, programs/winedbg/be_ppc.c,
	  programs/winedbg/debugger.h:
	winedbg: Cleanup the process_io usage.
	- made be_process_io references 'const'
	- make use of it for dbg_read_memory and dbg_write_memory

	* programs/winedbg/debugger.h, programs/winedbg/tgt_active.c,
	  programs/winedbg/winedbg.c:
	winedbg: Active targets
	Move all code related to an 'active' target (ie a running process)
	from winedbg.c to tgt_active.c.

	* dlls/kernel/comm.c, dlls/kernel/tests/comm.c,
	  include/wine/server_protocol.h, server/protocol.def, server/serial.c,
	  server/trace.c:
	kernel32: ClearCommError.
	ClearCommError should only deal with *communication* errors (are being
	seen on the serial interface) rather than API errors (which can be
	reported to the caller by the API itself).  I then removed all the
	stuff related to storing the error status in the server object.

2006-02-24  Andrew de los Reyes <adlr@ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: Implement EM_SCROLL and its tests.

2006-02-24  Hamza Lakhani <hlakhani@gmail.com>

	* dlls/riched20/editor.c, dlls/riched20/editstr.h, dlls/riched20/paint.c:
	riched20: EM_HIDESELECTION implementation.

2006-02-25  Peter Beutner <p.beutner@gmx.net>

	* dlls/ddraw/surface_dib.c:
	ddraw: Fix transparent Blits on 8bit surfaces.
	There are no red/green/blue bitmasks with color depth==8bpp. In that
	case always match against the whole byte.

2006-02-24  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/surface.c:
	wined3d: Don't use GetDevice in IWineD3DSurfaceImpl_GetContainer, as
	it adds a reference to the device that shouldn't be there.

2006-02-25  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/Makefile.in, dlls/d3d8/basetexture.c, dlls/d3d8/d3d8_main.c,
	  dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/directx.c,
	  dlls/d3d8/drawprim.c, dlls/d3d8/indexbuffer.c,
	  dlls/d3d8/pixelshader.c, dlls/d3d8/resource.c, dlls/d3d8/shader.c,
	  dlls/d3d8/stateblock.c, dlls/d3d8/swapchain.c, dlls/d3d8/texture.c,
	  dlls/d3d8/utils.c, dlls/d3d8/vertexbuffer.c,
	  dlls/d3d8/vertexshader.c, dlls/d3d8/vshaderdeclaration.c,
	  dlls/wined3d/device.c, dlls/wined3d/directx.c:
	d3d8: Moved the remaining code over to WineD3D (based on patches by
	Oliver Stieber).

2006-02-25  Hans Leidekker <hans@it.vu.nl>

	* dlls/winsock/socket.c:
	winsock: Fix two Windows to Unix mapping issues.
	Handle wildcard address family hint in getaddrinfo.
	Convert flags too in getnameinfo.

2006-02-25  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/crypt32/crypt32.rc, dlls/crypt32/crypt32_De.rc:
	crypt32: Add German resource file.

2006-02-25  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/profile.c, dlls/mscms/tests/profile.c:
	mscms: One more LastError code fixed.

2006-02-24  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/tests/shlfolder.c:
	shell32/tests: Added test for Desktop::ParseDisplayName(SHGetFolderPath(CSIDL_PERSONAL))
	Test if the Desktop Folder's ParseDisplayName recognizes MyDocument's
	path.  Removed some HRESULT tests on IUnknown_Release calls, which
	returns ULONG.

2006-02-24  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsio.c:
	mshtml: Return error in NewChannelFromURL if retval is NULL.

	* dlls/mshtml/nsio.c:
	mshtml: Added nsIURI::Clone implementation.

	* dlls/mshtml/navigate.c, dlls/mshtml/persist.c:
	mshtml: Don't add null byte to post data.

	* dlls/mshtml/nsembed.c:
	mshtml: Init nsIOService as soon as possible.

2006-02-24  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/iphlpapi/ifenum.c:
	iphplapi: Define IF_NAMESIZE if missing.

2006-02-24  Alexander N. Sørnes <alex@thehandofagony.com>

	* dlls/crypt32/crypt32.rc, dlls/crypt32/crypt32_No.rc,
	  programs/notepad/No.rc, programs/winecfg/No.rc,
	  programs/wordpad/No.rc, programs/wordpad/rsrc.rc:
	Updated/new Norwegian Bokmål resources.

2006-02-24  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/ole32/storage32.c:
	ole32: Add descriptions for StgCreateDocfile and StgIsStorageFile functions.

2006-02-24  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c:
	riched20: Added a comment to make life easier.

2006-02-24  Francois Gouget <fgouget@free.fr>

	* dlls/user/tests/menu.c, dlls/winmm/wavemap/wavemap.c,
	  dlls/winmm/winealsa/midi.c, programs/winecfg/theme.c,
	  server/change.c:
	Assorted spelling fixes.

	* include/wincrypt.h, tools/winapi/win32.api:
	crypt32: Add CryptQueryObject() prototype.
	Update win32.api.

	* dlls/winsock/socket.c, include/ws2tcpip.h, tools/winapi/win32.api:
	winsock: Tweak getnameinfo() prototype.
	Tweak the getnameinfo() prototype to better match the Windows PSDK and
	the GetNameInfoW() prototype.
	Update win32.api.

	* include/sfc.h, tools/winapi/win32.api:
	sfc: Updates.
	Add a missing sfc.dll prototype.
	Add an sfc.dll section to win32.api for winapi_check.

	* dlls/msftedit/msftedit.spec:
	msftedit: Fix CreateTextServices() forward.

	* dlls/d3d8/device.c:
	d3d8: Remove spaces before '\n', spelling fix.

	* dlls/msvcrt/tests/file.c, dlls/ole32/tests/compobj.c,
	  dlls/riched20/tests/editor.c:
	Add trailing '\n's to ok() calls.

2006-02-24  Francois Gouget <fgouget@codeweavers.com>

	* dlls/user/defwnd.c:
	user32: Handle WM_ENDSESSION in DefWinProc().
	DefWinProc() should call PostQuitMessage() on WM_ENDSESSION if the
	shutdown is proceeding.

	* dlls/user/message.c:
	user32: 0 vs. INFINITE timeout.
	It is 0 that denotes an infinite timeout for the wine server now, not
	-1 (INFINITE).
	Document put_message_in_queue()'s check for INFINITE (done for
	backwards compatibility with Windows 9x).

	* dlls/user/user_main.c:
	user: Fix ExitWindows().
	- Use 0 to get an infinite timeout with SendMessageTimeoutW().
	- Use SendMessageTimeoutW() to send the WM_ENDSESSION messages too so
	we don't get stuck if a process is hung.
	- Only send WM_ENDSESSION to windows that received a
	WM_QUERYENDSESSION message. Also better mimick the Windows behavior.

2006-02-24  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/usp10.c:
	usp10: Tidy default values.
	Set values for pwLogClust, uJustification and fClusterStart similar to
	what Windows uses.

2006-02-24  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/x11drv_main.c:
	x11drv: Make the synchronous option a debug channel instead of a
	registry entry to make it easier to use.

	* configure, configure.ac:
	configure: Added special check for broken linux/capi.h.

	* dlls/ntdll/virtual.c:
	ntdll: Use PROT_NONE instead of 0.

	* dlls/kernel/dosmem.c:
	kernel: Don't request execute permission for DOS memory.

2006-02-23  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/store.c:
	crypt32: Use public functions during serialization rather than relying
	on the internal format of a certificate.

	* dlls/crypt32/.gitignore, dlls/crypt32/Makefile.in,
	  dlls/crypt32/crypt32.rc, dlls/crypt32/crypt32_En.rc,
	  dlls/crypt32/crypt32_private.h, dlls/crypt32/cryptres.h,
	  dlls/crypt32/main.c, dlls/crypt32/oid.c, dlls/crypt32/tests/oid.c,
	  dlls/crypt32/version.rc, include/wincrypt.h:
	crypt32: implement CryptEnumOIDInfo and CryptFindOIDInfo.
	- implement CryptEnumOIDInfo and CryptFindOIDInfo
	- implement CertOIDToAlgId and CertAlgIdToOID using CryptFindOIDInfo

2006-02-23  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool/tests: Skip tests, when a remote print server has no RPC
	service running.

2006-02-23  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/ole32/tests/storage32.c:
	ole32/tests: Do not compare returned by DeleteFile value with TRUE.

2006-02-23  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj.c:
	ole: Fallthrough from local activation in CoGetClassObject.
	If local-server or local-service activation doesn't work in
	CoGetClassObject then fallthrough instead of returning from the
	function.

	* dlls/oleaut32/olefont.c, dlls/oleaut32/tests/olefont.c:
	oleaut: Fix standard font cloning.
	Create new empty connection points on clone of the standard Font
	(based on a patch by Alex Villacís Lasso).

2006-02-23  Francois Gouget <fgouget@codeweavers.com>

	* dlls/user/tests/msg.c:
	user: Give meaningful names to the structures used to transfer
	information to the test threads.

2006-02-23  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: When evaluating conditions, if the condition is empty or none is
	provided then treat it as being satisfied.

2006-02-23  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/nodelist.c, dlls/msxml3/tests/domdoc.c:
	msxml3: Fix for empty node lists.

2006-02-23  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi: Use "MS Sans Serif" as default sans serif font, not Arial.

2006-02-23  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/bitblt.c:
	gdi32: Fallback to StretchDIBits if the driver doesn't support BitBlt.

2006-02-23  Detlef Riekenberg <wine.dev@web.de>

	* dlls/cfgmgr32/Makefile.in, dlls/cfgmgr32/cfgmgr32.spec:
	cfgmgr32: Forward some functions to setupapi.dll.

2006-02-23  Mike McCormack <mike@codeweavers.com>

	* server/change.c:
	server: Add directories to recursive watches as they're opened.

2006-02-22  Juan Lang <juan_lang@yahoo.com>

	* include/wincrypt.h:
	wincrypt: Add OIDs.

2006-02-22  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/dirid.c:
	setupapi: Downgrade an ERR to a WARN.

2006-02-22  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/editor.c:
	riched20: Call GetClipboardData callback on cut/copy.

	* dlls/riched20/richole.c:
	riched20: Enable retrieving data through the ole interface.

	* dlls/riched20/clipboard.c:
	riched20: Ensure copied text is terminated with a null.

	* dlls/riched20/editor.c:
	riched20: EM_GETOLEINTERFACE is not a stub.

	* dlls/riched20/editor.c, dlls/riched20/editor.h, dlls/riched20/richole.c:
	riched20: Store reference to editor in ole interface.

	* dlls/riched20/clipboard.c:
	riched20: Allocate proper amount of memory for formatetc array.

2006-02-22  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/main.c, dlls/crypt32/oid.c, dlls/crypt32/tests/main.c,
	  dlls/crypt32/tests/oid.c:
	crypt32: Move OIDToAlgID and AlgIDToOID to oid.c.

	* dlls/crypt32/store.c, dlls/crypt32/tests/store.c:
	crypt32: Implement CertFindCertificateInStore, with tests.

2006-02-22  Stefan Leichter <Stefan.Leichter@camLine.com>

	* configure, configure.ac, dlls/Makefile.in, dlls/msftedit/.gitignore,
	  dlls/msftedit/Makefile.in, dlls/msftedit/msftedit.spec:
	Added msftedit.dll.

2006-02-22  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/Makefile.in, dlls/riched20/clipboard.c,
	  dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/editstr.h:
	riched20: Add IDataObject implementation and use it for cut/copy.

	* tools/widl/typegen.c:
	widl: Fix 64bit warning.

	* dlls/x11drv/clipboard.c:
	x11drv: Fix 64bit warning.

2006-02-22  Robert Shearman <rob@codeweavers.com>

	* dlls/msi/action.c:
	msi: Fix heap overflow in ITERATE_CreateShortcuts.

	* dlls/msi/source.c:
	msi: Init size before passing to RegEnumValue.

	* dlls/msi/files.c:
	msi: Always set a value for intype in ready_volume.
	Remove a memory leak.

	* dlls/msi/table.c:
	msi: Fix heap overflow in save_string_table.
	Fix heap overflow caused by not accounting for the dummy first item,
	which contains the codepage.

	* dlls/ole32/compobj.c, dlls/ole32/tests/compobj.c:
	ole: Make the CoCreateInstance test succeed.
	Move the uninitialized apartment check after zeroing out the return
	value.

2006-02-21  Brian Chang <brianch@seas.ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: EM_SETOPTIONS/EM_GETOPTIONS base implementation.
	ECO_READONLY implemented and tested.

2006-02-22  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/tests/encode.c, dlls/crypt32/tests/store.c:
	crypt32: Tidy up tests.
	Fix up encoded data to use BYTE arrays rather than strings, and remove
	extraneous NULL bytes from the end of some of them

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec, dlls/crypt32/main.c,
	  dlls/crypt32/oid.c:
	crypt32: Add stubs for CryptFindOIDInfo and I_CryptInstallAsn1Module.
	Move CryptVerifyMessageSignature stub to main.c.

2006-02-22  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/kernel32.spec, dlls/kernel/process.c:
	kernel32: Add a stub implementation for CmdBatNotification.

2006-02-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c:
	kernel: Initialize the dll path from the main exe name explicitly
	since ImagePathName is not always set at that point.

	* programs/explorer/systray.c:
	explorer: Moved systray configuration option to a more appropriate place
	and make it compatible with the way other options are stored.

2006-02-19  Robert Shearman <rob@codeweavers.com>

	* dlls/shell32/shell32_main.c, dlls/shell32/shell32_main.h,
	  dlls/shell32/systray.c, programs/explorer/Makefile.in,
	  programs/explorer/explorer.c, programs/explorer/systray.c,
	  programs/explorer/systray.h:
	shell32: Move systray handling to the explorer process.

2006-02-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/module.c, dlls/kernel/thread.c, include/module.h:
	kernel: Get rid of module.h.

	* dlls/ntdll/loader.c, dlls/ntdll/loadorder.c, dlls/ntdll/ntdll.spec,
	  dlls/ntdll/ntdll_misc.h:
	ntdll: Simplify loadorder code by using an enum instead of an array
	to represent load order values.
	Added a special value for default load order so that we can handle it
	differently later on.

	* dlls/kernel/process.c:
	kernel: Don't bother checking load order of the exe in the parent process.

2006-02-22  Huw Davies <huw@codeweavers.com>

	* configure, configure.ac, dlls/gdi/freetype.c, include/config.h.in:
	gdi32: Update due to last minute api change in freetype 2.2.0.
	FT_Module_Get_Flags existed briefly in freetype 2.2.0.rc1 but has now
	been replaced by FT_Get_TrueType_Engine_Type.  There's no point in
	supporting an rc1 release, so this removes support for
	FT_Module_Get_Flags and adds support for FT_Get_TrueType_Engine_Type.

2006-02-22  Mike McCormack <mike@codeweavers.com>

	* server/change.c:
	server: Make sure we don't get into an infinite loop freeing inodes.

2006-02-22  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c:
	usp10: Add ScriptGetCMap functionality to translate wchars to glyphs.

2006-02-22  Peter Beutner <p.beutner@gmx.net>

	* dlls/msvcrt/cppexcept.c:
	msvcrt: Save esp before calling catch block and restore afterwards.
	It seems like the esp value (which is saved at [ebp-16]) is sometimes
	changed inside the catch handler so we end up with a bogus esp
	afterwards.  To avoid that save it before calling the catch block.

	* dlls/msvcrt/cppexcept.c:
	msvcrt: Fix handling of multiple nested exceptions.
	Save in each nested frame a pointer to the original exception record.
	Only one refence in thread_data isn't enough when we have multiple
	nested frames.

	* dlls/msvcrt/cppexcept.c:
	msvcrt: Fix handling of nested exceptions.
	Move handling of nested exceptions completely in the
	catch_function_nested_handler().  If a new exception was thrown inside
	a catch block destroy the old exception object, if it is a rethrow
	re-propagate the previous object.

2006-02-22  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/shell32/pidl.c, dlls/shell32/shfldr_unixfs.c,
	  dlls/shell32/shlexec.c, dlls/shell32/tests/shelllink.c,
	  dlls/shlwapi/path.c:
	shell32: Fixes for bugs found by valgrind on shell32 tests harness.
	- read strings from left to right (PathGetDriveNumberW)
	- don't access buffers before they are filled (SHGetPathFromIDListW)
	- fill buffers & variables on all paths (SHELL_FindExecutable)
	- handle error condition (unix_fs)
	- don't shoot in the blind for AW APIs (tests/shelllink.c)

2006-02-22  Marco Timpano <marcotimpano@hotmail.it>

	* dlls/winedos/ppdev.c:
	winedos: Fixed a couple of typos in ppdev.

2006-02-22  Francois Gouget <fgouget@free.fr>

	* dlls/mapi32/mapi32_main.c, dlls/mapi32/sendmail.c, include/mapi.h,
	  include/mapix.h:
	mapi: Add some missing MAPI prototypes.
	Add some missing MAPI prototypes to mapi.h (spotted by winapi_check)
	and include it where they are implemented.
	Make mapi.h and mapix.h compatible. gcc does not like macros and
	prototypes to be redefined so this involved protecting against
	multiple definitions.
	Fix the MAPISendMail() implementation prototype.

2006-02-21  Lei Zhang <leiz@ucla.edu>

	* dlls/riched20/Makefile.in, dlls/riched20/editor.c,
	  dlls/riched20/editor.h, dlls/riched20/tests/editor.c:
	riched20: Implement FR_MATCHCASE for EM_FINDTEXT.
	Removed todo flag from affected FR_MATCHCASE tests.

2006-02-21  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/msi/msi.spec, dlls/msi/source.c:
	msi: Implement MsiSourceListAddSource.

	* dlls/advapi32/security.c:
	advapi32: Add partial implementation of LookupAccountNameW.

2006-02-21  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/shell32/shell32.spec:
	shell32: Export PathResolve by name.

2006-02-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/loader.c, dlls/ntdll/ntdll_misc.h,
	  dlls/ntdll/thread.c:
	kernel: Moved the get_startup_info call to ntdll.

2006-02-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c, include/wine/server_protocol.h, server/process.c,
	  server/protocol.def, server/trace.c:
	server: Remove no longer needed fields in the init_process_done request.

2006-02-21  Aric Stewart <aric@codeweavers.com>

	* dlls/twain/ds_ctrl.c, dlls/twain/ds_image.c, dlls/twain/dsm_ctrl.c,
	  dlls/twain/twain_i.h:
	twain: Implment DG_IMAGE/DAT_IMAGEMEMXFER/MSG_GET.
	Implement the DG_IMAGE/DAT_IMAGEMEMXFER/MSG_GET code path. Along with
	a number of corrections and improvements to allow the actual aquiring
	of images to succeed.

2006-02-21  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/parseerror.c:
	msxml3: Improve parse error handling a bit.

	* dlls/msxml3/Makefile.in, dlls/msxml3/domdoc.c:
	msxml3: Use url monikers to load xml.

2006-02-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/loader.c:
	kernel: Use LoadLibrary to load the main exe in all cases.

	* dlls/ntdll/loader.c:
	ntdll: Support loading a builtin under a different name.
	Find the proper modref in that case based on the dlopen handle.

	* dlls/ntdll/loader.c:
	ntdll: Moved LDR_DONT_RESOLVE_REFS handling into fixup_imports.
	This ensures that we never fixup imports twice on the same dll.

	* dlls/shell32/tests/shlexec.c:
	shell32: Use more reasonable timeouts in shlexec test.

	* server/process.c:
	server: Avoid hang on process startup.
	Fixed the startup_info signaled state to avoid blocking the parent
	process when the child crashes on startup.

	* dlls/ntdll/loader.c:
	ntdll: Support loading builtin dlls with an explicit path name also
	when loadorder is set to builtin only.

2006-02-20  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/ntdll/loader.c:
	ntdll: Remove spaces at end of name in import_dll.

2006-02-20  Jason Green <jave27@gmail.com>

	* programs/winefile/En.rc, programs/winefile/resource.h,
	  programs/winefile/winefile.c, programs/winefile/winefile.h:
	winefile: Add the ability to save window position to the registry.

2006-02-21  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/usp10.c, dlls/usp10/usp10.spec:
	usp10: Add stub for ScriptTextOut.

	* dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c:
	usp10: Add ScriptPlace funtionality.
	The key function is to calculate the total of the ABC widths of the
	characters converted to gylphs by ScriptShape.

2006-02-21  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/classinfo.c:
	shdocvw: Added correct implementation of IProvideClassInfo::GetGUID.

2006-02-20  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/d3dcore_gl.h, dlls/d3d8/directx.c,
	  dlls/d3d8/shader.c, dlls/wined3d/device.c, dlls/wined3d/directx.c:
	d3d8: Move the capability detection code over to WineD3D.
	Let the few existing parts which need the capabiliteis use the WineD3D
	capability structure (gl_info). This info structure contains next to
	'flags' inidicating certain features also all GL/GLX functions
	pointers. Because D3D8 moves over to the wined3d gl_info structure all
	the gl prototypes in d3dcore_gl.h were unneeded and removed.

2006-02-20  Lei Zhang <leiz@ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: Fix for EM_FINDTEXT input validation.
	Fixed the cpMin/cpMax validation code for EM_FINDTEXT.
	Removed todo flag from affected EM_FINDTEXT tests.

2006-02-20  James Hawkins <truiken@gmail.com>

	* dlls/advpack/files.c, dlls/advpack/tests/files.c:
	advpack: Implement AddDelBackupEntry.

	* dlls/advpack/tests/files.c:
	advpack: Add tests for AddDelBackupEntry.

	* dlls/advpack/files.c:
	advpack: Make AddDelBackupEntry always return S_OK.

	* dlls/advpack/Makefile.in, dlls/advpack/advpack.c,
	  dlls/advpack/install.c:
	advpack: Branch off the advpack install functions into install.c.

	* dlls/advpack/advpack.c:
	advpack: Implement the Open/CloseINFEngine and TranslateINFStringEx
	trio of functions.

	* dlls/advpack/advpack.c, dlls/advpack/tests/advpack.c:
	advpack: Load the LDIDs of an install section in TranslateInfString.

2006-02-21  Dr J A Gow <J.A.Gow@furrybubble.co.uk>

	* dlls/ole32/stg_stream.c, dlls/ole32/storage32.c, dlls/ole32/storage32.h,
	  dlls/ole32/tests/storage32.c:
	ole32: Fix stream ref counting.
	Stream methods called after parent object has been closed correctly
	return STG_E_REVERTED.
	Stream refcounting fixed. Now can safely call IStorage destructor
	before IStream destructor and guarantee file will be closed.

	* dlls/ole32/storage32.c, dlls/ole32/tests/storage32.c:
	ole32: Fix up permissions when opening streams.
	Fix up permissions when opening streams in storage objects when
	storage object has been opened in transacted mode.

2006-02-21  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/tests/change.c:
	kernel32: Add a simple test for recursive notification.

	* dlls/kernel/tests/file.c:
	kernel32: Add a short test for GetOverlappedResult.

	* dlls/ntdll/directory.c, include/wine/server_protocol.h, server/change.c,
	  server/protocol.def, server/trace.c:
	server: Track created and removed directories in the tree of inodes for inotify.
	Add them to or remove them from existing recursive watches.

2006-02-21  Detlef Riekenberg <wine.dev@web.de>

	* dlls/ntdll/signal_i386.c:
	ntdll: Avoid compile error caused by a single quote.

2006-02-20  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac, dlls/winsock/socket.c,
	  dlls/winsock/ws2_32.spec, include/config.h.in, include/ws2tcpip.h:
	winsock: Implement getnameinfo.

2006-02-20  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c:
	menu: Take the MF_DEFAULT flag in to account in MENU_CalcItemSize.

2006-02-20  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/signal_i386.c:
	ntdll: Add a define for SYS_sigaction to __NR_sigaction.
	Print an error if __NR_sigaction doesn't exist as this means the wrong
	syscall header is being used.

2006-02-20  Vitaly Lipatov <lav@etersoft.ru>

	* configure, configure.ac, dlls/winsock/socket.c, include/config.h.in:
	winsock: Add check for sin6_scope_id.

2006-02-20  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/Makefile.in, dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c:
	usp10: Add ScriptShape functionality.

2006-02-18  Roger Hoang <rogerhoang@hotmail.com>

	* dlls/riched20/editor.c, dlls/riched20/editstr.h,
	  dlls/riched20/tests/editor.c:
	riched20: Implemented EM_SETTEXTMODE options TM_RICHTEXT and TM_PLAINTEXT
	and their tests.

2006-02-20  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsio.c:
	mshtml: Set default original uri in NewChannelFromURI.

2006-02-20  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/tests/change.c, server/change.c:
	server: Distinguish between a directory and a file changing in
	ReadDirectoryChangesW.
	Add a test for it.

2006-02-20  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/elf_module.c,
	  dlls/dbghelp/module.c, dlls/dbghelp/path.c, dlls/dbghelp/pe_module.c:
	dbghelp: Virtual modules.
	Rewrote virtual modules handling so that it's an option to either PE
	or ELF modules rather than a specific type.

2006-02-20  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/dosmem.c:
	kernel: Don't require execute permission for DOS memory, this will be
	done in winedos if necessary.

2006-02-20  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/menu.c:
	user: Add conformance tests for menu item drawing.

	* dlls/user/menu.c:
	user: Menu drawing fixes.
	- check mark is drawn left of a bitmap;
	- if a MNS_CHECKORBMP-style menu has a checkmark, do no draw any bitmap;
	- space for the popup arrow is also reserved for non popup items;
	- implement the MNS_NOCHECK style.

	* dlls/user/menu.c:
	user:  Menu string width calculation fixes.
	- Use DrawText in stead of GetTextExtendPoint32, to properly measure
	strings with ampersands like "&File";
	- Fix mess with strings with an embedded tab;
	- In case of a menu bar, two extra pixels are added if the item has
	both a bitmap and string.

	* dlls/user/menu.c:
	user: Menu drawing fixes.
	Replace some #defined constants by values calculated from windows
	metrics.

	* dlls/user/menu.c:
	user: Menu drawing fixes.
	- Move sending WM_MEASUREITEM message for HBMMENU_CALLBACK bitmaps to
	MENU_GetBitmapItemSize();
	- Save the received bitmap size in the menu item structure as it will
	need to be sent in the WM_DRAWITEM message;
	-  Move sending WM_DRAWITEM message for HBMMENU_CALLBACK bitmaps to
	MENU_DrawBitmapItem();
	- This also means that HBMMENU_CALLBACK bitmaps are now supported in
	menu bars.

	* dlls/user/menu.c:
	user: Move drawing of pop menu arrows to a subroutine reduces nesting
	level of some large if statements in the drawing code. Some updates to
	the comments.

2006-02-20  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool/tests: Add some tests for SetDefaultPrinterA/W.

	* dlls/winspool/info.c, dlls/winspool/winspool.drv.spec:
	winspool: Add documentation and a stub for SetDefaultPrinterA/W.

2006-02-20  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/shlfolder.c:
	shell32: Avoid recursing SHELL32_GetItemAttributes() calls.

2006-02-20  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, loader/Makefile.in, server/Makefile.in:
	configure: Use --rpath if supported when building binaries to point to
	the relative location of the wine libraries.

2006-02-20  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/msvcrt/undname.c:
	msvcrt: Misc cleanups in undname.c.
	- remove unused argument from functions
	- print the pointer in the str_array_push TRACE to be able to distinguish
	the different arrays.
	- comment and white space cleanups

	* dlls/msvcrt/tests/cpp.c:
	msvcrt: Add some tests for __unDName().
	Add some tests for unDName() checking:
	- data type modifiers A,B,P,Q,R,S
	- literal strings
	- back references to names

	* dlls/msvcrt/undname.c:
	msvcrt: Use a separate stack for back references to names
	Use a separate array/stack for the back references to names as
	sym->stack is used to push temporary strings to it which breaks back
	referencing in some occasions (26 symbols in the mfc42 dll).  During
	this cleanup get_class() a little bit.

	* dlls/msvcrt/undname.c:
	msvcrt: Move code to parse a literal string out of get_class().
	unDName: Move the code to parse a literal string from get_class() to a
	separate function. Add some error handling to the new function.

	* dlls/msvcrt/undname.c:
	msvcrt: Wrap get_class() and get_class_string() for unDName.

	* dlls/msvcrt/tests/cpp.c:
	msvcrt: Fix 20 tests from demangle_test() on old Win versions.
	In test_demangle use a custom strcmp that treats multiple spaces as
	single space. __unDName() from older msvcrt (including W2K it seems)
	emit in some places 2 spaces instead of one. Fixes 20 failing tests on
	those old Windows versions.

2006-02-20  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/tests/compobj.c:
	ole: Test the behaviour of CoCreateInstance with an uninitialized apartment.

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/rpc.c:
	ole: Change the Apartment Model field to a boolean.
	Change the apartment model field to a boolean that just specifies
	whether the apartment is multi-threaded or not and fix up all the
	places where this is used.
	Fixes a bug where we would return an error if the previous apartment
	model passed into CoInitializeEx matches the new apartment model, but
	additional optimisation flags are specified.

2006-02-20  YunSong Hwang <hys545@dreamwiz.com>

	* programs/winecfg/Ko.rc:
	winecfg: Updated Korean translation.

	* programs/wordpad/Ko.rc, programs/wordpad/rsrc.rc:
	wordpad: Add Korean translation.

2006-02-20  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/path.c:
	dbghelp: Fix SymFindFileInPath to return files matching the requested
	criteria (it was mainly doing the opposite).

2006-02-20  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c:
	shdocvw: Change FIXMEs to TRACE in IDispatch's methods as they return
	E_NOTIMPL in Windows as well.

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsiface.idl,
	  dlls/mshtml/nsio.c:
	mshtml: Create nsIChannel for protocols not handled by Gecko.

2006-02-20  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/profile.c, dlls/mscms/tests/profile.c:
	mscms: Fix four todos for GetStandardColorSpaceProfile[AW].

	* dlls/mscms/tests/profile.c:
	mscms: Branching fixes for some test routines

2006-02-20  Mike McCormack <mike@codeweavers.com>

	* dlls/setupapi/misc.c, dlls/setupapi/setupapi.spec:
	setupapi: Add a stub implementation of CMP_WaitNoPendingInstallEvents.

2006-02-20  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/resources/user32_Bg.rc, dlls/user/resources/user32_Ca.rc,
	  dlls/user/resources/user32_Cs.rc, dlls/user/resources/user32_Da.rc,
	  dlls/user/resources/user32_De.rc, dlls/user/resources/user32_En.rc,
	  dlls/user/resources/user32_Eo.rc, dlls/user/resources/user32_Es.rc,
	  dlls/user/resources/user32_Fi.rc, dlls/user/resources/user32_Fr.rc,
	  dlls/user/resources/user32_Hu.rc, dlls/user/resources/user32_It.rc,
	  dlls/user/resources/user32_Ja.rc, dlls/user/resources/user32_Ko.rc,
	  dlls/user/resources/user32_Nl.rc, dlls/user/resources/user32_No.rc,
	  dlls/user/resources/user32_Pl.rc, dlls/user/resources/user32_Pt.rc,
	  dlls/user/resources/user32_Ru.rc, dlls/user/resources/user32_Si.rc,
	  dlls/user/resources/user32_Sk.rc, dlls/user/resources/user32_Sv.rc,
	  dlls/user/resources/user32_Tr.rc, dlls/user/resources/user32_Uk.rc,
	  dlls/user/resources/user32_Wa.rc, dlls/user/resources/user32_Zh.rc:
	user: Add the DS_NOIDLEMSG style to message boxes.

2006-02-20  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* programs/winhelp/winhelp.c:
	winhelp: Zero out WINHELP_WINDOW in WINHELP_CreateHelpWindow.

2006-02-20  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/basetexture.c, dlls/d3d8/cubetexture.c, dlls/d3d8/d3d8_main.c,
	  dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/resource.c,
	  dlls/d3d8/surface.c, dlls/d3d8/texture.c, dlls/d3d8/volume.c,
	  dlls/d3d8/volumetexture.c:
	d3d8: Move texturing code over to wined3d (based on Oliver Stieber's work).

2006-02-20  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/stack.c:
	winedbg: Fixed regression: stack info was no longer working.

2006-02-18  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c:
	usp10: Add ScriptItemize functionality.

2006-02-18  Hans Leidekker <hans@it.vu.nl>

	* programs/winebrowser/Makefile.in, programs/winebrowser/main.c:
	winebrowser: Handle file URLs.

2006-02-18  Juan Lang <juan_lang@yahoo.com>

	* dlls/wintrust/wintrust.spec, dlls/wintrust/wintrust_main.c,
	  include/wintrust.h:
	wintrust: Add some stubs.

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec,
	  dlls/crypt32/tests/cert.c, include/wincrypt.h:
	crypt32: Implement enhanced key usage.
	Implement CertGetEnhancedKeyUsage, CertSetEnhancedKeyUsage,
	CertAddEnhancedKeyUsageIdentifier, and
	CertRemoveEnhancedKeyUsageIdentifier.

2006-02-18  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	winetest: Added usp10 tests.

2006-02-18  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac:
	configure: Fix previous change to still build all the binaries on
	x86_64 in 32-bit mode.

2006-02-17  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/user/menu.c:
	user: Implement scrolling in popup menus.

2006-02-17  Alexandre Julliard <julliard@winehq.org>

	* libs/wine/config.c, libs/wine/loader.c:
	libwine: Add the runtime library path to the front of the dll paths list.

	* dlls/dbghelp/elf_module.c:
	dbghelp: Use wine_dll_enum_load_path to search the dll load path.

2006-02-17  Peter Beutner <p.beutner@gmx.net>

	* dlls/msvcrt/file.c, dlls/msvcrt/tests/file.c:
	msvcrt: Correctly set EOF flag in fread().
	Setting the EOF flag only if _read() returns zero is not enough as we
	could also read something AND hit the end of file.
	_read() already sets another internal EOF flag, so just use this too.
	Removing todo_wine from the test case.

	* dlls/msvcrt/tests/file.c:
	msvcrt: Add test for fread/feof.
	When calling fread() with a large enough buffer to reach the end of
	the file a subsequent feof() should return true; (marked as todo_wine
	because it doesn't work atm).

	* dlls/msvcrt/cppexcept.c:
	msvcrt: Remove bogus code.
	We can't just pop a exception record from the exception handler list
	which we haven't put there.

	* dlls/msvcrt/file.c:
	msvcrt: Fix use of uninitialized variable.

2006-02-17  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool/tests: Add tests for EnumMonitors.

2006-02-17  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/Makefile.in, dlls/crypt32/cert.c, dlls/crypt32/store.c,
	  dlls/crypt32/tests/.gitignore, dlls/crypt32/tests/Makefile.in,
	  dlls/crypt32/tests/cert.c, dlls/crypt32/tests/store.c:
	crypt32: Move certificate store functions to their own file.

2006-02-17  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, loader/Makefile.in:
	configure: Default to building wine-pthread on non-x86 platforms.

2006-02-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* include/dbghelp.h:
	dbghelp: Packing for minidump structures is 4 bytes.

2006-02-17  Alexandre Julliard <julliard@winehq.org>

	* dlls/dbghelp/elf_module.c, dlls/msacm/wineacm.h,
	  dlls/wldap32/winldap_private.h:
	Fixed a couple of function prototypes.

	* libs/wine/Makefile.in, libs/wine/config.c:
	libwine: Set the default bindir and dlldir from argv0 if dladdr is not available.
	Added dependency on $(RELPATH).

	* libs/wine/Makefile.in, libs/wine/config.c:
	libwine: Compute relative paths for bin and dll directories at compile time.

	* Make.rules.in, tools/.gitignore, tools/Makefile.in, tools/relpath.c:
	tools: Added 'relpath' tool to compute relative Unix paths.

	* dlls/ntdll/server.c:
	ntdll: Remove no longer used oldcwd in start_server.

2006-02-17  Mike McCormack <mike@codeweavers.com>

	* server/change.c:
	server: Use a single inotify watch, as it scales better with a large
	number of directories.

2006-02-17  Phil Krylov <phil@newstar.rinet.ru>

	* programs/wordpad/Ru.rc, programs/wordpad/rsrc.rc:
	wordpad: Russian translation.

2006-02-17  Hans Leidekker <hans@it.vu.nl>

	* programs/wordpad/Nl.rc, programs/wordpad/rsrc.rc:
	wordpad: Dutch localization.

2006-02-17  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/navigate.c:
	mshtml: Fix post data parsing.

2006-02-16  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/server.c, include/wine/library.h,
	  libs/wine/config.c, loader/glibc.c:
	libwine: Try the current load path in priority before the
	WINELOADER/WINESERVER environment variables in wine_exec_wine_binary.

	* libs/wine/config.c:
	libwine: Don't rely on argv[0] in wine_exec_wine_binary if we can get
	the directory from the library itself.
	Only try the hardcoded BINDIR if everything else failed.

	* libs/wine/config.c:
	libwine: Only use the library directory if it's an absolute path.

2006-02-16  Paul Vriens <Paul.Vriens@xs4all.nl>

	* programs/winecfg/Bg.rc, programs/winecfg/De.rc, programs/winecfg/En.rc,
	  programs/winecfg/Es.rc, programs/winecfg/Fi.rc,
	  programs/winecfg/Fr.rc, programs/winecfg/Ja.rc,
	  programs/winecfg/Ko.rc, programs/winecfg/Nl.rc,
	  programs/winecfg/No.rc, programs/winecfg/Ru.rc,
	  programs/winecfg/Tr.rc, programs/winecfg/resource.h,
	  programs/winecfg/winecfg.c:
	winecfg: Localize the app specific title.

2006-02-16  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/encode.c, dlls/crypt32/tests/encode.c:
	crypt32: More encoding/decoding.
	Add support for encoding/decoding basic constraints and enhanced key
	usage, with tests.

	* dlls/crypt32/cert.c, dlls/crypt32/tests/cert.c:
	crypt32: Simplify CertOpenSystemStore, fix CertDuplicateCertificateContext.
	- now that CertOpenStore is correct for system stores, simplify
	CertOpenSystemStore
	- correct CertDuplicateCertificateStore, with a test

2006-02-16  YunSong Hwang <hys545@dreamwiz.com>

	* programs/progman/Ko.rc, programs/progman/rsrc.rc:
	progman: Updated Korean translation.

2006-02-16  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/Makefile.in, dlls/msxml3/comment.c,
	  dlls/msxml3/msxml_private.h, dlls/msxml3/node.c:
	msxml3: Implement comment node.

	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	msxml3: Fix get_text on text nodes.

2006-02-16  Thomas Kho <tkho@ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: Implement EM_SCROLLCARET and EM_GETSCROLLPOS.

2006-02-16  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tests/typelib.c:
	oleaut: Test some error conditions in ITypeInfo::GetIDsOfNames and ITypeInfo::Invoke.

2006-02-16  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/tests/profile.c:
	mscms: Distinguish between registered and unregistered profile IDs.

2006-02-16  Robert Shearman <rob@codeweavers.com>

	* tools/winebuild/winebuild.man.in:
	winebuild: Correction for manpage.
	The behaviour for winebuild is to prefer main over WinMain, not the
	other way around.

2006-02-16  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/webbrowser.c:
	shdocvw: Unaccess post data only if we've accessed it before.

2006-02-16  Alexandre Julliard <julliard@winehq.org>

	* dlls/.gitignore, dlls/Makedll.rules.in, dlls/Makefile.in,
	  dlls/make_dlls, libs/wine/loader.c:
	libwine: New naming scheme for 16-bit builtin dlls.
	Stop using symlinks for 16-bit dlls to make sure they don't get loaded
	by mistake when looking for a 32-bit dll.

2006-02-16  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/monthcal.c, dlls/comctl32/tests/monthcal.c:
	comctl32: Remove/swap limits if min > max in MCM_SETRANGE.
	We should swap min & max only when both limits are being
	set. Otherwise limit that being set should invalidate other limit
	(remove it).

	* dlls/comctl32/monthcal.c, dlls/comctl32/tests/monthcal.c:
	comctl32: Don't change month range in MCM_SETRANGE. Add tests for this.

2006-02-16  Juan Lang <juan_lang@yahoo.com>

	* dlls/wininet/internet.c:
	wininet: Use CertNameToStr for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT
	and update comment.

	* dlls/crypt32/cert.c:
	crypt32: Fix system stores and a memory leak.
	- system stores open both HKLM and HKCU for "current user" locations
	- fix a memory leak in certificate properties

2006-02-16  Jonathan Ernst <jonathan@ernstfamily.ch>

	* programs/wordpad/Fr.rc, programs/wordpad/rsrc.rc:
	wordpad: French localization.

2006-02-16  Alexandre Julliard <julliard@winehq.org>

	* .gitignore:
	Merge the contents of info/exclude into the top-level .gitignore.

	* server/debugger.c, server/process.c, server/process.h,
	  server/snapshot.c:
	server: Store the process exe module in the standard dll list.

	* dlls/d3d8/cubetexture.c:
	d3d8: Fixed compile with older GL versions.

2006-02-16  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c:
	wined3d: Set the texture size for d3d8.

2006-02-16  YunSong Hwang <hys545@dreamwiz.com>

	* programs/winecfg/Ko.rc:
	winecfg: Updated Korean translation.

2006-02-16  Jonathan Ernst <jonathan@ernstfamily.ch>

	* programs/winecfg/Fr.rc:
	winecfg: French resource update.

2006-02-16  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/wordpad/De.rc, programs/wordpad/En.rc,
	  programs/wordpad/rsrc.rc:
	wordpad: Added German resource.

2006-02-16  Hans Leidekker <hans@it.vu.nl>

	* dlls/shlwapi/tests/path.c, dlls/shlwapi/url.c:
	shlwapi: Fix parameter check for UrlUnescapeA.
	NULL pszUnescaped is okay if URL_UNESCAPE_INPLACE is set.
	Add a corresponding test for UrlUnescape{A,W}.

2006-02-16  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/str.c, include/wincrypt.h:
	crypt32: Partially implement CertGetNameString.

2006-02-16  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/stack.c, programs/winedbg/winedbg.c:
	winedbg: A couple of fixes after running valgrind.

2006-02-16  Jeff Latimer <lats@yless4u.com.au>

	* dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c:
	usp10: Implement ScriptGetProperties.

2006-02-15  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.8.

----------------------------------------------------------------
2006-02-15  Emmanuel Maillard <mahanuu@opendarwin.org>

	* configure, configure.ac, libs/wine/Makefile.in, loader/main.c:
	loader: Reserve memory area on Darwin (based on Steve Zellers patch).

2006-02-15  Thomas Kho <tkho@ucla.edu>

	* dlls/riched20/editor.c, dlls/riched20/tests/editor.c:
	riched20: Extend EM_FINDTEXT conformance tests and fix 2 problems they expose.

2006-02-15  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/shdocvw.spec,
	  dlls/shdocvw/shdocvw_main.c:
	shdocvw: Implemented a couple of forwards to shlwapi.

2006-02-15  Jacek Caban <jacek@codeweavers.com>

	* programs/winecfg/libraries.c:
	winecfg: glut32.dll may be configured as native.

	* dlls/shdocvw/client.c, dlls/shdocvw/shdocvw.h:
	shdocvw: Added client site's IServiceProvider interface.

	* dlls/shdocvw/navigate.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	shdocvw: Navigate2 rewrite.

	* dlls/shdocvw/navigate.c:
	shdocvw: Added beginning IHlinkFrame::Navigate implementation.

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl, dlls/mshtml/persist.c:
	mshtml: Added hack to allow pass post data to IPersistMoniker::Load.

	* dlls/mshtml/htmldoc.c, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsembed.c, dlls/mshtml/nsio.c:
	mshtml: Added ref counting to NSContainer.
	- Added ref counting to NSContainer.
	- Better destroying of NSContainer.

2006-02-15  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c:
	crypt32: Rename a variable for clarity.

	* dlls/crypt32/str.c:
	crypt32: Output string type in trace.

2006-02-15  Mike McCormack <mike@codeweavers.com>

	* dlls/ole32/tests/storage32.c:
	ole32: Added a test showing OLE storage's IStorage/IStream refcounting
	behaviour.

	* include/winnt.h:
	include: Add WT_ defines for use with RegisterWaitForSingleObject.

2006-02-15  Paul Vriens <Paul.Vriens@xs4all.nl>

	* programs/winecfg/Nl.rc:
	winecfg: Update Dutch resources.

2006-02-14  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c:
	riched20: Support RTF text in WM_SETTEXT.

2006-02-14  Louis Lenders <xerox_xerox2000@yahoo.co.uk>

	* dlls/usp10/usp10.c, dlls/usp10/usp10.spec:
	usp10: Added stub for ScriptGetCMap.

2006-02-14  Jeff Latimer <lats@yless4u.com.au>

	* configure, configure.ac, dlls/usp10/Makefile.in,
	  dlls/usp10/tests/.gitignore, dlls/usp10/tests/Makefile.in,
	  dlls/usp10/tests/usp10.c, dlls/usp10/usp10.c, dlls/usp10/usp10.spec:
	usp10: Added some tests.

2006-02-14  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/secur32/schannel.c:
	secur32: Add InitializeSecurityContext stub for schannel.

2006-02-14  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d8/cubetexture.c, dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c,
	  dlls/d3d8/resource.c, dlls/d3d8/surface.c, dlls/d3d8/texture.c:
	d3d8: Move d3d8 surface over to wined3d (based on the work of Oliver Stieber).

2006-02-14  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/monthcal.c, dlls/comctl32/tests/monthcal.c:
	comctl32: Fix invalid date/time check in MCM_SETRANGE: ignore time and fail on bad date.

2006-02-14  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/tests/profile.c:
	mscms: Move 4 test macros into a single one.

2006-02-14  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/winemp3/mpegl3.c:
	winemp3: Increase factor from 4 to 12 in MPEG3_StreamSize.
	- Increase size factor from 4 to 12 in MPEG_StreamSize, otherwise
	mpglib buffer queue grows.
	- Add TRACE of mpglib buffer queue for conversion.

2006-02-14  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/ctl3d/.gitignore, dlls/ctl3d/Makefile.in, dlls/ctl3d/ctl3d.c,
	  dlls/ctl3d/ctl3d.spec, dlls/ctl3d/ctl3d32.c, dlls/ctl3d/ctl3d32.spec,
	  dlls/ctl3d/ctl3dv2.spec, dlls/ctl3d32/.gitignore,
	  dlls/ctl3d32/Makefile.in, dlls/ctl3d32/ctl3d.c,
	  dlls/ctl3d32/ctl3d.spec, dlls/ctl3d32/ctl3d32.c,
	  dlls/ctl3d32/ctl3d32.spec, dlls/ctl3d32/ctl3dv2.spec:
	ctl3d32: Renamed ctl3d directory to ctl3d32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/olesvr/.gitignore, dlls/olesvr/Makefile.in,
	  dlls/olesvr/olesvr.spec, dlls/olesvr/olesvr32.spec,
	  dlls/olesvr/olesvr_main.c, dlls/olesvr32/.gitignore,
	  dlls/olesvr32/Makefile.in, dlls/olesvr32/olesvr.spec,
	  dlls/olesvr32/olesvr32.spec, dlls/olesvr32/olesvr_main.c:
	olesvr32: Renamed olesvr directory to olesvr32.

	* configure, configure.ac, dlls/.gitignore, dlls/Makefile.in,
	  dlls/olecli/.gitignore, dlls/olecli/Makefile.in,
	  dlls/olecli/olecli.spec, dlls/olecli/olecli16.c,
	  dlls/olecli/olecli32.spec, dlls/olecli/olecli_main.c,
	  dlls/olecli32/.gitignore, dlls/olecli32/Makefile.in,
	  dlls/olecli32/olecli.spec, dlls/olecli32/olecli16.c,
	  dlls/olecli32/olecli32.spec, dlls/olecli32/olecli_main.c:
	olecli32: Renamed olecli directory to olecli32.

2006-02-14  Detlef Riekenberg <wine.dev@web.de>

	* DEVELOPERS-HINTS, configure, configure.ac, dlls/Makefile.in,
	  dlls/sfc/.gitignore, dlls/sfc/Makefile.in, dlls/sfc/sfc.spec,
	  dlls/sfc/sfc_main.c:
	sfc: Add sfc.dll with a stub for SfcIsFileProtected.

	* include/Makefile.in, include/sfc.h:
	include: Add sfc.h.

2006-02-14  Krzysztof Foltman <wdev@foltman.com>

	* configure, configure.ac, programs/Makefile.in,
	  programs/wordpad/.gitignore, programs/wordpad/En.rc,
	  programs/wordpad/Makefile.in, programs/wordpad/resource.h,
	  programs/wordpad/rsrc.rc, programs/wordpad/wordpad.c:
	programs: Add an implementation of Wordpad.

2006-02-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/msc.c, dlls/dbghelp/pe_module.c, dlls/dbghelp/symbol.c:
	dbghelp: Always set the size to public symbols to 1 when we don't know the size
	so that they can only be search on their start address

	* programs/winedbg/debug.l:
	winedbg: Allow using MSVC mangled symbol names as identifiers.

2006-02-14  Mike Frysinger <vapier@gentoo.org>

	* Makefile.in, dlls/Makedll.rules.in, dlls/Makefile.in,
	  dlls/Makeimplib.rules.in, dlls/make_dlls, dlls/wineps/Makefile.in,
	  documentation/Makefile.in, fonts/Makefile.in, include/Makefile.in,
	  libs/Makelib.rules.in, loader/Makefile.in, programs/Makefile.in,
	  programs/Makeprog.rules.in, programs/avitools/Makefile.in,
	  programs/make_progs, programs/winedbg/Makefile.in,
	  programs/winemenubuilder/Makefile.in, server/Makefile.in,
	  tools/Makefile.in, tools/widl/Makefile.in, tools/winapi/Makefile.in,
	  tools/winebuild/Makefile.in, tools/winedump/Makefile.in,
	  tools/winegcc/Makefile.in, tools/wmc/Makefile.in,
	  tools/wrc/Makefile.in:
	Add support for 'make install DESTDIR'.

2006-02-14  Michael Jung <mjung@iss.tu-darmstadt.de>

	* programs/winecfg/Bg.rc, programs/winecfg/De.rc, programs/winecfg/En.rc,
	  programs/winecfg/Es.rc, programs/winecfg/Fi.rc,
	  programs/winecfg/Fr.rc, programs/winecfg/Ja.rc,
	  programs/winecfg/Ko.rc, programs/winecfg/Makefile.in,
	  programs/winecfg/Nl.rc, programs/winecfg/No.rc,
	  programs/winecfg/Ru.rc, programs/winecfg/Tr.rc,
	  programs/winecfg/driveui.c, programs/winecfg/main.c,
	  programs/winecfg/resource.h, programs/winecfg/theme.c,
	  programs/winecfg/winecfg.h:
	winecfg: Support for setting symlinks for 'Desktop' and 'My Stuff' shell folders.

2006-02-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/process.c, dlls/ntdll/signal_i386.c:
	A couple of new valgrind instrumentations for better support.

2006-02-14  Jeremy White <jwhite@codeweavers.com>

	* dlls/twain/dsm_ctrl.c:
	twain: Reconcile sane's long names to TWAIN's 32 byte limit.

	* dlls/twain/twain.h:
	twain: Make structures respect 2 byte packing requirements.

2006-02-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* server/context_alpha.c, server/context_i386.c, server/context_powerpc.c,
	  server/context_sparc.c, server/context_x86_64.c, server/ptrace.c,
	  server/thread.h:
	server: When possible, use tgkill instead of tkill syscall on Linux.

2006-02-14  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/query.c, dlls/setupapi/tests/query.c:
	setupapi: Handle the INFINFO_REVERSE_DEFAULT_SEARCH search flag.

	* dlls/setupapi/query.c, dlls/setupapi/tests/query.c:
	setupapi: Handle the INFINFO_INF_NAME_IS_ABSOLUTE and
	INFINFO_DEFAULT_SEARCH search flags.

2006-02-14  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/winmm/driver.c:
	winmm: Protect drivers list by a critical section.

2006-02-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* include/wine/test.h:
	tests: Fixed test framework against environment modifications.

2006-02-14  Troy Rollo <wine@troy.rollo.name>

	* dlls/user/dialog.c, include/winuser.h:
	user: Fix argument type of IsDlgButtonChecked.

	* dlls/user/scroll.c, include/winuser.h:
	user: Fix argument type for EnableScrollBar.

	* dlls/user/dialog.c, include/winuser.h:
	user: Fix argument types for CheckRadioButton.

	* dlls/user/dialog.c, include/winuser.h:
	user: Fix return type and argument type for GetDlgItemText{A,W}.

2006-02-14  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvideo/msvideo_main.c, dlls/msvideo/msvideo_private.h:
	msvfw32: Disable datarate, keyframe and quality controls to not
	confuse users by a not implemented functionality.
	Add support for About codec control.

	* dlls/msvideo/msvideo_main.c:
	msvfw32: Initialize lpbiIn member of the COMPVARS structure.

2006-02-14  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	winetest: Add riched20 tests.

2006-02-14  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/pidl.c, dlls/shell32/pidl.h, dlls/shell32/shellpath.c:
	shell32: Return a GUID pidl for CSIDL_PERSONAL in SHGetFolderLocation.
	The tests (shellpath.c/testPersonal) already show that it can be either
	PT_FOLDER or PT_GUID. It's PT_GUID on WinXP.

2006-02-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* loader/pthread.c:
	loader: Added missing attr destroy.

2006-02-14  Robert Shearman <rob@codeweavers.com>

	* documentation/.gitignore:
	Ignore documentation/html.

	* tools/c2man.pl:
	tools/c2man.pl: Generate correct html.

	* dlls/wininet/gopher.c, dlls/wininet/http.c:
	wininet: Documentation fixes.

	* dlls/oleaut32/olepicture.c:
	oleaut32: Free connection point on destruction of the picture object.
	Handle failure of CreateConnectionPoint on construction.

	* dlls/oleaut32/typelib.c:
	oleaut32: Fix returning Typelib file name.
	We can't use GetModuleFileName on a resource-only module, so the best
	we can do is to copy the original name we used to find the type
	library.  Fix a couple of places where we were incorrectly using the
	file name, rather than the path.

	* dlls/oleaut32/olefont.c:
	oleaut32: Free the connection points on destruction of the font object.
	Free the connection points on destruction of the font object and cope
	with failure of CreateConnectionPoint on construction.

	* dlls/oleaut32/tmarshal.c:
	oleaut32: Don't try to release NULL COM objects in the typelib
	marshaler.

	* dlls/oleaut32/olepicture.c:
	oleaut32: Fix flag comparison in Picture Invoke.
	One or more invoke flags can be passed into IDispatch::Invoke, but we
	only care if INVOKEFLAG_PROPERTYGET is specified, and don't about any
	others.

2006-02-14  Alexandre Julliard <julliard@winehq.org>

	* server/queue.c:
	server: Try to update the input key state even when the message is
	dropped in queue_hardware_message. This should fix some problems with
	the Alt key getting "stuck" after Alt-Tab.

2006-02-14  Francois Gouget <fgouget@free.fr>

	* dlls/kernel/locale_rc.rc, dlls/oleaut32/hash.c, include/winnt.h,
	  tools/widl/hash.c, tools/wine.inf:
	include: Add missing LANG_xxx and SUBLANG_xxx constants.

2006-02-14  Michael Jung <mjung@iss.tu-darmstadt.de>

	* programs/winecfg/De.rc:
	winecfg: Cleaned up various control positions on the German version of
	the audio tab.

	* dlls/shell32/regsvr.c:
	shell32: Register 'LocalizedString' values for shellfolder classes.

	* dlls/shell32/classes.c:
	shell32: Query for localized string in HCR_GetClassName.

	* dlls/advapi32/advapi32.spec, dlls/advapi32/registry.c, include/winreg.h:
	advapi32: Implemented RegLoadMUIString[AW].

2006-02-14  Phil Lodwick <Phil.Lodwick@EFI.COM>

	* dlls/winsock/tests/sock.c:
	winsock/tests: select wakeup on closesocket.
	- Change select timeout from 2 seconds to 500 microseconds.
	- Add test to make sure select wakes up after a closesocket.
	- Add test to make sure listen fails without bind.

2006-02-14  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/msxml_private.h, dlls/msxml3/node.c,
	  dlls/msxml3/nodelist.c, dlls/msxml3/tests/domdoc.c:
	msxml: Implement getElementsByTagName.

2006-02-14  Hans Leidekker <hans@it.vu.nl>

	* dlls/msxml3/main.c, dlls/msxml3/msxml3.spec:
	msxml3: Implement DllUnregisterServer.

2006-02-13  Petr Tesarik <hat@tesarici.cz>

	* programs/winhelp/Cs.rc:
	winhelp: Czech language resources encoding fix.

	* programs/winemine/Cs.rc:
	winemine: Czech language resources encoding fix.

	* programs/winefile/Cs.rc:
	winefile: Czech language resources encoding fix.

	* programs/wineconsole/wineconsole_Cs.rc:
	wineconsole: Czech language resources encoding fix.

	* programs/winecfg/Cs.rc:
	winecfg: Czech language resources encoding fix.

	* programs/wcmd/Cs.rc:
	wcmd: Czech language resources encoding fix.

	* programs/view/Cs.rc:
	view: Czech language resources encoding fix.

	* programs/uninstaller/Cs.rc:
	uninstaller: Czech language resources encoding fix.

	* programs/start/Cs.rc:
	start.exe: Czech language resources encoding fix.

	* programs/regedit/Cs.rc:
	regedit: Czech language resources encoding fix.

	* programs/progman/Cs.rc:
	progman: Czech language resources encoding fix.

	* programs/notepad/Cs.rc:
	notepad: Czech language resources encoding fix.

	* programs/cmdlgtst/Cs.rc:
	cmdlgtst: Czech language resources encoding fix.

	* programs/clock/Cs.rc:
	clock: Czech language resources encoding fix.

	* dlls/winmm/winmm_Cs.rc:
	winmm: Czech language resources encoding fix.

	* dlls/wininet/wininet_Cs.rc:
	wininet: Czech language resources encoding fix.

	* dlls/user/resources/user32_Cs.rc:
	user32: Czech language resources encoding fix.

	* dlls/wineps/wps_Cs.rc:
	wineps: Czech language resources encoding fix.

	* dlls/shell32/shell32_Cs.rc:
	shell32: Czech language resources encoding fix.

	* dlls/setupapi/Cs.rc:
	setupapi: Czech language resources encoding fix.

	* dlls/serialui/Cs.rc:
	serialui: Czech language resources encoding fix.

	* dlls/oledlg/oledlg_Cs.rc:
	oledlg: Czech language resources encoding fix.

	* dlls/mpr/mpr_Cs.rc:
	mpr: Czech language resources encoding fix.

	* dlls/msrle32/msrle_Cs.rc:
	msrle32: Czech language resources encoding fix.

	* dlls/msacm/msacm_Cs.rc:
	msacm: Czech language resources encoding fix.

	* dlls/hhctrl.ocx/Cs.rc:
	hhctrl.ocx: Czech language resources encoding fix.

	* dlls/commdlg/cdlg_Cs.rc:
	commdlg: Czech language resources encoding fix.

	* dlls/comctl32/comctl_Cs.rc:
	comctl32: Czech language resources encoding fix.

	* dlls/avifil32/avifile_Cs.rc:
	avifil32: Czech language resources encoding fix.

2006-02-13  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/Makefile.in, dlls/mshtml/hlink.c,
	  dlls/mshtml/mshtml_private.h, dlls/mshtml/navigate.c,
	  dlls/mshtml/nsio.c:
	mshtml: Handle IHlinkFrame service.

2006-02-13  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/wined3d/device.c, dlls/wined3d/drawprim.c, dlls/wined3d/surface.c,
	  dlls/wined3d/wined3d_private.h:
	wined3d: Update the glOrtho between 2 rhw draws if the viewport was changed.

2006-02-13  Cyril Margorin <comargo@gmail.com>

	* dlls/x11drv/dib.c:
	x11drv: Fix X11DRV_DIB_SetImageBits and X11DRV_DIB_GetImageBits to
	check for passed image, and do not use shared memory extension for
	temporary created image.

	* dlls/x11drv/dib.c:
	x11drv: Fix X11DRV_GetDIBits to pass shared memory image to
	X11DRV_DIB_GetImageBits.

2006-02-13  Mike McCormack <mike@codeweavers.com>

	* dlls/msvcrt/exit.c:
	msvcrt: Fix a typo.

2006-02-13  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/psapi/psapi.spec:
	psapi: Fix output parameter of function GetModuleBaseName in spec
	file.

2006-02-13  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/surface.c, dlls/wined3d/volume.c:
	wined3d: Don't keep a reference to the container, as it creates a
	circular reference.

2006-02-13  Francois Gouget <fgouget@free.fr>

	* dlls/wined3d/device.c:
	wined3d: Protect float.h inclusion.

	* dlls/mshtml/tests/htmldoc.c:
	mshtml: Add trailing '\n's to ok() calls.

	* include/d3dtypes.h:
	d3dtypes: Fix windows.h inclusion.

2006-02-13  Hans Leidekker <hans@it.vu.nl>

	* dlls/kernel/file.c:
	kernel: Report a tape device as FILE_TYPE_CHAR.

	* dlls/crypt32/crypt32.spec, dlls/crypt32/main.c:
	crypt32: Add a stub for CryptQueryObject.

	* dlls/netapi32/access.c:
	netapi32: Improve stub for NetUserModalsGet.
	Tell the caller this host is not part of a domain.

2006-02-13  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvideo/msvideo_main.c:
	msvfw32: Fix typos in the control state handling.
	Fix typos in the control state handling, add state checks for IDOK
	and IDCANCEL control notification handlers.

2006-02-11  Alexandre Julliard <julliard@winehq.org>

	* libs/wine/Makefile.in, libs/wine/config.c, libs/wine/loader.c:
	libwine: Use dladdr if supported to get the run-time path of libwine.so
	and define the default dll and bin directories relative to it.

	* configure, configure.ac, include/config.h.in:
	configure: Added check for dladdr in libdl.

	* aclocal.m4, configure, configure.ac:
	configure: Added a WINE_CHECK_LIB_FUNCS macro to check for functions
	when linking with specific libraries.

2006-02-11  Stefan Dösinger <stefandoesinger@gmx.at>

	* dlls/ddraw/d3d_private.h, dlls/ddraw/device_main.c,
	  dlls/ddraw/device_opengl.c:
	ddraw: Small function corrections.
	The pPlaneEquation parameter of IDirect3DDevice7::SetClipPlane is not const
	IDirect3DDevice2::NextViewport takes an IDirect3DDevice2 interface, not an
	IDirect3DDevice3, the same for IDirect3DDevice::NextViewport.

	* dlls/ddraw/vertexbuffer.c:
	ddraw: ProcessVertices correction.
	Use the texture index to get the texcoord size from the fvf, not the
	vertex index.

2006-02-11  Phil Krylov <phil@newstar.rinet.ru>

	* configure, configure.ac, dlls/ntdll/tape.c:
	ntdll: Fix tape.c compilation on Darwin.

2006-02-11  Andrey Turkin <pancha@mail.nnov.ru>

	* dlls/shell32/shlview.c:
	shell32: IShellView list's control id should be 1, not 2000.

	* dlls/commdlg/filedlgbrowser.c:
	commdlg: IShellBrowser sets IShellView window's control id to 5002.

2006-02-11  Troy Rollo <wine@troy.rollo.name>

	* dlls/ntdll/cdrom.c, include/Makefile.in, include/ddk/ntddcdvd.h:
	ntdll: Implement DVD_ReadStructure.

2006-02-11  Thomas Kho <tkho@ucla.edu>

	* dlls/riched20/editor.c:
	riched20: Fixed bounds error when finding text forward.

	* configure, configure.ac, dlls/riched20/Makefile.in,
	  dlls/riched20/tests/.gitignore, dlls/riched20/tests/Makefile.in,
	  dlls/riched20/tests/editor.c:
	riched20: Added tests for EM_FINDTEXT and EM_FINDTEXTEX messages.

2006-02-11  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/shlfolder.c, dlls/shell32/tests/shlfolder.c:
	shell32: SHELL32_GetItemAttributes()
	- correct documentation which incorrectly claimed not to set any
	attribute bits
	- retrieve file attributes using SHGetPathFromIDListW() when they are
	not already present in the internal PIDL structures
	- add test case to show the previously wrong folder attributes when
	using absolute PIDLs
	- fix some memory leaks in the tests

2006-02-11  Jan Zerebecki <jan.wine@zerebecki.de>

	* dlls/wined3d/directx.c:
	wined3d: Make the returned driver version similar to windows.

	* dlls/wined3d/utils.c:
	wined3d: Extend debug_d3drenderstate with missing states.

2006-02-11  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvcrt/time.c:
	msvcrt: localtime should accept any positive time value.

	* dlls/iccvid/iccvid.c, dlls/msvidc32/msvideo1.c:
	Handle ICM_CONFIGURE request in ICCVID and MSVIDC32 codecs.

	* dlls/msvideo/msvideo_main.c, dlls/msvideo/msvideo_private.h:
	msvfw32: Call codec's Configure dialog if the codec supports it.
	Disable data rate and key frame fields if requested.

2006-02-11  Milko Krachounov <milko@3mhz.net>

	* programs/winecfg/Bg.rc:
	winecfg: Update Bulgarian translation.

2006-02-11  Louis Lenders <xerox_xerox2000@yahoo.co.uk>

	* dlls/wined3d/device.c:
	wined3d: Prevent crash in setup_light.

2006-02-11  Maarten Lankhorst <m.b.lankhorst@gmail.com>

	* include/Makefile.in, include/dpnathlp.h:
	include: Add dpnathlp.h header.

2006-02-10  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/msvcrt/file.c:
	msvcrt: In _mktemp sixth generated charater always starts with 'a'.

2006-02-10  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/nodemap.c, dlls/msxml3/tests/domdoc.c:
	msxml: Add ISupportErrorInfo for named node maps.

2006-02-10  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/persist.c, dlls/mshtml/tests/htmldoc.c,
	  include/mshtmhst.idl:
	mshtml: Added more defines to mshtmlhst.idl.

2006-02-10  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/signal_i386.c:
	ntdll: Added emulation of ATL thunks for platforms with NX support.

2006-02-10  Aric Stewart <aric@codeweavers.com>

	* dlls/ntdll/tests/change.c:
	ntdll: gcc 2.95 compile fixes.

2006-02-10  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/kernel/tests/drive.c:
	kernel: Fix a GetDiskFreeSpaceExA test for cd/dvd drives.

2006-02-10  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/stateblock.c:
	wined3d: Release the vertex declaration during stateblock cleanup.

	* dlls/wined3d/surface.c, dlls/wined3d/volume.c:
	wined3d: Release the container during surface / volume cleanup.

	* dlls/d3d9/tests/shader.c, dlls/d3d9/tests/stateblock.c,
	  dlls/d3d9/tests/vertexdeclaration.c:
	d3d9: Use an invisible window for tests.

2006-02-10  Robert Shearman <rob@codeweavers.com>

	* dlls/secur32/secur32.c:
	secur32: Improve tracing.
	Improve the tracing for functions that can be called by the app, but
	bypass the relay code.

	* tools/widl/write_msft.c:
	widl: Fix a typo when removing TYPEFLAG_FDUAL.

	* dlls/oleaut32/olefont.c, dlls/oleaut32/olepicture.c,
	  dlls/shdocvw/events.c:
	Return the correct error code from IConnectionPointContainer::FindConnectionPoint.

	* dlls/oleaut32/olepicture.c:
	oleaut: Partially implement Invoke on the standard picture implementation.

	* dlls/oleaut32/typelib.c:
	oleaut: Fix importing the IDispatch interface for TKIND_DISPATCH type infos.
	Fix importing the IDispatch interface for TKIND_DISPATCH type infos
	when the offset isn't specified. It should be fetched from the
	dispatch offset stored in the header, rather than using a hack that
	doesn't work.

	* dlls/oleaut32/tests/olefont.c:
	oleaut: Add tests for IFontEventsDisp.

	* dlls/oleaut32/olefont.c:
	oleaut: Implement IFontEventsDisp connection point for the standard
	font implementation.

	* include/olectl.h:
	include: Define DISPID_FONT_CHANGED.

2006-02-10  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c:
	crypt32: Move break statement to the correct spot.

2006-02-10  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/tests/htmldoc.c:
	mshtml: Added test of IHlinkFrame service.

	* dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c:
	mshtml: Added nsIUploadStream implementation.

2006-02-09  Dmitry Timoshkov <dmitry@codeweavers.com>

	* programs/regsvr32/Makefile.in, programs/regsvr32/regsvr32.c:
	regsvr32: Call OleInitialize before registering a DLL.

2006-02-09  Alexandre Julliard <julliard@winehq.org>

	* programs/Makefile.in, programs/make_progs:
	programs: Don't install winetest.

2006-02-09  Jeremy White <jwhite@codeweavers.com>

	* dlls/kernel/change.c, dlls/kernel/tests/change.c:
	kernel: Fixed build with gcc 2.95.

2006-02-09  Mike McCormack <mike@codeweavers.com>

	* dlls/dinput/joystick_linuxinput.c:
	dinput: Fix the compile for missing EV_SYN define.

2006-02-09  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/gdi/pen.c:
	gdi: Show hatch brush FIXME only once.

2006-02-09  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c, dlls/mshtml/nsio.c,
	  dlls/mshtml/persist.c:
	mshtml: Get rid of HTMLDocument_OnLoad and move its job to AsyncOpen.

	* dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c:
	mshtml: Added wrapper of nsIChannel.

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsiface.idl,
	  dlls/mshtml/nsio.c:
	mshtml: Added wrapper of nsIURI interface.

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl:
	mshtml: Better ns*String handling.

	* dlls/mshtml/Makefile.in, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c:
	mshtml: Added wrapper of nsIOService.

2006-02-09  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	ntdll: Better handling of errors when loading a builtin dll from an
	existing file.

2006-02-09  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/query.c:
	setupapi: Error out if ReturnBuffer is NULL but ReturnBufferSize is not 0.

	* dlls/setupapi/query.c:
	setupapi: Convert InfSpec to unicode if SearchControl is not
	INFINFO_INF_SPEC_IS_HINF.

2006-02-09  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut: Make TLB_ReadTypeLib not rely on the signature of executables or dlls.
	Try loading the dll first and then fall back to the regular file case.
	Only call SearchPath for the regular file case since LoadLibraryEx
	will do this for us and it previously excluded builtin dlls and
	executables from having their type libraries opened.

	* dlls/oleaut32/typelib.c:
	oleaut: Move the call to SearchPath inside of TLB_ReadTypeLib.

	* dlls/oleaut32/typelib.c:
	oleaut: Revert incorrect patch changing the order of parameters passed
	into DispCallFunc. A test with native indeed shows that the parameter
	index increases from the leftmost parameter to the rightmost.

	* tools/widl/parser.l, tools/widl/parser.y, tools/widl/widltypes.h,
	  tools/widl/write_msft.c:
	widl: Write out more TYPEFLAGs and add more type library-specific
	attributes to the parser.

	* tools/widl/write_msft.c:
	widl: Write out TYPEFLAG_FDUAL, TYPEFLAG_FDISPATCHABLE and
	TYPEFLAG_FOLEAUTOMATION typelib flags.

2006-02-09  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c:
	crypt32: Fix up decoding.
	- don't use the no copy flag when decoding, the lifetime of the buffer
	to decode isn't guaranteed
	- remove some extraneous ternary comparisons
	- fix a comment

	* dlls/crypt32/encode.c:
	crypt32: Fix a fixme, and remove an old comment.

2006-02-09  Aric Stewart <aric@codeweavers.com>

	* dlls/advapi32/registry.c:
	advapi32: Fix for RegNotifyChangeKeyValue.
	Flip fAsync and fWatchSubTree into their proper places.

2006-02-09  Gerald Pfeifer <gerald@pfeifer.com>

	* dlls/ntdll/tape.c:
	ntdll: Take into account that FreeBSD and others have MTSETBSIZ
	instead of MTSETBLK.

2006-02-09  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/keyboard.c:
	x11drv: Update Swiss French keyboard layout to better match the X11 one.

2006-02-09  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/duplex.c:
	dsound: Fix duplex test.

2006-02-09  Christoph Frick <frick@sc-networks.de>

	* dlls/dinput/joystick_linuxinput.c:
	dinput: Dynamic handling of buttons of a device.

	* dlls/wined3d/utils.c:
	wined3d: Support for WINED3DFMT_A8B8G8R8.

	* dlls/wined3d/device.c:
	wined3d: Better warn/fixme for query handling.

2006-02-09  Hans Leidekker <hans@it.vu.nl>

	* dlls/mapi32/sendmail.c:
	mapi32: Prevent freeing non-allocated memory.

2006-02-08  Francois Gouget <fgouget@free.fr>

	* include/winuser.h:
	winuser.h: Add missing *LayeredWindow*() prototypes.

2006-02-08  Alexandre Julliard <julliard@winehq.org>

	* include/wine/server_protocol.h, server/process.c, server/protocol.def,
	  server/trace.c:
	server: Remove the no longer needed exe_file parameter in the
	init_process_done request.

	* dlls/kernel/process.c, dlls/ntdll/loader.c, include/winternl.h:
	ntdll: Get rid of the main_file argument in LdrInitializeThunk.

	* dlls/kernel/process.c:
	kernel: Use a standard LoadLibrary call to load the main exe.

	* dlls/ntdll/loader.c:
	ntdll: Check for existing modref for the main exe before creating it
	in LdrInitializeThunk.

	* server/process.c:
	server: Allow the main exe to be registered as a normal dll before
	init_process_done is called.

	* server/change.c:
	server: Fixed handling of inotify record length.

2006-02-08  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/msvcrt/undname.c:
	msvcrt: __unDNameEx is not a stub.

2006-02-08  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/navigate.c,
	  dlls/shdocvw/shdocvw.h, dlls/shdocvw/webbrowser.c:
	shdocvw: Added IHlinkFrame stub implementation.

	* dlls/shdocvw/shdocvw_main.c:
	shdocvw: Includes clean up.

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/misc.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/shdocvw_main.c, dlls/shdocvw/webbrowser.c:
	shdocvw: Remove IQuickActivate interface implementation that is not
	implemented in Windows as well.

	* include/urlmon.idl:
	urlmon.idl: Added BINDINFOF declaration.

2006-02-08  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/wineps/pen.c, dlls/x11drv/pen.c:
	Pens created without PS_GEOMETRIC style but with width > 1 unit are
	scalable.

	* dlls/gdi/path.c:
	gdi: Remove StrokePath workaround for a DC transformation change bug.

2006-02-08  Huw Davies <huw@codeweavers.com>

	* dlls/wineps/escape.c:
	wineps: Don't display the MFCOMMENT escape.

2006-02-07  Francois Gouget <fgouget@free.fr>

	* dlls/ntdll/tape.c:
	ntdll: Fix typo in HAVE_STRUCT_MTGET_MT_GSTAT ifdef.

	* dlls/shell32/shellole.c:
	shell32: Update DllGetClassObject documentation.

	* include/textserv.h:
	textserv.h: Add missing CreateTextServices() prototype.

	* dlls/ntdll/virtual.c:
	ntdll: Protect sys/stat.h inclusion.

	* tools/winapi/win32.api:
	winapi: Update win32.api to match the current sources.

2006-02-07  Dmitry Timoshkov <dmitry@codeweavers.com>

	* tools/wine.inf:
	wine.inf: Add a default handler for https to the registry.

	* dlls/kernel/locale.c:
	kernel32: Implement EnumUILanguages.

	* dlls/x11drv/dib_convert.c:
	x11drv: Copy the whole image at once if appropriate.

2006-02-07  Fatih Aşıcı <fasici@linux-sevenler.org>

	* dlls/x11drv/keyboard.c:
	x11drv: Fix Turkish keyboard layouts.

2006-02-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	ntdll: Support loading a builtin dll by specifying an explicit path to
	the .so file.

2006-02-07  Mike McCormack <mike@codeweavers.com>

	* programs/notepad/En.rc, programs/notepad/License_En.c,
	  programs/notepad/Makefile.in, programs/notepad/dialog.c,
	  programs/notepad/license.c, programs/notepad/license.h,
	  programs/notepad/notepad_res.h:
	notepad: Move license text to resources.

2006-02-07  Sergei Butakov <butsergej@yandex.ru>

	* dlls/ntdll/time.c:
	ntdll: Added Urals time.

2006-02-07  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c, include/wine/wined3d_interface.h:
	wined3d: Added CopyRects method (based on a patch by Oliver Stieber).

	* dlls/d3d8/device.c:
	d3d8: fbconfig fix.
	Right now the ActiveRender code in D3D8 requests a GLX_DEPTH_SIZE of
	32 in case the direct3d color format also has a depth of 32. As
	verified on various linux drivers (Ati fglrx, Ati (dri) and Nvidia)
	the color depth needs to be 24. This patch sets the depth to 24 and it
	fixes bugs in 3dmark2001 and other programs.

2006-02-07  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/tests/change.c:
	kernel32: More test cases for ReadDirectoryChangesW.

	* dlls/kernel/change.c, dlls/ntdll/directory.c,
	  include/wine/server_protocol.h, server/change.c, server/protocol.def,
	  server/trace.c:
	kernel32: ReadDirectoryChangesW fixes.
	ReadDirectoryChangesW remembers whether it's recording changes or not.
	Don't initialize overlapped->InternalHigh.
	The hEvent is cleared when ReadDirectoryChanges is called.

2006-02-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/crypt32/cert.c, dlls/crypt32/encode.c, dlls/ole32/rpc.c,
	  dlls/winecrt0/stub.c, dlls/winmm/driver.c, dlls/winmm/lolvldrv.c:
	Include wine/port.h in files that use exceptions.

2006-02-07  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tmarshal.c:
	oleaut32: Fix circular reference count in Typelib marshaler.
	The current method of handling typelib-marshaled interfaces that derive
	from IDispatch is to query for an IDispatch pointer from the proxy, but
	this causes a circular reference count.
	Fix the reference counting by loading using the IRpcProxyBuffer of
	IDispatch without an outer unknown, so that the lifetime is controlled
	by the typelib-marshaled interface's proxy. The IDispatch proxy now
	shares the same channel as the typelib-marshaled interface, so fix up
	the stub side to handle this.

	* dlls/oleaut32/tmarshal.c:
	oleaut32: Handle VT_INT in serialize_param and deserialize_param.

	* dlls/oleaut32/tmarshal.c:
	oleaut32: Release interfaces when told to.
	Make the VT_DISPATCH and VT_UNKNOWN cases of serialize_param match the
	TKIND_INTERFACE case below by releasing their respective interfaces as
	necessary.

	* dlls/ole32/compobj.c:
	ole32: Print an error message if the apartment isn't initialised in
	CoCreateInstance.

	* tools/widl/write_msft.c:
	widl: Fix some warnings caused by making attributes const.

	* dlls/msi/sql.y:
	msi: Fix bison warnings by providing precedence rules for expressions
	and by removing a redundant expression case.

	* dlls/rpcrt4/cproxy.c:
	rpcrt4: Don't call IUnknown_AddRef if there is no outer unknown in
	StdProxy_Construct as it will just crash anyway.

2006-02-07  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/query.c, dlls/setupapi/stubs.c,
	  dlls/setupapi/tests/query.c:
	setupapi: Add an initial implementation of SetupGetInfInformation.

	* dlls/setupapi/Makefile.in, dlls/setupapi/query.c, dlls/setupapi/stubs.c:
	setupapi: Implement SetupQueryInfFileInformation.

2006-02-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/setupapi/dirid.c, dlls/setupapi/parser.c, dlls/setupapi/queue.c,
	  dlls/setupapi/setupapi_private.h:
	setupapi: Store the full name to the INF file in the inf_file structure
	(based on a patch by James Hawkins).

	* tools/widl/parser.y:
	widl: Remove '\n' from yyerror calls.

2006-02-07  Robert Shearman <rob@codeweavers.com>

	* tools/widl/header.c, tools/widl/header.h, tools/widl/parser.y,
	  tools/widl/widltypes.h:
	widl: Make 'attrs' field of type_t const.

	* tools/widl/parser.y, tools/widl/widltypes.h, tools/widl/write_msft.c:
	widl: Remove unused 'rname' field of type_t.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Merge marshall_arguments and unmarshall_arguments into one
	function to remove the large amount of duplicated code.

	* tools/widl/client.c, tools/widl/header.c, tools/widl/header.h,
	  tools/widl/proxy.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Yet more const attributes.

	* tools/widl/header.c, tools/widl/widltypes.h:
	widl: More const attributes.

2006-02-07  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/typegen.c:
	widl: Fix proc format string for explicit binding handles.

2006-02-07  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Write out the correct FC type if the structure has pointers.

	* tools/widl/typegen.c:
	widl: Split pointer writing into a separate function.

	* tools/widl/parser.y:
	widl: Fix pointer detection for structures with embedded arrays.
	Pointers have priority over every other type, so move the detection to
	the top of get_struct_type.
	Fall through from the embedded array detection to the embedded
	structure handling code so that conformance, variance and pointer
	presence is inherited from the array's base type.

	* tools/widl/typegen.c:
	widl: Increment the type format string when writing the pointer
	layouts.
	Write out pointer layouts for structures.

	* tools/widl/widltypes.h:
	widl: Make all pointer fields of expr_t structure constant.

2006-02-07  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/iccvid.c, dlls/msvidc32/msvideo1.c:
	Clearly indicate that ICCVID and MSVIDC32 do not support compression.

	* dlls/msvideo/msvideo_main.c:
	msvideo: Add a codec to the compressors list only if it supports
	specified input format.
	Return a compressor handle in COMPVARS structure.

2006-02-07  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/msvcrt/undname.c:
	msvcrt: Handle data types B,R,S in C++ symbol demangling.

2006-02-07  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d9/tests/vertexdeclaration.c:
	d3d9: Add a test for IDirect3DVertexDeclaration9_GetDeclaration.

	* dlls/d3d9/tests/vertexdeclaration.c:
	d3d9: Reorganise the vertexdeclaration tests.
	- Split the test for getting and setting vertexdeclaration into one
	for creating the declaration and one for the actual getting and
	setting.
	- Add traces for when creating the device or vertexdeclaration fails.

	* dlls/wined3d/vertexdeclaration.c:
	wined3d: Always return the number of elements in the vertex
	declaration in IWineD3DVertexDeclarationImpl_GetDeclaration9.

	* dlls/wined3d/device.c:
	wined3d: Don't set the container to the device for standalone surfaces.

	* dlls/d3d9/volume.c, dlls/wined3d/volume.c:
	wined3d/d3d9: Cleanup GetContainer for volumes.

	* dlls/d3d9/surface.c, dlls/wined3d/surface.c:
	wined3d/d3d9: Cleanup GetContainer for surfaces.

2006-02-07  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/quartz/regsvr.c:
	quartz: Register some of the interfaces.

2006-02-06  Robert Millan <rmh@aybabtu.com>

	* configure, configure.ac, dlls/ntdll/file.c, include/config.h.in,
	  libs/port/fstatvfs.c, libs/port/statvfs.c, tools/winapi/winapi_check:
	configure: For sys/mount.h, sys/statfs.h and sys/vfs.h, always include
	them if present.

2006-02-06  Alexandre Julliard <julliard@winehq.org>

	* dlls/Makefile.in, dlls/win32s/.gitignore, dlls/win32s/Makefile.in:
	w32skrnl: No need for an import library.

	* dlls/Makefile.in, dlls/rsabase/.gitignore, dlls/rsabase/Makefile.in:
	rsabase: No need for an import library.

2006-02-06  Gerald Pfeifer <gerald@pfeifer.com>

	* configure, configure.ac, dlls/ntdll/tape.c, include/config.h.in:
	ntdll: Use struct mtget.mt_blkno on those systems providing that (and
	avoid using struct mtpos which may not be present on such systems).

2006-02-06  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/wininet/tests/internet.c:
	wininet: Fix InternetQueryOption test to pass under Windows.

2006-02-06  Phil Lodwick <Phil.Lodwick@EFI.COM>

	* dlls/winsock/tests/sock.c:
	winsock/tests: select() conformance test improvements.
	Add OK tests around more function calls.
	Add two more todo_wine tests that fail.

2006-02-06  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/tests/.gitignore, dlls/comctl32/tests/Makefile.in,
	  dlls/comctl32/tests/monthcal.c:
	comctl32: Add month calendar tests.

2006-02-06  Francois Gouget <fgouget@free.fr>

	* dlls/comctl32/progress.c, dlls/crypt32/tests/str.c,
	  dlls/oleaut32/variant.h, dlls/user/tests/menu.c:
	Assorted spelling fixes.

	* dlls/secur32/tests/main.c, dlls/winspool/tests/info.c:
	Add trailing '\n's to ok() and trace() calls.

	* dlls/security/security.spec:
	security: Fix the UnsealMessage() forward.

2006-02-06  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c, dlls/wined3d/directx.c, dlls/wined3d/surface.c:
	wined3d: Texture fixes.
	Set video memory capabilities, add some checks to SetTexture and
	update some comments.

2006-02-06  Huw Davies <huw@codeweavers.com>

	* dlls/oleaut32/tests/typelib.c, dlls/oleaut32/typelib.c:
	oleaut32: Fixes and tests for CreateDispTypeInfo.
	CreateDispTypeInfo returns the typeinfo of a coclass which implements
	the described interface.

2006-02-06  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/wininet/tests/.gitignore, dlls/wininet/tests/Makefile.in,
	  dlls/wininet/tests/internet.c:
	wininet: Add tests for InternetQueryOption.

2006-02-06  Hans Leidekker <hans@it.vu.nl>

	* dlls/mapi32/Makefile.in, dlls/mapi32/mapi32.spec,
	  dlls/mapi32/mapi32_main.c, dlls/mapi32/sendmail.c, include/mapi.h,
	  include/mapicode.h:
	mapi32: Implementation for MAPISendMail.
	Implement MAPISendMail, stub MAPILogoff and make the stubs for
	MAPIInitialize, MAPILogon{,Ex} and MAPILogoff return success.

2006-02-06  Rein Klazes <wijn@wanadoo.nl>

	* programs/wcmd/batch.c, programs/wcmd/wcmd.h, programs/wcmd/wcmdmain.c:
	wcmd: CALL should search the current PATH.

2006-02-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/advpack/tests/files.c, dlls/cabinet/tests/extract.c,
	  dlls/comctl32/tests/comboex.c, dlls/gdi/region.c,
	  dlls/mshtml/nsembed.c, dlls/msvcrt/tests/cpp.c,
	  dlls/msvcrt/tests/dir.c, dlls/msvcrt/tests/string.c,
	  dlls/msvcrtd/debug.c, dlls/ntdll/loader.c, dlls/ntdll/tests/time.c,
	  dlls/odbc32/proxyodbc.c, dlls/quartz/tests/memallocator.c,
	  dlls/shdocvw/tests/shortcut.c, dlls/shlwapi/ordinal.c,
	  dlls/shlwapi/stopwatch.c, dlls/user/tests/menu.c,
	  dlls/user/tests/text.c, dlls/wininet/tests/http.c,
	  include/msvcrt/crtdbg.h, loader/kthread.c, loader/preloader.c,
	  programs/notepad/main.c:
	Fixes for missing prototypes warnings.

	* include/winbase.h, libs/unicode/cptable.c, tools/wmc/mcy.y:
	A few fixes for pointer qualifiers (const, volatile) warnings.

2006-02-06  Fatih Aşıcı <fasici@linux-sevenler.org>

	* programs/winhelp/Tr.rc, programs/winhelp/rsrc.rc:
	winhelp: Turkish translation.

	* programs/winemine/Tr.rc, programs/winemine/rsrc.rc:
	winemine: Turkish translation.

	* programs/winefile/Tr.rc, programs/winefile/rsrc.rc:
	winefile: Turkish translation.

	* programs/wineconsole/wineconsole_Tr.rc,
	  programs/wineconsole/wineconsole_res.rc:
	wineconsole: Turkish translation.

	* programs/winecfg/Tr.rc, programs/winecfg/winecfg.rc:
	winecfg: Turkish translation.

	* programs/wcmd/Tr.rc, programs/wcmd/wcmdrc.rc:
	wcmd: Turkish translation.

	* programs/view/Tr.rc, programs/view/viewrc.rc:
	view: Turkish translation.

	* programs/uninstaller/Tr.rc, programs/uninstaller/rsrc.rc:
	uninstaller: Turkish translation.

	* programs/taskmgr/Tr.rc, programs/taskmgr/taskmgr.rc:
	taskmgr: Turkish translation.

	* programs/start/Tr.rc, programs/start/rsrc.rc:
	start: Turkish translation.

	* programs/regedit/Tr.rc, programs/regedit/rsrc.rc:
	regedit: Turkish translation.

	* programs/progman/Tr.rc, programs/progman/rsrc.rc:
	progman: Turkish translation.

	* programs/notepad/Tr.rc, programs/notepad/rsrc.rc:
	notepad: Turkish translation.

	* programs/cmdlgtst/Tr.rc, programs/cmdlgtst/cmdlgr.rc:
	cmdlgtst: Turkish translation.

	* programs/clock/Tr.rc, programs/clock/rsrc.rc:
	clock: Turkish translation.

	* dlls/wldap32/wldap32.rc, dlls/wldap32/wldap32_Tr.rc:
	wldap32: Turkish translation.

	* dlls/winspool/Tr.rc, dlls/winspool/winspool.rc:
	winspool: Turkish translation.

	* dlls/winmm/winmm_Tr.rc, dlls/winmm/winmm_res.rc:
	winmm: Turkish translation.

	* dlls/wininet/rsrc.rc, dlls/wininet/wininet_Tr.rc:
	wininet: Turkish translation.

	* dlls/wineps/rsrc.rc, dlls/wineps/wps_Tr.rc:
	wineps: Turkish translation.

	* dlls/user/resources/user32.rc, dlls/user/resources/user32_Tr.rc:
	user: Turkish translation.

	* dlls/shlwapi/shlwapi.rc, dlls/shlwapi/shlwapi_Tr.rc:
	shlwapi: Turkish translation.

	* dlls/shell32/shell32_Tr.rc, dlls/shell32/shres.rc:
	shell32: Turkish translation.

	* dlls/shdocvw/Tr.rc, dlls/shdocvw/shdocvw.rc:
	shdocvw: Turkish translation.

	* dlls/setupapi/Tr.rc, dlls/setupapi/setupapi.rc:
	setupapi: Turkish translation.

	* dlls/serialui/Tr.rc, dlls/serialui/serialui_rc.rc:
	serialui: Turkish translation.

	* dlls/oledlg/oledlg_Tr.rc, dlls/oledlg/rsrc.rc:
	oledlg: Turkish translation.

	* dlls/oleaut32/oleaut32.rc, dlls/oleaut32/oleaut32_Tr.rc:
	oleaut32: Turkish translation.

	* dlls/msvideo/msvfw32_Tr.rc, dlls/msvideo/rsrc.rc:
	msvideo: Turkish translation.

	* dlls/msvidc32/msvidc32_Tr.rc, dlls/msvidc32/rsrc.rc:
	msvidc32: Turkish translation.

	* dlls/msrle32/msrle_Tr.rc, dlls/msrle32/rsrc.rc:
	msrle32: Turkish translation.

	* dlls/msi/msi.rc, dlls/msi/msi_Tr.rc:
	msi: Turkish translation.

	* dlls/mshtml/Tr.rc, dlls/mshtml/rsrc.rc:
	mshtml: Turkish translation.

	* dlls/msacm/msacm.rc, dlls/msacm/msacm_Tr.rc:
	msacm: Turkish translation.

	* dlls/mpr/mpr.rc, dlls/mpr/mpr_Tr.rc:
	mpr: Turkish translation.

	* dlls/iccvid/iccvid_Tr.rc, dlls/iccvid/rsrc.rc:
	iccvid: Turkish translation.

	* dlls/hhctrl.ocx/Tr.rc, dlls/hhctrl.ocx/hhctrl.rc:
	hhctrl.ocx: Turkish translation.

	* dlls/commdlg/cdlg_Tr.rc, dlls/commdlg/rsrc.rc:
	commdlg: Turkish translation.

	* dlls/comctl32/comctl_Tr.rc, dlls/comctl32/rsrc.rc:
	comctl32: Turkish translation.

	* dlls/avifil32/avifile_Tr.rc, dlls/avifil32/rsrc.rc:
	avifil32: Turkish translation.

2006-02-06  Mike McCormack <mike@codeweavers.com>

	* dlls/ntdll/tests/change.c:
	ntdll: Add some more tests for NtNotifyChangeDirectoryFile.

	* dlls/kernel/change.c, dlls/ntdll/directory.c,
	  include/wine/server_protocol.h, server/change.c, server/protocol.def,
	  server/request.h, server/trace.c:
	server: Fill in NtNotifyChangeDirectoryFile's buffer with change data.

2006-02-06  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/kernel/tests/.gitignore, dlls/kernel/tests/Makefile.in,
	  dlls/kernel/tests/volume.c:
	kernel: Added a test for QueryDosDeviceA.

2006-02-06  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/clock/No.rc, programs/progman/No.rc, programs/winecfg/No.rc,
	  programs/winefile/No.rc:
	Norwegian Bokmål updates.

2006-02-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/comm.c, dlls/ntdll/serial.c:
	ntdll: Implemented IOCTL for char transmission: IMMEDIATE_CHAR.

	* dlls/kernel/comm.c, dlls/ntdll/serial.c:
	ntdll: Implemented COMM IOCTL for modem status: GET_MODEMSTATUS.

	* dlls/kernel/comm.c, dlls/ntdll/serial.c:
	ntdll: Implemented IOCTL for serial: SET_WAIT_MASK, GET_WAIT_MASK.

	* dlls/kernel/comm.c, dlls/ntdll/serial.c:
	ntdll: Implemented IOCTL purge for serial objects.

2006-02-06  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/basetexture.c, dlls/wined3d/cubetexture.c,
	  dlls/wined3d/device.c, dlls/wined3d/directx.c,
	  dlls/wined3d/indexbuffer.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/query.c, dlls/wined3d/resource.c,
	  dlls/wined3d/stateblock.c, dlls/wined3d/surface.c,
	  dlls/wined3d/swapchain.c, dlls/wined3d/texture.c,
	  dlls/wined3d/vertexbuffer.c, dlls/wined3d/vertexdeclaration.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/volume.c,
	  dlls/wined3d/volumetexture.c:
	wined3d: Update the QueryInterface functions of IWineD3DBase subclasses.

	* dlls/wined3d/stateblock.c:
	wined3d: Update refcounts when storing references in IWineD3DStateBlockImpl_Capture.
	Move TRACEs to the top of their code blocks.

	* dlls/wined3d/device.c:
	wined3d: Release the correct vertexdeclaration in
	IWineD3DDeviceImpl_SetVertexDeclaration.

	* dlls/wined3d/device.c:
	wined3d: Also update reference counts when we're recording a stateblock.

	* dlls/wined3d/device.c, dlls/wined3d/surface.c, dlls/wined3d/volume.c,
	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h:
	wined3d: Fix SetContainer.
	Add/Release references to the container.
	Change the type of the container from IUnknown to IWineD3DBase.

	* dlls/wined3d/drawprim.c:
	wined3d: Downgrade a FIXME to a TRACE.

2006-02-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/stabs.c, dlls/dbghelp/symbol.c,
	  programs/winedbg/debugger.h, programs/winedbg/memory.c,
	  programs/winedbg/stack.c, programs/winedbg/symbol.c:
	winedbg: Added support for function parameters passed in registers.
	Added correct stabs parsing for function parameters in registers.
	Added a couple of helper functions to make code smaller and more
	readable.

	* dlls/kernel/atom.c, dlls/kernel/tests/atom.c, dlls/ntdll/tests/atom.c:
	kernel: Fixed regression in atom handling.
	Added proper tests (local & global functions).

2006-02-06  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/editor.c:
	riched20: Don't use EM_STREAMIN for paste.

2006-02-06  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/commdlg/fontdlg.c:
	commdlg: Add font sizes 6 and 7 to font select dialog.

2006-02-06  Paul Vriens <Paul.Vriens@xs4all.nl>

	* programs/winecfg/Nl.rc:
	winecfg: Update Dutch resources.

2006-02-06  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/winecfg/De.rc:
	winecfg: Update German resource.

2006-02-05  Gerald Pfeifer <gerald@pfeifer.com>

	* configure, configure.ac, dlls/ntdll/tape.c, include/config.h.in:
	ntdll: Use struct mtget.mt_blksiz on systems featuring this.
	Work around using struct mtget.mt_gstat on systems lacking this.

2006-02-05  Robert Millan <rmh@aybabtu.com>

	* configure, configure.ac, dlls/kernel/heap.c, dlls/ntdll/directory.c,
	  dlls/ntdll/file.c, dlls/ntdll/signal_i386.c, dlls/winsock/socket.c,
	  libs/wine/ldt.c, libs/wine/mmap.c, server/context_i386.c:
	Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
	that is used with FreeBSD.

2006-02-05  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/editstr.h, dlls/riched20/writer.c:
	riched20: Separate stream state from editor state.
	Somewhat improves thread safety.

	* dlls/riched20/editor.h, dlls/riched20/writer.c:
	riched20: Add method to stream data based on a range.

	* dlls/riched20/editor.c:
	riched20: Don't use EM_STREAMOUT for copy/cut.

2006-02-05  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, include/wine/server_protocol.h, server/process.c,
	  server/protocol.def, server/trace.c:
	server: Remove no longer used create_flags from get_startup_info request.

	* dlls/kernel/kernel_main.c, dlls/kernel/process.c:
	kernel: Use a magic ConsoleHandle value instead of create flag to pass
	the CREATE_NEW_CONSOLE flag to the child.

	* dlls/kernel/kernel_main.c, dlls/kernel/process.c:
	kernel: Set the console flag in the parent for CREATE_NEW_PROCESS_GROUP.

	* server/change.c:
	server: Fixed compile without inotify.

2006-02-05  YunSong Hwang <hys545@dreamwiz.com>

	* programs/winecfg/Ko.rc:
	winecfg: Updated the Korean translation.

2006-02-05  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c, include/wine/wined3d_gl.h:
	wined3d: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB.

	* dlls/d3d8/d3dcore_gl.h, dlls/d3d8/device.c:
	d3d8: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB.

	* dlls/d3d8/directx.c:
	d3d8: Add detection for GL_ARB_point_parameters support.

2006-02-05  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c:
	riched20: Empty undo stack after EM_STREAMIN without SFF_SELECTION flag.

2006-02-05  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/commdlg/cdlg_De.rc:
	commdlg: Update German resource.

2006-02-05  Juan Lang <juan@codeweavers.com>

	* dlls/crypt32/tests/str.c:
	crypt32: Fix Mingw compile.

2006-02-04  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/d3d8/device.c:
	d3d8: Fixed point sprite scaling when size < 1.0f.

	* dlls/d3d8/device.c:
	d3d8: Fixed POINTSPRITEENABLE.

	* dlls/d3d8/device.c:
	d3d8: Fixed POINTSCALEENABLE.

	* dlls/wined3d/device.c:
	wined3d: Fixed point sprite scaling when size < 1.0f.

2006-02-04  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loadorder.c:
	ntdll: Added a few helper function to simplify the loadorder code.
	Keep the application key open, it's valid for the lifetime of the
	process.

	* programs/winecfg/En.rc, programs/winecfg/libraries.c,
	  programs/winecfg/resource.h:
	winecfg: Display a warning when the user tries to change the load
	order of a system dll.

	* programs/winecfg/libraries.c:
	winecfg: Populate the dll combo box with the dlls found in the load path.

	* include/wine/library.h, libs/wine/loader.c, libs/wine/wine.def,
	  libs/wine/wine.map:
	libwine: Added wine_dll_enum_load_path function to allow querying the dll path.

2006-02-04  Kasper Sandberg <redeeman@metanurb.dk>

	* dlls/shell32/shell32_Da.rc, programs/clock/Da.rc,
	  programs/notepad/Da.rc, programs/progman/Da.rc,
	  programs/winhelp/Da.rc:
	Danish language update.

2006-02-04  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/editstr.h, dlls/riched20/list.c, dlls/riched20/paint.c,
	  dlls/riched20/para.c, dlls/riched20/reader.c, dlls/riched20/run.c,
	  dlls/riched20/writer.c:
	riched20: Initial support for simple tables.

	* dlls/riched20/editor.h, dlls/riched20/run.c, dlls/riched20/wrap.c:
	riched20: Removed an unused parameter.

	* dlls/riched20/caret.c:
	riched20: Simplified ME_InsertGraphicsFromCursor() function.

	* dlls/riched20/run.c:
	riched20: Fixed undo stack corruption.

2006-02-04  Mike McCormack <mike@codeweavers.com>

	* dlls/imm32/imm.c:
	imm32: Remove FIXME messages from some implemented functions.

	* programs/clock/En.rc, programs/clock/License_En.c,
	  programs/clock/Makefile.in, programs/clock/clock_res.h,
	  programs/clock/license.c, programs/clock/license.h,
	  programs/clock/main.c:
	Clock: Load license text from resources.

2006-02-04  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvideo/msvideo_main.c:
	msvfw32: Do not overwrite fccType in the codec enumeration proc.

2006-02-04  Neil Skrypuch <ns03ja@brocku.ca>

	* programs/winecfg/drive.c:
	winecfg: Use already existing letter_to_index().

2006-02-03  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/wined3d/device.c:
	wined3d: Add a break which got lost in the POINTSCALEENABLE fix.

2006-02-03  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Add architecture for generating pointer layouts.

2006-02-03  Alexandre Julliard <julliard@winehq.org>

	* tools/wine.inf:
	wine.inf: Make FourCC codes uppercase again until we can figure out
	why lowercase doesn't work right.

2006-02-03  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/typegen.c:
	widl: The 'string' attribute can also be used with unsigned characters.

2006-02-03  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_stubless.c:
	rpcrt4: Restrict stubless FC types to the range of the type function table.

	* dlls/rpcrt4/ndr_midl.c:
	rpcrt4: Raise exceptions in NdrSendReceive if I_RpcSendReceive failed.

	* include/wine/rpcfc.h:
	include: Move all of the contiguous FC types together so we can see
	possible missing constants better.

	* include/rpcndr.h:
	include: Add function declarations for the Range type.

2006-02-03  Mike McCormack <mike@codeweavers.com>

	* include/winnt.h:
	ntdll: Add FILE_ACTION and FILE_NOTIFY_CHANGE_ defines for streams.

2006-02-03  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/device.c:
	wined3d: Fixed WINED3DRS_POINTSPRITEENABLE.

	* dlls/wined3d/device.c:
	wined3d: Corrected implementation of WINED3DRS_POINTSCALEENABLE.

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_EDGEANTIALIAS.

	* dlls/wined3d/device.c:
	wined3d: Implemented WINED3DRS_MULTISAMPLEANTIALIAS.

2006-02-03  Robert Millan <rmh@aybabtu.com>

	* dlls/ntdll/signal_i386.c, dlls/ntdll/signal_x86_64.c:
	ntdll: Rename i386 CPU trap codes to avoid collision with system headers.

2006-02-03  Huw Davies <huw@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	ole: Initialize a few more funcdesc members in CreateDispTypeInfo.

2006-02-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/iccvid.c, dlls/msrle32/msrle32.c, dlls/msvidc32/msvideo1.c,
	  dlls/msvideo/msvideo_main.c:
	Add a check for icinfo->fccType in DRV_OPEN message handler of builtin
	video codecs.

	* tools/wine.inf:
	wine.inf: Change fcc type of builtin video codecs in system.ini to be
	equal to ICTYPE_VIDEO.

	* dlls/commdlg/filedlg.c:
	Add support for CDM_HIDECONTROL message in the file open dialog.

2006-02-03  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/oid.c:
	crypt32: Add stub for CryptEnumOIDInfo.

2006-02-02  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.7.

----------------------------------------------------------------
2006-02-02  Phil Lodwick <Phil.Lodwick@efi.com>

	* dlls/winsock/tests/sock.c:
	winsock/tests: Add a todo_wine test for select.

2006-02-02  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool/tests: Filter more results.

2006-02-02  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/wined3d/directx.c:
	wined3d: Added support for ARB_POINT_PARAMETERS.

2006-02-02  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/gdi/freetype.c:
	gdi: Slant font automatically if no italic variant exists.

2006-02-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/Bg.rc, programs/winecfg/Cs.rc, programs/winecfg/De.rc,
	  programs/winecfg/En.rc, programs/winecfg/Es.rc,
	  programs/winecfg/Fi.rc, programs/winecfg/Fr.rc,
	  programs/winecfg/It.rc, programs/winecfg/Ja.rc,
	  programs/winecfg/Ko.rc, programs/winecfg/Nl.rc,
	  programs/winecfg/No.rc, programs/winecfg/Pt.rc,
	  programs/winecfg/Ru.rc, programs/winecfg/resource.h,
	  programs/winecfg/x11drvdlg.c:
	winecfg: Remove color depth. It's source of problems for number of users.

2006-02-02  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shellpath.c:
	shell32: Create $HOME targeted symbolic links during SHELL_RegisterFolders.

	* dlls/shell32/shell32_Bg.rc, dlls/shell32/shell32_De.rc,
	  dlls/shell32/shell32_En.rc, dlls/shell32/shell32_Es.rc,
	  dlls/shell32/shell32_Fi.rc, dlls/shell32/shell32_Fr.rc,
	  dlls/shell32/shell32_Ko.rc, dlls/shell32/shell32_No.rc,
	  dlls/shell32/shell32_Pt.rc, dlls/shell32/shell32_Ru.rc:
	shell32: Move 'My Pictures', 'My Videos' and 'My Music' folders
	directly to %USERPROFILE% (instead of %USERPROFILE%\\My Documents), to
	allow for reasonable symbolic linking to $HOME based directories.

	* dlls/shell32/shellpath.c:
	shell32: Get rid of the magic MyDocuments->$HOME mapping code.

2006-02-02  Huw Davies <huw@codeweavers.com>

	* dlls/opengl32/opengl_ext.h, dlls/opengl32/wgl.c, dlls/x11drv/init.c,
	  dlls/x11drv/x11drv.h:
	opengl: Sync a dibsection to its pixmap before drawing to it via opengl.

2006-02-02  Alexandre Julliard <julliard@winehq.org>

	* tools/widl/client.c, tools/widl/proxy.c, tools/widl/server.c:
	widl: Some cosmetic fixes in generated code.

	* tools/widl/widl.c:
	widl: Make sure the token variables are always initialized properly.

2006-02-02  Johan Dahlin <jdahlin@async.com.br>

	* dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c:
	ntdll: RtlIpv4AddressToStringExW/RtlIpv4StringToAddressExW stubs.

2006-02-02  Tobias Loew <tobi@die-loews.de>

	* dlls/gdi/path.c:
	gdi: Extended pens do not work correct with StrokePath.

2006-02-02  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/change.c:
	kernel32: FindFirstChangeNotification needs a static IO_STATUS_BLOCK.

2006-02-02  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	unixfs: Use realpath instead of canonicalize_file_name for portability
	reasons.

2006-02-02  Stefan Leichter <Stefan.Leichter@camLine.com>

	* tools/wine.inf:
	wine.inf: Add HKLM,%CurrentVersionNT%,"CurrentType".

2006-02-02  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/commdlg/filedlg.c:
	commdlg: File open dialog: Use the specified instance handle for
	custom dialog templates.

2006-02-02  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/shlwapi/ordinal.c, dlls/shlwapi/shlwapi.spec:
	shlwapi: Added stub for ShellMessageBoxWrapW.

2006-02-02  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c:
	crypt32: Support external providers.
	- add support for external store providers
	- rewrite registry stores as a provider
	- fix a memory leak

2006-02-02  Juan Lang <juan@codeweavers.com>

	* dlls/crypt32/str.c, dlls/crypt32/tests/str.c:
	crypt32: Implement CertRDNValueToStrW and CertNameToStrW, with tests.

2006-02-02  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/advapi32/advapi32.spec, dlls/advapi32/security.c:
	advapi32: Add stub for ObjectDeleteAuditAlarmW.

	* dlls/oleaut32/variant.c:
	oleaut32: Prevent freeing of random memory.
	Don't assign type to variant until we're sure we are assigning a
	value.

2006-02-02  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/editor.c:
	riched20: Handle context menu.

2006-02-01  Fatih Aşıcı <fasici@linux-sevenler.org>

	* programs/start/start.c:
	start.exe: build_args now returns the correct string when no parameter
	is passed.

	* dlls/x11drv/keyboard.c:
	x11drv: Added Turkish F keyboard layout.

2006-02-01  Juan Lang <juan@codeweavers.com>

	* dlls/crypt32/Makefile.in, dlls/crypt32/crypt32.spec, dlls/crypt32/str.c,
	  dlls/crypt32/tests/.gitignore, dlls/crypt32/tests/Makefile.in,
	  dlls/crypt32/tests/str.c:
	crypt32: Implement CertRDNValueToStrA and CertNameToStrA, with tests.

2006-02-01  Kevin Koltzau <kevin@plop.org>

	* dlls/riched20/editor.c, dlls/riched20/editstr.h:
	riched20: Implement EM_SETOLECALLBACK.

2006-02-01  Dmitry Timoshkov <dmitry@codeweavers.com>

	* tools/wine.inf:
	wine.inf: Remove %1 from [http|htmlfile]\shell\open\command.

2006-02-01  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c, dlls/winspool/tests/info.c:
	winspool: Empty string as environment is valid, with tests.

	* include/winspool.h:
	winspool.h: Add missing declarations.

2006-02-01  Maarten Lankhorst <m.b.lankhorst@gmail.com>

	* dlls/riched20/Makefile.in, dlls/riched20/editor.c,
	  dlls/riched20/txtsrv.c:
	riched20: Implement CreateTextServices.
	Implement a stub interface that CreateTextServices returns.

2006-02-01  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/style.c:
	riched20: Fixed font cache corruption.

2006-02-01  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/wineps/pen.c, dlls/x11drv/pen.c:
	Translate pen width from logical units only for geometric pens.

	* dlls/shell32/shlexec.c:
	shell32: execute_from_key should fallback to a DDE exec only if the
	command to execute from is not found in the registry.
	Pass already found executable name to dde_connect.

2006-02-01  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Fix a SEGV when using arrays declared using a pointer and
	attributes, instead of array indices (reported by Eric Kohl).

2006-01-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/setupapi/tests/.gitignore:
	setupapi: Ignore ok file for new query test.

2006-01-31  Mike McCormack <mike@codeweavers.com>

	* programs/winefile/En.rc, programs/winefile/Makefile.in,
	  programs/winefile/license.c, programs/winefile/resource.h,
	  programs/winefile/winefile.c, programs/winefile/winefile.h:
	winefile: Move the license and warranty text into the resources.

2006-01-31  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Changes to output for better debugability.
	Write the offset and the absolute address for referenced types.
	Write the current offset out when writing a pointer type.

	* tools/widl/typegen.c:
	widl: Clean up conformant struct handling.
	Make the writing of conformant structures take advantage of the new
	type format string offset handling.

	* tools/widl/typegen.c:
	widl: Fix the writing of arrays with size specified in the array
	expression instead of the size_is expression.

	* tools/widl/typegen.c:
	widl: Improve the current type offset passing.
	Change the functions to take the current type offset and return the
	start of the type written.

	* tools/widl/typegen.c:
	widl: The stack/structure offset in correlation descriptors should be a short.

	* tools/widl/parser.y:
	widl: Do constant folding for the sizeof operator on simple types.

	* tools/widl/header.c, tools/widl/typegen.c:
	widl: Support client/server generation for explicit_handle interfaces
	(based on a patch by Eric Kohl).

	* tools/widl/typegen.c:
	widl: Implement constant conformance.

	* tools/widl/client.c, tools/widl/server.c:
	widl: Fix the type offset used in marshaling/unmarshaling.
	Make a copy of type_offset so that it only gets incremented once per
	function, instead of twice.

	* tools/widl/write_msft.c:
	widl: Implement the writing of defaultvalue constants for enum values.

	* include/winsvc.h:
	include: Add SC_ENUM_TYPE to winsvc.h.

	* dlls/stdole2.tlb/std_ole_v2.idl:
	stdole2.tlb: Remove hack due to unimplemented widl functionality.

2006-01-31  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	unixfs: Only append '/' to base path if not already present in
	UNIXFS_get_unix_path.

2006-01-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/change.c:
	kernel: Set the overlapped structure status in ReadDirectoryChanges.

2006-01-31  Gerald Pfeifer <gerald@pfeifer.com>

	* dlls/ntdll/tape.c:
	ntdll: tape.c portability fixes.
	Accept MTCOMP as an alias for MTCOMPRESSION on those systems, having
	the former, but not the latter.
	Only enable operations supported by the host OS in
	TAPE_CreatePartition() and TAPE_Prepare().

2006-01-31  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/editstr.h, dlls/riched20/paint.c, dlls/riched20/run.c,
	  dlls/riched20/style.c:
	riched20: Added support for hidden text.

	* dlls/riched20/caret.c:
	riched20: Paint the selection while it's being extended by dragging.

2006-01-31  Tobias Loew <tobi@die-loews.de>

	* dlls/gdi/path.c:
	gdi: viewportExt changed after call to StrokePath.

2006-01-31  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/gdi/enhmetafile.c, dlls/gdi/mapping.c, dlls/gdi/tests/mapping.c:
	gdi: Fixes for the isotropic mapping mode.
	- Isotropic mapping mode: Adjust the viewport extension in
	SetWindowExtEx, handle negative extents.
	- Support the isotropic mapping mode in the enhanced metafile driver.
	- New tests.

2006-01-31  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Use a macro to write out FC types, along with the current offset
	which is useful for debugging.

	* tools/widl/typegen.c:
	widl: Pass the current type format string offset through all type
	writing functions.

	* tools/widl/typegen.c:
	widl: Eliminate redundant callback routines.
	Add a function for comparing expressions and use it to eliminate
	redundant callback functions.

	* include/wine/rpcfc.h:
	widl: Define a value for RPC_FC_WSTRING.

2006-01-31  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/x11drvdlg.c:
	winecfg: Default for PixelShaders is disabled.

2006-01-31  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/tests/Makefile.in, dlls/setupapi/tests/query.c:
	setupapi: Add tests for SetupGetInfInformation.

	* include/setupapi.h:
	setupapi: Add definitions for the SetupGetInfInformation search flags.

2006-01-31  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/tests/change.c:
	kernel: Add some test cases for ReadDirectoryChangesW.

2006-01-31  Juan Lang <juan@codeweavers.com>

	* dlls/crypt32/encode.c, dlls/crypt32/tests/encode.c:
	crypt32: Correct X509_NAME decoding, and more stringent tests.

	* include/wincrypt.h:
	wincrypt: Fix typo.

2006-01-31  Maarten Lankhorst <m.b.lankhorst@gmail.com>

	* dlls/comctl32/listview.c:
	comctl32: Restore listview font on CDRF_NEWFONT.

2006-01-31  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut: Dump the pointer for VT_ARRAY/VT_VECTOR typed variants.

	* dlls/rpcrt4/ndr_stubless.c:
	rpcrt4: Handle the RPC_FC_PROC_BYVAL flag correctly in stubless
	proxies and stubs.

	* dlls/rpcrt4/ndr_ole.c:
	rpcrt4: Only attempt to marshal an object if it is non-NULL.

2006-01-31  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	unixfs: Only resolve the 'dosdevices' based symbol links in
	UNIXFS_get_unix_path, but leave all others alone.

2006-01-30  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/enhmfdrv/objects.c, dlls/gdi/gdiobj.c,
	  dlls/gdi/mfdrv/objects.c, dlls/gdi/pen.c, dlls/gdi/tests/gdiobj.c,
	  dlls/wineps/pen.c, dlls/x11drv/pen.c, include/gdi.h:
	gdi: Add support for creating extended pens.

2006-01-30  Jan Zerebecki <jan.wine@zerebecki.de>

	* dlls/d3d8/directx.c:
	d3d8: CreateDevice should use the root of the current window.

2006-01-30  Marcus Meissner <marcus@jet.franken.de>

	* dlls/iphlpapi/iphlpapi_main.c:
	iphlpapi: Allocate space enough to handle all the possible ipv4 addresses.

2006-01-30  Maarten Lankhorst <m.b.lankhorst@gmail.com>

	* dlls/riched20/editor.c, include/textserv.h:
	riched20: Make CreateTextServices use ITextHost.

2006-01-30  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/message.c:
	user: Remove internal messages from the message queue before handling them.

2006-01-30  José Manuel Ferrer Ortiz <jmfo1982@yahoo.es>

	* programs/winecfg/Es.rc:
	winecfg: Spanish translation update.

2006-01-30  Mike McCormack <mike@codeweavers.com>

	* server/change.c:
	server: Initial inotify support.

	* dlls/kernel/tests/change.c:
	kernel: Add some more tests for FindFirstChangeNotification.

2006-01-30  Alexandre Julliard <julliard@winehq.org>

	* dlls/comctl32/treeview.c, dlls/user/uitools.c:
	Fixed creation of PS_ALTERNATE pens.

2006-01-30  Tobias Loew <tobi@die-loews.de>

	* dlls/comctl32/tab.c:
	comctl32: Fix tab-control flickering.

2006-01-30  Maarten Lankhorst <m.b.lankhorst@gmail.com>

	* dlls/x11drv/xrender.c:
	x11drv: Fix AlphaBlend read boundaries.

2006-01-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/database.c, dlls/msi/msi.spec, include/msiquery.h:
	msi: Add an implementation of MsiGetDatabaseState.

2006-01-30  Juan Lang <juan@codeweavers.com>

	* include/wincrypt.h:
	wincrypt.h: Add more missing defines.

2006-01-30  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/hook.c:
	user: Remove duplicate code.

	* dlls/user/tests/msg.c:
	user/tests: Add test for low level mouse hooks.

2006-01-30  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/cpsf.c, dlls/rpcrt4/cpsf.h, dlls/rpcrt4/cstub.c:
	rpcrt4: Fill in the IRpcStubBuffer vtables for interfaces that don't
	already have them filled in.

	* dlls/oleaut32/typelib.c:
	oleaut: Fix the order of parameters passed into DispCallFunc.

2006-01-30  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/ntdll/tape.c:
	kernel: Remove bogus breaks in tape.c

2006-01-27  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/element.c, dlls/msxml3/factory.c,
	  dlls/msxml3/node.c, dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c,
	  dlls/msxml3/parseerror.c:
	msxml: Issue a fixme if the interface is not implemented.

2006-01-27  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/pen.c, dlls/gdi/tests/gdiobj.c:
	gdi: Add test case for creating pens, make it pass under Wine for
	cosmetic pens.

2006-01-27  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/change.c:
	kernel: Partially implement ReadDirectoryChangesW using NtNotifyChangeDirectoryFile.

2006-01-27  Juan Lang <juan_lang@yahoo.com>

	* dlls/iphlpapi/ifenum.c, dlls/iphlpapi/ifenum.h,
	  dlls/iphlpapi/iphlpapi_main.c:
	iphlpapi: Reimplement interface enumeration.
	Implement interface enumeration based on if_nameindex, based on a
	suggestion by Michael Ost

2006-01-27  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	user: Fix SPI_{G|S}ETFONTSMOOTHING with tests.

2006-01-27  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/lcformat.c, dlls/kernel/profile.c, dlls/ntdll/tests/path.c,
	  dlls/ntdll/tests/reg.c, libs/wine/debug.c:
	Fix a couple of bugs spotted by valgrind.

	* dlls/ntdll/signal_i386.c, server/console.c, server/fd.c,
	  server/request.c:
	Suppress some false-positives reported by valgrind.

	* programs/winedbg/break.c, programs/winedbg/dbg.y,
	  programs/winedbg/debug.l, programs/winedbg/debugger.h,
	  programs/winedbg/winedbg.c:
	winedbg: Hardware breakpoints
	- implemented hardware assisted breakpoints (new 'hbreak' command
	which behaves just as 'break' command)
	- small improvements to break handling (saving hit xpoint across
	exception handling)
	- fixed 'cont N' command for watchpoints

2006-01-27  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/file.c, dlls/kernel/path.c, dlls/kernel/tests/file.c,
	  dlls/ntdll/file.c, dlls/ntdll/tests/change.c, server/fd.c:
	server: Make the FILE_SHARE_DELETE sharing checks depend on DELETE
	access instead of on the FILE_DELETE_ON_CLOSE flag (based on a patch
	by Mike McCormack).

	* dlls/shell32/shlfileop.c:
	shell32: Fixed a couple of FindFirstFile handle leaks.

	* dlls/oleaut32/tests/.gitignore:
	oleaut32: Ignore new test ok file.

2006-01-27  Huw Davies <huw@codeweavers.com>

	* dlls/user/tests/edit.c:
	user: Don't automatically add a bunch of styles in create_editcontrol.

2006-01-27  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/text.c, dlls/user/text.c:
	user: Fix DrawTextExA/W on empty strings.
	DrawTextExA/W should calculate a rectangle of zero height and width in
	some cases of null or empty supplied strings. With conformance tests.

2006-01-27  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/change.c:
	kernel32: Implement FindFirstChangeNotification with NtNotifyChangeDirectoryFile.

2006-01-27  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/oleaut32.spec, dlls/oleaut32/tests/Makefile.in,
	  dlls/oleaut32/tests/usrmarshal.c, dlls/oleaut32/usrmarshal.c:
	ole: Test and implement LPSAFEARRAY marshaling.

	* dlls/oleaut32/tmarshal.c:
	oleaut: Improve the typelib marshaler traces.
	Improve the typelib marshaler traces for lazy developers like me who
	don't want to grep for constants.

	* include/rpcndr.h:
	include: Add types and definitions for RPC user callback routines.

	* include/propidl.idl:
	include: Add new union cases for PROPVARIANT structure.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Implement callback conformance.

2006-01-27  Alexandre Julliard <julliard@winehq.org>

	* dlls/riched20/paint.c:
	riched20: Remove a couple of no longer used functions.

2006-01-27  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/change.c, dlls/ntdll/directory.c, dlls/ntdll/tests/change.c,
	  include/wine/server_protocol.h, server/change.c, server/file.c,
	  server/file.h, server/protocol.def, server/request.h, server/trace.c:
	server: Fix the file notification interface to use directory handles.

2006-01-27  Alexandre Julliard <julliard@winehq.org>

	* server/hook.c:
	server: Fixed low-level hardware hooks.
	The hook thread field has been reused for win events, so it no longer
	works for low-level hardward hooks. Use the owner field instead.

2006-01-27  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/scroll.c:
	user: Postpone resetting SCROLL_TrackingWin untill all notifications are sent.

2006-01-27  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/wineoss/audio.c:
	wineoss: Proper support in OSS driver for audio when no mixer is present.
	Fixed a couple of potential fd leaks.

2006-01-27  Hans Leidekker <hans@it.vu.nl>

	* dlls/kernel/tape.c:
	kernel: Implementation of tape functions.
	Implement CreateTapePartition, EraseTape, GetTapeParameters,
	GetTapePosition, GetTapeStatus, PrepareTape, SetTapeParameters,
	SetTapePosition and WriteTapemark.

2006-01-26  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c, dlls/shdocvw/shdocvw.h:
	shdocvw: Added client site's IDispatch stub implementation.

	* dlls/shdocvw/oleobject.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	shdocvw: Added WebBrowser's IOleCommandTarget stub implementation.

	* dlls/shdocvw/client.c, dlls/shdocvw/dochost.c, dlls/shdocvw/shdocvw.h:
	shdocvw: Added client site's IOleCommandTarget stub implementation.

2006-01-26  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c:
	riched20: EM_STREAMIN should send a EN_UPDATE notification.

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/paint.c:
	riched20: Selection painting fixes.

2006-01-26  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac, dlls/ntdll/Makefile.in, dlls/ntdll/file.c,
	  dlls/ntdll/ntdll_misc.h, dlls/ntdll/tape.c, include/config.h.in:
	ntdll: Add implementation of tape IOCTLs.

	* include/Makefile.in, include/ddk/ntddtape.h, include/winbase.h,
	  include/winnt.h:
	include: Add some defines related to tape support.

2006-01-26  Mike McCormack <mike@codeweavers.com>

	* loader/preloader.c:
	preloader: Allow compiling the preloader with -fstack-protector.

2006-01-25  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/win.c, dlls/user/win.c:
	user: Don't drop owned windows in WIN_EnumChildWindows.
	Add a few tests for this.

2006-01-25  Alexandre Julliard <julliard@winehq.org>

	* server/fd.c, server/file.c:
	server: Allow opening a directory with write access (based on a patch
	by Mike McCormack).

	* include/wtypes.idl:
	wtypes: Don't specify alignment for DOUBLE and DATE on MSVC.

	* tools/wine.inf:
	wine.inf: Don't overwrite registry keys that users may want to change.

	* dlls/kernel/dosmem.c, dlls/kernel/kernel_private.h:
	kernel: Handle a failure to load winedos a bit more gracefully.

	* dlls/x11drv/bitblt.c:
	x11drv: Always set GC function to GXcopy for the BitBlt DIB optimization.

2006-01-25  Mike Frysinger <vapier@gentoo.org>

	* tools/winegcc/winegcc.c:
	winegcc: Pass -m32/-m64 along to the linker.

2006-01-25  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/duplex.c:
	dsound: Duplex test fix.

2006-01-25  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c:
	shdocvw: Added TranslateUrl implementation.

	* dlls/shdocvw/dochost.c, dlls/shdocvw/oleobject.c,
	  dlls/shdocvw/shdocvw.h:
	shdocvw: Store IDocHostUIHandler interface in the WebBrowser object.

2006-01-25  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/static.c:
	static control: SS_CENTERIMAGE fixes.
	- Stretch bitmaps and icons to the whole control size if
	SS_CENTERIMAGE is absent
	- Draw the background of centered bitmaps and icons with the
	background brush (like Windows XP for applications with a manifest)

	* dlls/gdi/enhmfdrv/init.c:
	gdi: Fix the EMF bounding box calculation.

2006-01-25  Juan Lang <juan_lang@yahoo.com>

	* dlls/iphlpapi/ifenum.c, dlls/iphlpapi/ifenum.h,
	  dlls/iphlpapi/iphlpapi_main.c, dlls/iphlpapi/ipstats.c,
	  dlls/iphlpapi/ipstats.h:
	iphlpapi: Remove one IP address per interface restriction.
	- remove restriction of one IP address per interface
	- remove dead code, and make static functions that can be
	- update comments and copyright notice

2006-01-25  Hans Leidekker <hans@it.vu.nl>

	* dlls/kernel/tests/change.c:
	kernel: Test moving a directory that has a change notification
	registered for itself.

2006-01-24  Alexandre Julliard <julliard@winehq.org>

	* loader/pthread.c:
	loader: Detect pthread_get_stackaddr_np returning the top of the stack
	instead of the base.

2006-01-24  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c:
	msxml: Implement save.

2006-01-24  Mike McCormack <mike@codeweavers.com>

	* programs/progman/En.rc, programs/progman/License_En.c,
	  programs/progman/Makefile.in, programs/progman/license.c,
	  programs/progman/license.h, programs/progman/main.c,
	  programs/progman/progman.h:
	progman: Load license from resources.

2006-01-24  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/errno.c:
	msvcrt: Make error strings static.

2006-01-24  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/comctl32/tests/comboex.c, dlls/comctl32/tests/progress.c,
	  dlls/dbghelp/symbol.c, dlls/kernel/comm.c,
	  dlls/msacm/winemp3/common.c, dlls/msi/dialog.c, dlls/msi/helpers.c,
	  dlls/ntdll/atom.c, dlls/oleaut32/oleaut.c,
	  dlls/oleaut32/tests/typelib.c, dlls/riched20/caret.c,
	  dlls/riched20/editor.c, dlls/riched20/para.c,
	  dlls/secur32/negotiate.c, dlls/secur32/secur32.c,
	  dlls/secur32/secur32_priv.h, dlls/urlmon/umon.c,
	  dlls/user/tests/edit.c, dlls/winmm/mci.c,
	  programs/explorer/explorer.c, tools/wmc/mcl.c, tools/wrc/wrc.c:
	Make more arrays const.

2006-01-24  Alexandre Julliard <julliard@winehq.org>

	* tools/wineprefixcreate.in:
	wineprefixcreate: Only create links for files that don't exist.
	Make a copy instead of a link if the original file is writable.

	* server/serial.c:
	server: Use the new set_fd_user function in create_serial().

2006-01-24  Mike McCormack <mike@codeweavers.com>

	* server/fd.c, server/file.c, server/file.h:
	server: Modify open_fd to create an fd without a user.
	Create a set_fd_user function.
	Update create_file() to use the above functions.

2006-01-24  Alexandre Julliard <julliard@winehq.org>

	* tools/winebuild/import.c:
	winebuild: Get rid of the default ignored symbols list.

	* dlls/msvcrt/msvcrt.spec, dlls/ntdll/ntdll.spec, dlls/ntdll/string.c:
	ntdll: memcpy should behave like memmove in ntdll too.

	* dlls/ntdll/ntdll.spec:
	ntdll: Mark all libc-style functions as private to make sure we link
	to the real libc functions instead.

	* dlls/msvcrt/mbcs.c, dlls/msvcrt/msvcrt.h, dlls/user/combo.c,
	  dlls/winedos/int21.c, include/winternl.h, programs/winedbg/winedbg.c:
	Avoid importing _strlwr/_strupr from ntdll.

	* dlls/msvcrt/console.c, dlls/msvcrt/file.c, dlls/msvcrt/msvcrt.h,
	  dlls/msvcrt/wcs.c:
	msvcrt: Use the msvcrt version of printf everywhere.

2006-01-24  Juan Lang <juan_lang@yahoo.com>

	* dlls/iphlpapi/ifenum.c, dlls/iphlpapi/ifenum.h,
	  dlls/iphlpapi/iphlpapi_main.c, dlls/iphlpapi/ipstats.c,
	  dlls/iphlpapi/ipstats.h:
	iphlpapi: Clean up memory allocation.
	- pass heap to allocate from directly to helper functions, instead of
	unnecessarily copying returned data
	- use public types rather than internal ones
	- make sure GetBestRoute doesn't return bogus matches

2006-01-24  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Generate type format strings for conformant varying arrays.

	* tools/widl/parser.y:
	widl: Fix detection of varying arrays.
	Correctly identify structures containing varying arrays as conformant
	varying structures.

	* tools/widl/parser.y:
	widl: Fix detection of conformant varying structs.
	Rename has_conformant_array to has_conformance, add a new variable
	has_variance and map has_conformant_string to has_conformance and
	has_variance.
	A conformant varying struct should be returned if just variance is
	present and even if no pointers are present.

	* tools/widl/typegen.c:
	widl: Support generation of conformant structure type strings.

	* tools/widl/typegen.c:
	widl: Conformant arrays have a size of 0.
	Conformant arrays should cause a size of 0 to be returned from
	type_memsize.

	* tools/widl/typegen.c:
	widl: Support correlation descriptors in structures.

	* tools/widl/parser.y:
	widl: Error if an array is in the middle of a structure.
	Fix detection of conformant arrays and output an error if the array
	isn't at the end of the structure.

	* tools/widl/header.h, tools/widl/parser.y, tools/widl/typegen.c:
	widl: Fix the detection of conformant and pointer structs.

	* tools/widl/typegen.c:
	widl: Simple structs and complex pointers.
	Write out type format string for simple structs and for pointers to
	non-simple types.

	* tools/widl/typegen.c:
	widl: Add framework for generating struct and union type format strings.

	* tools/widl/typegen.c:
	widl: Support different types of simple pointers.
	Support pointer types in unmarshall_arguments.

	* tools/widl/typegen.c:
	widl: Generate NdrNonConformatString* calls for non-conformant string types.

	* tools/widl/typegen.c:
	widl: Add functions for detecting array and string types.
	Add functions for detecting array and string types and use these in
	both writing type format strings and when marshalling and
	unmarshalling parameters.

	* tools/widl/typegen.c:
	widl: Support some more complicated conformance / variance expressions.

	* include/wine/rpcfc.h:
	widl: Added some more constants for conformance descriptors.

	* tools/widl/typegen.c:
	widl: Start implementing writing of conformance/variance descriptors.

	* include/wine/rpcfc.h, tools/widl/typegen.c:
	widl: Strings.
	Write out type format strings for string types.

	* tools/widl/typegen.c:
	widl: Arrays.
	Write out type format strings for arrays, except for the missing
	generic functionality of conformance and variance descriptors.

	* tools/widl/typegen.c:
	widl: Simplify write_typeformatstring_type.
	Simplify handling of types in write_typeformatstring_type by only
	writing non-pointer types out when ptr_level is 0. Add stubs for
	functions that will write out the type format string for strings and
	arrays.

	* tools/widl/typegen.c:
	widl: Don't use recursion for write_typeformatstring_type.
	Since a var_t can now be passed in, rename to
	write_typeformatstring_var. Simplifies the code.

	* tools/widl/typegen.c, tools/widl/typegen.h:
	widl: Don't use recursion to implement write_procformatstring_type.
	Renamed to write_procformatstring_var now since we can pass a var_t in
	again. This results in simpler code.

2006-01-24  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c:
	kernel: Fail more gracefully when loading a builtin exe didn't work.

2006-01-24  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/comctl32/listview.c:
	comctl32: Make listview use standard wine_dbg_sprintf and wine_dbgstr_xxx.

2006-01-24  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	gdi: Fixes to preempt freetype 2.2.0.

2006-01-24  Jacek Caban <jacek@codeweavers.com>

	* include/Makefile.in, include/mshtmcid.h, include/mshtml.idl:
	Added mshtmcid.h.

2006-01-24  Huw Davies <huw@codeweavers.com>

	* configure, configure.ac, dlls/gdi/freetype.c, include/config.h.in:
	gdi: Use correct include file for FT_Get_Module.

2006-01-23  Louis Lenders <xerox_xerox2000@yahoo.co.uk>

	* dlls/user/user32.spec, dlls/user/win.c:
	user32: Added stub for UpdateLayeredWindow.

2006-01-23  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/errno.c, dlls/msvcrt/main.c, dlls/msvcrt/msvcrt.h:
	msvcrt: Properly implemented strerror and perror (based on a patch by
	Uwe Bonnes).

	* dlls/msvcrt/data.c, dlls/msvcrt/errno.c:
	msvcrt: Added _sys_errlist (based on a patch by Uwe Bonnes).

	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/tests/headers.c,
	  include/msvcrt/errno.h:
	msvcrt: Added EILSEQ definition.

2006-01-23  Hans Leidekker <hans@it.vu.nl>

	* dlls/msvcrt/msvcrt.spec, dlls/msvcrt/time.c:
	msvcrt: Stub implementation for wcsftime.

2006-01-23  Alexandre Julliard <julliard@winehq.org>

	* BUGS:
	Remove useless BUGS file.

2006-01-23  Robert Shearman <rob@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/helpers.c, dlls/msi/package.c:
	msi: Move the firing of control events to MSI_ProcessMessage.
	Move the firing of control events from internal helper functions to
	MSI_ProcessMessage so that custom actions can all cause control events
	to be fired.
	Added the firing of progress events.

	* dlls/msi/action.c, dlls/msi/files.c:
	msi: Call ui_actiondata for more actions.

2006-01-23  Detlef Riekenberg <wine.dev@web.de>

	* dlls/advpack/tests/Makefile.in, dlls/advpack/tests/advpack.c:
	advpack/tests: Fixed failure when "ProgramFilesDir" is != "C:\Program Files".

2006-01-23  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winearts/Makefile.in, dlls/winmm/winearts/audio.c:
	winearts: Try to keep winecfg from crashing by recovering from an arts
	library crash.

2006-01-23  Alexandre Julliard <julliard@winehq.org>

	* libs/wine/mmap.c, server/timer.c:
	Fixed a couple of warnings on MacOS.

	* dlls/dbghelp/stabs.c, programs/winedbg/be_alpha.c,
	  programs/winedbg/be_cpu.h, programs/winedbg/be_i386.c,
	  programs/winedbg/be_ppc.c, programs/winedbg/memory.c,
	  programs/winedbg/types.c:
	winedbg: Use Win32 types instead of long long.

	* server/trace.c, tools/make_requests:
	server: More generic mechanism for adding typecasts in server traces.
	Added casts for size_t values.

2006-01-23  Mike McCormack <mike@codeweavers.com>

	* dlls/ntdll/ntdll.spec:
	ntdll: Forward ZwNotifyChangeDirectoryFile to NtNotifyChangeDirectoryFile.

2006-01-23  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/module.c,
	  dlls/dbghelp/symbol.c:
	dbghelp: Return better values in module information.
	- 32/64: number of symbols is now correct
	- 64: the 64 bit extra fields are now initialized with some non null
	yet sensible value

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp_private.h,
	  dlls/dbghelp/module.c, dlls/dbghelp/path.c, dlls/dbghelp/pe_module.c,
	  dlls/dbghelp/source.c, dlls/dbghelp/symbol.c, dlls/dbghelp/type.c,
	  include/dbghelp.h:
	dbghelp: Brought dbghelp.h a bit closer to PSDK definitions.

	* dlls/dbghelp/dbghelp.c:
	dbghelp: SymSetContext should return FALSE when setting twice the same
	frame context.

	* dlls/dbghelp/dbghelp.c:
	dbghelp: Live targets.
	In SymInitialize, now trying to check if the hProcess is a real live
	target or not. If we think it is, try to grasp ELF information from
	it.

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp_private.h,
	  dlls/dbghelp/module.c, include/dbghelp.h:
	dbghelp: Started implementation of the global callback mechanism.

	* dlls/dbghelp/symbol.c, include/dbghelp.h:
	dbghelp: Symbol info.
	- better coding for SYMBOL_INFO filling
	- some fixes on some fields (parameters)
	- now using the max size for symbol info

	* programs/winedbg/break.c, programs/winedbg/debugger.h,
	  programs/winedbg/expr.c, programs/winedbg/memory.c,
	  programs/winedbg/stack.c, programs/winedbg/types.c,
	  programs/winedbg/winedbg.c:
	winedbg: Added a more decent scheme for handling segmented addresses.

2006-01-23  Alexandre Julliard <julliard@winehq.org>

	* libs/wine/ldt.c:
	libwine: Added LDT support for MacOS/x86.

2006-01-23  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/menu.c, dlls/user/tests/menu.c:
	user32: Make GetMenuItemInfo tests pass under Wine.
	- Change menu item search algorithm to recurse into a submenu first.
	- Fallback to a found submenu if nothing else was found.

2006-01-23  Robert Shearman <rob@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: Support msidbControlAttributesSunken.

	* dlls/msi/dialog.c:
	msi: Only print fixme for progress attribute once.
	Since setting the Progress attribute is done quite frequently, don't
	flood the user with messages about it being unimplemented.

2006-01-23  Mike McCormack <mike@codeweavers.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/main.c:
	crypt32: Add stub implementations of some crypto functions used by IE6 install.

2006-01-23  Alexandre Julliard <julliard@winehq.org>

	* tools/winebuild/import.c:
	winebuild: Always import atof, the MS version is different.

2006-01-23  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d8/device.c:
	d3d8: For render states D3DRS_POINTSPRITEENABLE and
	D3DRS_MULTISAMPLEANTIALIAS, use GL_SUPPORT correctly.

	* dlls/d3d8/d3dcore_gl.h:
	d3d8: Add GL_ARB_multisample definitions.

	* dlls/d3d8/d3dcore_gl.h, dlls/d3d8/directx.c:
	d3d8: Add detection for GL_ARB_point_sprite support.

2006-01-23  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/scroll.c:
	user: Add missing WIN_ReleasePtr.

2006-01-23  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/avifil32/avifile_private.h, dlls/msvideo/msvideo_main.c,
	  include/vfw.h:
	ICCompressorChoose should initialize fccType and fccHandler fields
	for the full frames case as well.

2006-01-23  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/tests/atom.c:
	kernel/tests: Integer atoms return different results on WinNT 3.51.

2006-01-23  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shell32.spec:
	shell32: Export DllGetClassObject by ordinal as grpconv.exe requires it.

2006-01-23  Kai Blin <kai.blin@gmail.com>

	* dlls/secur32/ntlm.c:
	secur32: Added DeleteSecurityContext.

2006-01-23  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/keyboard.c:
	x11drv: Update Swiss German keyboard layout to better match the X11 one.

2006-01-23  James Hawkins <truiken@gmail.com>

	* dlls/shell32/shlfileop.c, dlls/shell32/tests/shlfileop.c:
	shell32: Reimplement a factored SHFileOperation.

2006-01-21  Marcus Meissner <meissner@suse.de>

	* tools/winebuild/build.h, tools/winebuild/relay.c,
	  tools/winebuild/spec16.c, tools/winebuild/spec32.c,
	  tools/winebuild/utils.c:
	winebuild: Output a .note.GNU-stack section to allow nonexecutable stack.

2006-01-21  Marcus Meissner <marcus@jet.franken.de>

	* dlls/gdi/metafile.c:
	gdi: Metafile records must be at least 3 words long.

2006-01-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/cppexcept.c:
	msvcrt: Preserve all registers in call_ebp_func.

2006-01-21  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsembed.c:
	mshtml: Return FALSE if Mozilla ActiveX Control could not be found.

2006-01-21  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, include/advpub.h:
	advpack: Add a stub for RebootCheckOnInstall.

	* dlls/advpack/files.c:
	advpack: Fix the documentation for AddDelBackupEntry.

	* dlls/advpack/advpack.c:
	advpack: Complete the documentation for CloseINFEngine.

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, include/advpub.h:
	advpack: Add a stub for SetPerUserSecValues.

	* dlls/advpack/files.c:
	advpack: Fix the documentation for FileSaveMarkNotExist.

	* dlls/advpack/files.c:
	advpack: Forward FileSaveMarkNotExist to AddDelBackupEntry.

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, include/advpub.h:
	advpack: Add stubs for the user stub wrapper functions.

	* dlls/advpack/files.c:
	advpack: Implement DelNodeRunDLL32.

	* dlls/advpack/Makefile.in, dlls/advpack/advpack.c:
	advpack: Implement IsNTAdmin.

2006-01-20  Huw Davies <huw@codeweavers.com>

	* dlls/shell32/brsfolder.c, dlls/shell32/pidl.c, dlls/shell32/shlfolder.c:
	shell: Fix incorrect usage of the return value of StrRetToStrNW.

2006-01-20  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/Makefile.in, dlls/wininet/internet.c,
	  dlls/wininet/internet.h, dlls/wininet/netconnection.c:
	wininet: INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT work.
	Beginning of framework to implement handling of InternetQueryOption
	for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT.

2006-01-20  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac:
	configure: Remove the -mpreferred-stack-boundary option, this breaks MacOS.

	* tools/winebuild/build.h, tools/winebuild/relay.c:
	winebuild: Moved offset definitions to relay.c since they are only
	needed there.
	Hardcoded a couple of TEB offsets to support cross-compilation.

2006-01-20  Huw Davies <huw@codeweavers.com>

	* dlls/ole32/compobj.c, dlls/ole32/tests/compobj.c:
	ole: ProgIDFromCLSID sets progid to NULL on failure.

2006-01-20  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/x11drv/clipboard.c:
	x11drv: Prevent NULL dereference in SelectionRequest handling.

2006-01-20  H. Verbeet <hverbeet@gmail.com>

	* dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec:
	ntdll: Add a stubbed NtSetSystemInformation.

2006-01-20  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_i386.c, include/thread.h,
	  tools/winebuild/relay.c:
	ntdll: Move the %gs register to the ntdll_thread_regs structure.

	* dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_i386.c, dlls/ntdll/thread.c:
	ntdll: Move the TEB register to the ntdll_thread_regs structure.

2006-01-20  Juan Lang <juan_lang@yahoo.com>

	* dlls/iphlpapi/ifenum.c, dlls/iphlpapi/ifenum.h,
	  dlls/iphlpapi/iphlpapi_main.c:
	iphlpapi: Remove redundant comments and fix typos.

2006-01-20  Detlef Riekenberg <wine.dev@web.de>

	* dlls/user/tests/resource.c:
	user/tests: Added \n to a few ok() calls.

2006-01-20  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/rpc.c, dlls/ole32/tests/marshal.c:
	ole: Verify that the proxy is being used in the correct thread.

	* dlls/rpcrt4/cproxy.c, dlls/rpcrt4/cpsf.c, dlls/rpcrt4/cpsf.h:
	rpc: Replace the hack that detected stubless proxies with the correct check.
	Pass in the ProxyInfo and Index to StdProxy_Construct instead of just
	the three members of the structure that were previously needed.
	Fix the detection of stubless proxies.

	* dlls/rpcrt4/ndr_marshall.c:
	rpc: Skip over the right number of bytes in new correlation descriptors.
	Skip over 6 bytes of the format descriptor if new correlation
	descriptors are being used, instead of 4.

	* dlls/ole32/tests/marshal.c:
	ole: Add a test for WM_QUIT behaviour during COM calls.

	* dlls/ole32/compobj.c:
	ole: Fix WM_QUIT Handling in CoWaitForMultipleHandles.
	When a WM_QUIT message in encountered in CoWaitForMultipleHandles then
	it should repost the WM_QUIT message and then switch to waiting
	without checking messages.

2006-01-20  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/pixelshader.c:
	wined3d: Fix a few TRACEs in pixelshader.c.

	* dlls/wined3d/device.c:
	wined3d: Return the correct pixelshader in
	IWineD3DDeviceImpl_GetPixelShader.

	* dlls/wined3d/drawprim.c:
	wined3d: A shader isn't guaranteed to have a vertex declaration, so
	add a NULL check for that.

2006-01-20  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c:
	shdocvw: Added GetWindow implementation.

2006-01-19  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.6.

----------------------------------------------------------------
2006-01-19  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/tests/Makefile.in, dlls/mscms/tests/profile.c:
	mscms: Check an appropriate registry key.

2006-01-19  Ken Thomases <ken@codeweavers.com>

	* dlls/user/win.c, dlls/user/winproc.c:
	user: Fixed the lifetime of MDICREATESTRUCT variables.

2006-01-19  Aric Stewart <aric@codeweavers.com>

	* dlls/shell32/shellpath.c:
	shell32: Update shellpaths My Pictures, My Video, My Music to be under
	$HOME, with a number of fallbacks.

2006-01-19  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d8/d3dcore_gl.h:
	d3d8: Added GL_ARB_point_sprite definition.

	* dlls/wined3d/directx.c:
	wined3d: Better version string parsing for VENDOR_NVIDIA in
	IWineD3DImpl_FillGLCaps.

2006-01-19  Mike McCormack <mike@codeweavers.com>

	* programs/winemine/dialog.c, programs/winemine/main.c:
	winmine: Use WIN32_LEAN_AND_MEAN.

2006-01-19  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/Makefile.in, dlls/msxml3/msxml_private.h,
	  dlls/msxml3/node.c, dlls/msxml3/text.c:
	msxml: Text node implementation.

2006-01-19  Jason Edmeades <us@edmeades.me.uk>

	* dlls/user/tests/menu.c:
	user: Tests for when the menu is incorrect because of duplication of a
	menu id and an hMenu.

2006-01-19  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/keyboard.c:
	x11drv: Add support for another Canadian French keyboard flavour.

2006-01-19  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/directx.c:
	wined3d: In IWineD3DImpl_FillGLCaps use glGetString instead of
	glXGetClientString to retrieve the OpenGL vendor.

2006-01-19  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/instr.c:
	kernel: Remove calls to Nt[Get|Set]ThreadContext.
	It's done in exception handler now.

2006-01-19  Mike McCormack <mike@codeweavers.com>

	* programs/winecfg/Makefile.in, programs/winecfg/audio.c,
	  programs/winecfg/driveui.c, programs/winecfg/main.c,
	  programs/winecfg/properties.c, programs/winecfg/properties.h,
	  programs/winecfg/theme.c, programs/winecfg/winecfg.c,
	  programs/winecfg/x11drvdlg.c:
	winecfg: Tidy up included headers.
	Get rid of the barely used properties.c.

2006-01-18  Hans Leidekker <hans@it.vu.nl>

	* tools/winedump/output.c:
	winedump: Fix compilation of generated source.
	Include config.h in the .c file, not in the .h file.

2006-01-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/file.c:
	ntdll: Cleaned up the ioctl functions.
	Renamed function parameters to something usable.
	Fixed potential event leaks.

2006-01-18  Mike McCormack <mike@codeweavers.com>

	* programs/notepad/license.c, programs/regsvr32/regsvr32.c,
	  programs/winebrowser/main.c, programs/winhelp/callback.c,
	  programs/winhelp/macro.c:
	programs: Use WIN32_LEAN_AND_MEAN.

2006-01-18  Sasha Slijepcevic <sascha93101@yahoo.com>

	* dlls/msvcrt/file.c:
	msvcrt: In _tempnam, if TMP is set, it has a precedence over the
	parameter dir.

2006-01-18  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c:
	msxml: Implement get_nodeTypedValue.

2006-01-18  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/loader.c:
	ntdll: Loader optimization.
	Optimize for the case where a DLL with no path is requested and it is
	already loaded.

2006-01-18  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winealsa/audio.c:
	winealsa: Add critical section names for debugging.

2006-01-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/metafile.c:
	gdi: Ignore a few more metafile escapes.

2006-01-18  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c, dlls/shdocvw/dochost.c, dlls/shdocvw/events.c,
	  dlls/shdocvw/oleobject.c, dlls/shdocvw/shdocvw.h:
	shdocvw: Deactivate document in SetClientSite if ClientSite is NULL.
	Fix ref counting.

2006-01-18  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c, dlls/winspool/tests/info.c:
	winspool: Printing environment support for GetPrinterDriverDirectory.

2006-01-18  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/driver.c, dlls/msacm/internal.c, dlls/msacm/wineacm.h:
	msacm: acmDriverAdd() support for ACM_DRIVERADDF_FUNCTION, implemented
	local drivers.

	* dlls/msacm/driver.c, dlls/msacm/stream.c:
	msacm: reroute all SendDriverMessage() calls to MSACM_Message.

	* dlls/msacm/driver.c:
	msacm: acmDriverMessage() with proper support for DRV_CONFIGURE.
	Allocate and supply a DRVCONFIGINFO structure for DRV_CONFIGURE when
	application does not supply one.

	* dlls/msacm/driver.c, dlls/msacm/internal.c, dlls/msacm/wineacm.h:
	msacm: acmDriverAdd[AW] support for ACM_DRIVERADDF_NOTIFYHWND.
	Broadcast notifications are fleshed out and are now fully functional.

	* dlls/msacm/driver.c, dlls/msacm/internal.c, dlls/msacm/wineacm.h:
	MSACM: acmDriverAddW skeleton, implementation of ACM_DRIVERADDF_NAME.
	- Rework acmDriverAddA to call acmDriverAddW.
	- Implement stub for acmDriverAddW with switch for the 3 known cases
	of driver add.
	- Implementation for case ACM_DRIVERADDF_NAME, which loads driver name
	& alias from registry (similar to msacm32 load).

	* dlls/msacm/driver.c, dlls/msacm/internal.c, dlls/msacm/wineacm.h:
	msacm: Implement acmDriverPriority with driver priority/enabled saving.
	Foundation for notification broadcasts with support for deferred
	notification.

	* dlls/msacm/internal.c:
	msacm: Implement honouring of driver priority and enabled status at
	load time.

2006-01-18  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/oleaut32/tests/vartest.c:
	oleaut: Add missing SysFreeString to the Var{Mul,Add,Cmp} tests.

	* dlls/oleaut32/tests/vartest.c, dlls/oleaut32/tests/vartype.c:
	oleaut: Merge the VarCmp tests from vartype.c into vartest.c.

2006-01-18  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Clear the newly allocated memory used for complex arrays and structs.

	* dlls/rpcrt4/rpc_message.c:
	rpcrt4: Fix the sending of >5800 byte messages by only adding offset
	to the buffer after the first batch of data has been written to the
	pipe.

	* dlls/ole32/compobj.c:
	ole: Update the COM todo list.

	* dlls/ole32/ole2.c:
	ole: Re-post the quit message outside of the DoDragDrop message loop.

	* dlls/oleaut32/tmarshal.c:
	oleaut: Reduce an ERR down to a WARN since a NULL interface pointer
	doesn't signify an error; it is just unusual.

	* programs/notepad/Zh.rc:
	notepad: Add a Font menu item for the Chinese locale.

2006-01-18  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/Makefile.in, dlls/msxml3/attribute.c,
	  dlls/msxml3/msxml_private.h, dlls/msxml3/node.c:
	msxml: Add attribute node implementation.

2006-01-17  Marcus Meissner <meissner@suse.de>

	* dlls/msvcrt/dir.c:
	msvcrt:	_makepath(): operate on target buffer directly.

2006-01-17  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/ds3d.c, dlls/dsound/tests/ds3d8.c:
	dsound: Primary buffer size change tests.
	It looks like Windows doesn't change the primary buffer length when
	changing formats so make the tests fail now.
	This means the current ALSA implementation is broken when hardware
	acceleration is set to full and the primary buffer format is changed.

	* dlls/dsound/tests/.gitignore, dlls/dsound/tests/Makefile.in,
	  dlls/dsound/tests/duplex.c:
	dsound: Add full duplex tests.

	* dlls/dsound/dsound_private.h, dlls/dsound/duplex.c:
	dsound: Add full duplex support.

	* dlls/dsound/dsound.c, dlls/dsound/dsound_private.h:
	dsound: Convert IDirectSoundImpl from a COM class to a regular class
	and move most of the COM functions to the DirectSoundDevice class.

2006-01-17  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/static.c:
	static control: Immediately repaint the control.

	* dlls/user/static.c:
	static control: Separate WM_NCCREATE and WM_SETTEXT.
	- Separate WM_NCCREATE and WM_SETTEXT.
	- WM_SETTEXT and WM_SETFONT are ignored for static controls that don't
	display text.
	- WM_SETTEXT must not be used to change the icon/bitmap/metafile.
	- Immediately repaint the control on all occasions.

	* dlls/user/static.c:
	static control: Don't load OEM bitmaps.

	* dlls/user/static.c:
	static control: STN_ENABLE and STN_DISABLE notifications.

	* dlls/user/static.c:
	static control: Better STM_GETIMAGE.
	STM_GETIMAGE returns NULL if the given image type doesn't match the
	control's style.

	* dlls/user/static.c:
	static control: Support SS_REALSIZEIMAGE.
	- Support SS_REALSIZEIMAGE (this flag means "it's not necessary to
	load icons in the default icon size").
	- SS_ICON: Ability to display cursors.

	* dlls/user/static.c:
	static control: Support SS_REALSIZECONTROL.
	- Support SS_REALSIZECONTROL (this flag means "don't resize the
	control to the size of the bitmap/icon").
	- Always call GlobalUnlock16 after GlobalLock16.

	* dlls/user/static.c:
	static control: Background of enhanced metafiles.
	- Always paint the background of static controls displaying enhanced
	metafiles.
	- Also paint the background if there's no metafile to display.

	* dlls/user/static.c:
	static control: Support text style flags.
	- Support DT_END_ELLIPSIS, DT_PATH_ELLIPSIS and DT_WORD_ELLIPSIS.
	- Paint simple text without prefixes (SS_SIMPLE | SS_NOPREFIX) with
	the ExtTextOut function like the native control does.
	- Gray text color: Only for non-simple static controls.

2006-01-17  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/tests/msacm.c:
	msacm: Add parameter tests for ACM_METRIC_DRIVER_PRIORITY and
	ACM_METRIC_DRIVER_SUPPORT.
	Fix copy&paste mislabeling on acmDriverID test failure.

	* dlls/msacm/msacm32_main.c:
	msacm: Fix acmMetrics(ACM_METRIC_DRIVER_PRIORITY) return on error.

	* dlls/msacm/msacm32_main.c:
	msacm: Add support for ACM_METRIC_DRIVER_SUPPORT.

2006-01-17  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shell32_main.h, dlls/shell32/shfldr_unixfs.c:
	shell32: Support for CLSID_ShellFSFolder in unixfs.

2006-01-17  Vitaly Budovski <vbudovsk@cs.rmit.edu.au>

	* dlls/d3d8/device.c:
	d3d8: Render state additions.
	Implemented D3DRS_EDGEANTIALIAS.
	Implemented D3DRS_POINTSPRITEENABLE.
	Implemented D3DRS_MULTISAMPLEANTIALIAS.

2006-01-17  H. Verbeet <hverbeet@gmail.com>

	* include/wine/wined3d_interface.h:
	wined3d: Create a common WineD3D base class, IWineD3DBase.

2006-01-17  Alexandre Julliard <julliard@winehq.org>

	* dlls/shlwapi/reg.c:
	shlwapi: Fixed use of wrong buffer in SHCopyKeyW.

2006-01-17  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winemenubuilder/winemenubuilder.c:
	winemenubuilder: Report a few more errors.
	Use Heap[Alloc|Free] instead of malloc|free.

2006-01-17  Robert Shearman <rob@codeweavers.com>

	* dlls/user/message.c, dlls/user/tests/msg.c,
	  include/wine/server_protocol.h, server/protocol.def, server/queue.c,
	  server/request.h, server/trace.c:
	user: Fix WM_QUIT message ordering from PostQuitMessage.
	Added a new server call as PostQuitMessage should set a flag in the
	message queue to return the WM_QUIT message when there are no other
	pending messages, rather than posting a message to the thread queue as
	it does at the moment.

2006-01-17  Mike McCormack <mike@codeweavers.com>

	* dlls/ntdll/tests/.gitignore, dlls/ntdll/tests/Makefile.in,
	  dlls/ntdll/tests/change.c:
	ntdll: Add a test for NtNotifyChangeDirectoryFile.

	* server/fd.c:
	server: Make sure to release the fd we grabbed in all cases.

	* dlls/kernel/kernel32.spec, dlls/kernel/sync.c, include/winbase.h:
	kernel32: Create a stub implementation for PostQueuedCompletionStatus.

	* dlls/ntdll/reg.c:
	ntdll: Use FILE_OPEN instead of OPEN_EXISTING when calling NtCreateFile.

2006-01-16  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/oleaut32/tests/vartest.c:
	oleaut32: Tests for the VarCmp reimplementation.

	* dlls/oleaut32/variant.c:
	oleaut32: Reimplement VarCmp().
	- Supports now all WinXP allowed combinations of input variants.
	- VT_RESERVED on input variants is handled now.
	- Removed complicated VT_DATE comparision; that's not how Windows does it.
	- Improved documentation.

	* dlls/oleaut32/varformat.c, dlls/oleaut32/variant.c,
	  dlls/oleaut32/variant.h:
	oleaut32: Define missing but useful VTBIT_* macros.

2006-01-16  Robert Shearman <rob@codeweavers.com>

	* dlls/shell32/shfldr_fs.c:
	shell: GetDetailsOf fix.
	Initialise hr and psd->str.uType before the call to
	IShellFolder_GetDisplayNameOf so that whatever it returns is
	preserved.

	* dlls/shell32/shfldr.h, dlls/shell32/shfldr_desktop.c,
	  dlls/shell32/shfldr_fs.c:
	shell: Convert the filesystem shell folder to Unicode.

	* dlls/shell32/cpanelfolder.c, dlls/shell32/shfldr.h,
	  dlls/shell32/shfldr_desktop.c, dlls/shell32/shfldr_fs.c,
	  dlls/shell32/shfldr_mycomp.c, dlls/shell32/shlfolder.c:
	shell: Convert SHELL32_GetDisplayNameOfChild to unicode.

2006-01-16  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/driver.c:
	msacm: Fix incorrect linked list traversing leading to memory/driver
	instance leak.

2006-01-16  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* programs/regsvr32/regsvr32.c:
	regsvr32 understands '-' and '/' for arguments.

2006-01-16  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/change.c, dlls/kernel/file16.c:
	kernel32: Move FileCDR16 in with the other 16bit file functions.

	* include/winbase.h:
	kernel32: Declare BindIoCompletionCallback().

2006-01-16  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut: Handle a non-byref variant being passed for a byref param in
	ITypeInfo::Invoke.

	* dlls/oleaut32/typelib.c:
	oleaut: Only allocate memory once for each array needed for the
	arguments in ITypeInfo::Invoke.

	* dlls/oleaut32/typelib.c:
	oleaut: Simplify missing argument handling in ITypeInfo::Invoke.
	Simplify missing argument handling by pre-allocating an array of the
	maximum number of missing arguments there could be.

2006-01-16  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	msxml: Fix for get_nodeValue on attributes.

	* dlls/msxml3/element.c, dlls/msxml3/tests/domdoc.c:
	msxml: Implement setAttribute.

2006-01-16  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/tests/profile.c:
	mscms: Collect some data during profile enumeration.

2006-01-16  Hans Leidekker <hans@it.vu.nl>

	* dlls/kernel/virtual.c:
	kernel: Documentation cleanups.

2006-01-16  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c:
	user: Avoid buffer overflow in sysparams.c.
	Increase buffer size to 12 for getting and setting integer parameters
	from/to the registry.

2006-01-16  Mike McCormack <mike@codeweavers.com>

	* programs/control/control.c, programs/eject/eject.c,
	  programs/expand/expand.c, programs/hh/main.c,
	  programs/msiexec/msiexec.c, programs/progman/dialog.c,
	  programs/progman/group.c, programs/progman/grpfile.c,
	  programs/progman/program.c, programs/progman/string.c,
	  programs/wcmd/builtins.c, programs/wcmd/directory.c,
	  programs/winecfg/appdefaults.c, programs/winecfg/libraries.c,
	  programs/winecfg/properties.c, programs/winepath/winepath.c:
	programs: Use WIN32_LEAN_AND_MEAN in some more places.

	* programs/wineboot/wineboot.c:
	wineboot: Use WIN32_LEAN_AND_MEAN.
	Use HeapAlloc/HeapFree instead of malloc/free.

	* include/winbase.h:
	kernel32: Define SCS_64BIT_BINARY.

	* dlls/ntdll/exception.c:
	ntdll: Use the NTAPI definition of EXCEPTION_ACCESS_VIOLATION.

	* dlls/ntdll/directory.c, dlls/ntdll/ntdll.spec:
	ntdll: Add a stub implementation of NtNotifyChangeDirectoryFile.

2006-01-16  Robert Reif <reif@earthlink.net>

	* dlls/dsound/dsound.c, dlls/dsound/dsound_private.h:
	dsound: Make dumpCooperativeLevel global.
	Remove extern from some function prototypes.

	* dlls/dsound/capture.c, dlls/dsound/dsound_private.h:
	dsound: Make some capture functions global.

2006-01-16  Mike McCormack <mike@codeweavers.com>

	* tools/make_ctests.c:
	make_ctests: Declare WIN32_LEAN_AND_MEAN when compiling testlist.c.

	* include/winnt.h:
	kernel32: Add FILE_NOTIFY_INFORMATION.

	* dlls/msi/action.c:
	msi: Eliminate a fixed length buffer.

2006-01-16  Hans Leidekker <hans@it.vu.nl>

	* dlls/gdi/font.c:
	gdi: better implementation for GetCharABCWidthsFloat{A,W}.

2006-01-16  Lionel Ulmer <lionel.ulmer@free.fr>

	* dlls/ddraw/ddraw_main.c, dlls/ddraw/ddraw_private.h:
	ddraw: Better simulate what 'GetVerticalBlankStatus' does on real hardware.

2006-01-16  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c, dlls/shell32/tests/shlfolder.c:
	unixfs: Fix SetNameOf.
	Ensure that pidls passed to SHNotify are absolute SetNameOf should
	fail on absolute path names.
	Some tests to show this.

2006-01-14  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut: Add const attribute to iterators in get functions.

	* dlls/oleaut32/typelib.c:
	oleaut: Initialise more fields in CreateDispTypeInfo.
	Don't leave some of the fields of the TLBFuncDesc structure
	uninitialised in CreateDispTypeInfo.

	* dlls/oleaut32/tmarshal.c:
	oleaut: Support VT_CY in the typelib marshaller.

	* dlls/ole32/rpc.c:
	ole: Optimisation for COM Calls.
	Add an optimisation to yield and try to allow the RPC to run before
	waiting for messages and RPCs to arrive.

2006-01-14  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/msvcrt.spec:
	msvcrt: Forward functions to ntdll instead of libc where possible.

	* dlls/msvcrt/math.c, dlls/msvcrt/mbcs.c, dlls/msvcrt/msvcrt.spec,
	  dlls/msvcrt/string.c:
	msvcrt: Added wrappers for a few functions instead of linking them
	directly to libc.

	* dlls/msvcrt/math.c, dlls/msvcrt/msvcrt.spec:
	msvcrt: Set errno in the standard math functions too, not only in the
	_CI* variants.

	* dlls/msvcrt/msvcrt.spec, dlls/msvcrt/tests/printf.c, dlls/msvcrt/wcs.c:
	msvcrt: Make snprintf and snwprintf use the msvcrt version of printf.
	Remove todos from tests that succeed now.

	* dlls/msvcrt/misc.c, dlls/msvcrt/msvcrt.h, dlls/msvcrt/msvcrt.spec,
	  dlls/msvcrt/tests/headers.c, dlls/msvcrt/thread.c:
	msvcrt: Reimplement rand() and srand() to use per-thread data for the
	random seed.

	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/msvcrt.spec, dlls/msvcrt/string.c,
	  dlls/msvcrt/wcs.c:
	msvcrt: Make strtok and wcstok thread-safe by using the per-thread data.

	* configure, configure.ac, dlls/msvcrt/main.c, dlls/msvcrt/msvcrt.h,
	  dlls/msvcrt/msvcrt.spec, dlls/msvcrt/time.c, include/config.h.in:
	msvcrt: Implemented asctime, ctime and strftime instead of using the libc ones.
	Make the code thread-safe by using asctime_r if available.

2006-01-14  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	unixfs: Fix ParseDisplayName.
	Build an absolute pidl to query attributes in
	UnixFolder::ParseDisplayName.

2006-01-14  James Hawkins <truiken@gmail.com>

	* dlls/advpack/files.c:
	advpack: Remove stub status from implemented functions.

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, include/advpub.h:
	advpack: Add stubs for CloseINFEngine, OpenINFEngine, and
	TranslateInfStringEx.

	* dlls/advpack/advpack.spec, dlls/advpack/files.c, include/advpub.h:
	advpack: Add a stub for AddDelBackupEntry.

2006-01-14  Alexandre Julliard <julliard@winehq.org>

	* include/wine/port.h, loader/kthread.c:
	Get rid of the no longer needed DECL_GLOBAL_CONSTRUCTOR macro.

	* dlls/kernel/tests/file.c:
	kernel: Make sure the file contains data for the ReadFile test.

	* dlls/rpcrt4/ndr_stubless.c:
	rpcrt4: Fixed asm syntax for rep; movsl.

2006-01-14  Robert Reif <reif@earthlink.net>

	* dlls/dsound/buffer.c, dlls/dsound/dsound.c,
	  dlls/dsound/dsound_private.h:
	dsound: Rename some functions, make some functions global, and move
	some code around.

	* dlls/dsound/dsound_private.h, dlls/dsound/primary.c:
	dsound: Add DSOUND_PrimarySetFormat and use it to set primary format.

2006-01-14  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/shell32/shell32_main.c:
	shell32: Fix cut & paste error.

2006-01-14  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	winetest: Add cabinet tests.

2006-01-14  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/element.c, dlls/msxml3/tests/domdoc.c:
	msxml: Implement getAttribute.

2006-01-14  Aric Stewart <aric@codeweavers.com>

	* programs/explorer/explorer.c:
	explorer: Handle /select arguments correctly with the new winefile
	modifications.

2006-01-14  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/oleobj.c:
	mshtml: Better handling of IDocHostUIHandler in SetClientSite.

2006-01-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/kernel32.spec, dlls/kernel/krnl386.exe.spec,
	  dlls/kernel/ne_module.c:
	kernel: Reimplemented the MapHInst functions in assembly.

	* dlls/kernel/kernel32.spec, dlls/kernel/selector.c:
	kernel: Reimplemented the SMap/SUnmap functions in assembly.

2006-01-13  David Moore <davidm@sjsoft.com>

	* dlls/gdi/freetype.c:
	gdi: Fix display of fonts using Symbol codepages and assorted other
	codepages.

2006-01-13  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/files.c:
	advpack: Move file related functions to files.c.

	* dlls/advpack/Makefile.in, dlls/advpack/advpack.spec,
	  dlls/advpack/files.c, include/advpub.h:
	advpack: Add stubs for the file save/restore functions.

	* dlls/advpack/advpack.c:
	advpack: Only output a FIXME if flags are set.

2006-01-13  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/profile.c, dlls/mscms/tests/profile.c:
	mscms: Fix some wine_todo for GetStandardColorSpaceProfile().

	* dlls/mscms/tests/profile.c:
	mscms: Make two checks more strict in the case of success.

2006-01-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_i386.c, dlls/ntdll/thread.c,
	  include/wine/server_protocol.h, include/winternl.h,
	  server/protocol.def, server/thread.c, server/trace.c:
	ntdll: Add debug registers to the context of all exceptions.
	Maintain a local cache of the debug registers to avoid server calls
	where possible.

2006-01-13  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/files.c:
	advpack: Add initial tests for AdvInstallFile.

	* dlls/advpack/advpack.c:
	advpack: Implement AdvInstallFile.

2006-01-13  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h:
	riched20: Select word on double click.

	* dlls/riched20/editor.c:
	riched20: TODO list update.

	* dlls/riched20/caret.c, dlls/riched20/paint.c:
	riched20: Fixed some selection painting bugs.

2006-01-13  Jeremy White <jwhite@codeweavers.com>

	* dlls/msi/package.c:
	msi: gcc 2.95 compatibility fix.

	* dlls/crypt32/tests/encode.c:
	crypt32: Preserve gcc 2.95 compatibility.

2006-01-13  Alex Villacís Lasso <a_villacis@palosanto.com>

	* include/msacm.h:
	msacm: Add definition for ACM_DRIVERADDF_NAME.

2006-01-13  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c:
	wininet: Handle NULL lpBuffersIn in HttpSendRequestExW.

2006-01-13  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/tests/profile.c:
	mscms: Make enumerating more verbose.

2006-01-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/virtual.c:
	ntdll: Round PE header size to a page boundary for size checks.

2006-01-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/comm.c, dlls/ntdll/Makefile.in, dlls/ntdll/file.c,
	  dlls/ntdll/ntdll_misc.h, dlls/ntdll/serial.c, include/Makefile.in,
	  include/ddk/ntddser.h:
	ntdll: Created infrastructure to support IOCTL for serial devices.
	- created infrastructure in ntdll to support IOCTL for serial devices
	- implemented IOCTLs in ntdll for serial break support
	- implemented the kernel32 equivalent on top of those IOCTLs

2006-01-12  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/nt.c, include/winternl.h:
	ntdll: NtQueryInformationToken change parameters according to PSDK.
	Check for NULL pointer.

2006-01-12  Ge van Geldorp <gvg@reactos.org>

	* dlls/shell32/shlexec.c:
	shell32: Fix directory execution.
	Only use the Folder class handler if we're actually executing a
	folder.

2006-01-12  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c:
	advpack: Add documentation for ExecuteCab.

	* dlls/advpack/advpack.spec, dlls/advpack/reg.c, include/advpub.h:
	advpack: Add stubs for the remaining registry functions.

	* dlls/cabinet/Makefile.in, dlls/cabinet/cabextract.c,
	  dlls/cabinet/cabinet.h, dlls/cabinet/fdi.c:
	cabinet: Move the remaining cabextract.c functions to fdi.c.

2006-01-12  Stefan Brüns <stefan.bruens@rwth-aachen.de>

	* dlls/commdlg/filedlg.c, dlls/commdlg/filedlgbrowser.c:
	commdlg: Makes return value of FILEDLG95_SendFileOK dependent of
	return value, not of DWL_MSGRESULT.

2006-01-12  Detlef Riekenberg <wine.dev@web.de>

	* dlls/ntdll/tests/exception.c:
	ntdll/tests: Skip tests if NtCurrentTeb doesn't exist.

2006-01-12  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/debughlp.c:
	shell32: MSVC compatibility fix in dump_pidl_hex().

2006-01-12  Robert Shearman <rob@codeweavers.com>

	* dlls/kernel/heap.c, dlls/kernel/tests/heap.c:
	kernel32: Fix GlobalReAlloc for size = 0.
	GlobalReAlloc should return NULL if the requested size is 0, the block
	is moveable and it is locked, but otherwise it should return the
	original memory block.

2006-01-12  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/editstr.h, dlls/riched20/string.c:
	riched20: Initial support for word break callback procedures.

	* dlls/riched20/paint.c:
	riched20: Removed a useless check in painting code.

2006-01-12  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/font.c:
	gdi: If the last param of GetKerningPairs is NULL then return the
	number of pairs.

2006-01-12  Robert Shearman <rob@codeweavers.com>

	* dlls/shell32/shlview.c:
	shell: Fix view window Z order.
	After creating the Shell View window we should call SetWindowPos to
	move the window on top of other child windows in the parent window.
	Also delay the showing of the window so that we can do more
	initialisation after window creation without it causing visual
	artifacts.

	* dlls/oleaut32/typelib.c:
	oleaut: Support conversion of VT_SAFEARRAY into VT_ARRAY|type.
	Typelib variant types that cannot be converted should return
	DISP_E_BADVARTYPE.
	Don't call DispCallFunc if conversion of one of the arguments failed.

	* dlls/ole32/rpc.c:
	ole: Fix crash in RpcChannelBuffer_SendReceive.
	Initialise apt to NULL since ipid_to_apt_stubbuffer no longer does
	this for us.

	* dlls/ole32/tests/marshal.c:
	ole: Use strict prototypes for some test functions.

2006-01-12  Saulius Krasuckas <saulius2@ar.fi.lt>

	* dlls/mscms/tests/profile.c:
	mscms: Null ID can make GetStandardColorSpaceProfile*() succeed.

2006-01-11  Jacek Caban <jacek@codeweavers.com>

	* dlls/shlwapi/tests/path.c, dlls/shlwapi/url.c:
	shlwapi: UrlCanonicalize: fix URL_DONT_SIMPLIFY.
	- URL_DONT_SIMPLIFY should change '/' <-> '\'
	- Better '/' / '\' handling

2006-01-11  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	msxml: Implement createNode, appendChild and insertAfter.

2006-01-11  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/driveui.c:
	winecfg: Simplify code a bit.
	Enable apply button when needed and don't enable when nothing
	changed.

2006-01-11  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/.gitignore, dlls/msi/Makefile.in, dlls/msi/dialog.c,
	  dlls/msi/msi.rc:
	msi: Make the MSI SelectionTree control do something useful.

2006-01-11  Alexandre Julliard <julliard@winehq.org>

	* server/mapping.c:
	server: Don't round up the header size for image mappings.

	* dlls/ntdll/virtual.c:
	ntdll: Round up the mapping size in map_file_into_view when setting
	the protection bytes.

2006-01-11  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/tests/main.c:
	crypt32: Fix a test that fails on Windows.

2006-01-11  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/internet.c, dlls/urlmon/urlmon_main.c:
	urlmon: Reimplement CoInternetCombineUrl to use pluggable protocol.

	* dlls/urlmon/umon.c:
	urlmon: Use CoInternetCombineUrl in URLMonikerImpl_Construct.

2006-01-11  Aric Stewart <aric@codeweavers.com>

	* dlls/msvcrt/tests/dir.c:
	msvcrt: Modify dir test to create its own directory to ensure the
	directory exists for the test. Using the temp dir as the root.

2006-01-11  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/list.c:
	riched20: Added \n to trace output.

2006-01-11  Marcus Meissner <marcus@jet.franken.de>

	* dlls/oleaut32/typelib.c:
	ole: ITypeInfo::Invoke stack overwrite fix.
	Have enough stack space up to even VT_VARIANTs, fixes a stack
	corruption.

2006-01-11  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c:
	msxml: Fix for selectNodes when the node has no children.

2006-01-11  James Hawkins <truiken@gmail.com>

	* dlls/cabinet/cabextract.c:
	cabinet: Remove no longer used code from cabextract.c.

2006-01-11  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_i386.c,
	  dlls/ntdll/signal_powerpc.c, dlls/ntdll/signal_sparc.c,
	  dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c,
	  include/wine/server_protocol.h, server/context_i386.c,
	  server/protocol.def, server/thread.c, server/trace.c:
	ntdll: Handle NtSetContextThread on the client side (as far as
	possible) when setting the context of the current thread.

2006-01-11  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/classes.c, dlls/shell32/folders.c,
	  dlls/shell32/iconcache.c, dlls/shell32/shell32_main.c,
	  dlls/shell32/shell32_main.h:
	shell32: Fix folder icon index when read from registry.
	Change "DWORD dwNr" into "int icon_idx" at several places.

2006-01-11  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/winmm/winealsa/audio.c:
	winealsa: Ensure that copy_format() will not write past end of
	referenced WAVEFORMATPCMEX structure.

2006-01-11  Aric Stewart <aric@codeweavers.com>

	* programs/winefile/winefile.c:
	winefile: Highlight the file specified on the command line instead of
	filtering based on it. To be integrated with explorer to allow for
	that functionality.

2006-01-11  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/thread.c, dlls/ntdll/thread.c:
	ntdll: Implemented ntdll.NtSetInformationThread(ThreadAffinityMask).
	Reimplemented kernel32.SetThreadAffinityMask on top of it.

2006-01-11  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/tests/files.c:
	advpack: Implement ExtractFiles.

	* dlls/cabinet/fdi.c:
	cabinet: Add documentation for FDITruncateCabinet.

2006-01-11  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/ds3d.c, dlls/dsound/tests/ds3d8.c:
	dsound: Add primary buffer change tests.
	Add tests to figure out whether Windows can change the primary buffer
	capabilities after setting the buffer format. Based on a patch by Alex
	Villacís Lasso.

2006-01-11  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: Remove the font when setting a control's text.

2006-01-11  Rob Shearman <rob@codeweavers.com>

	* dlls/comctl32/tests/progress.c:
	comctl32: Test the painting behaviour of the progress bar control.
	Test the painting behaviour of the progress bar control when the
	PBM_SETPOS message is sent to it, with respect to whether the
	background is erased and what part of the control is redrawn.

2006-01-11  Mike McCormack <mike@codeweavers.com>

	* dlls/comctl32/progress.c:
	comctl32: Invalidate the entire progress bar any time it changes.

2006-01-11  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/tests/profile.c:
	mscms: Set the last error code to an unusual value.

2006-01-11  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/commdlg/printdlg.c:
	commdlg: If provided use and update hDevMode in the PAGESETUPDLG struct.
	Update the dmDefaultSourcea return value inside hDevMode.

2006-01-11  Huw Davies <huw@codeweavers.com>

	* dlls/opengl32/wgl.c:
	opengl: Use indirect contexts if the surface is a pixmap.

2006-01-11  Francois Gouget <fgouget@codeweavers.com>

	* programs/winemenubuilder/winemenubuilder.c:
	winemenubuilder: Improve traces.
	Report the EnumResourceNamesW() and failure to find an icon
	separately so traces are less misleading.

2006-01-11  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/oleobj.c:
	ole: Implement IEnumSTATDATA for the Ole Advise Holder.
	Implement IEnumSTATDATA for the Ole Advise Holder and use it to
	implement the Send* functions.

	* dlls/ole32/marshal.c:
	ole: Initialise hrref so as not to display garbage in the trace.

	* dlls/ole32/defaulthandler.c:
	ole: Remove some duplicated code.

2006-01-10  Rein Klazes <wijn@wanadoo.nl>

	* dlls/hhctrl.ocx/hhctrl.c:
	hhctrl.ocx: Report commands in HtmlHelp that are not handled at all.

2006-01-10  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/editstr.h, dlls/riched20/paint.c, dlls/riched20/wrap.c:
	riched20: Reduced screen flicker by using proper update region invalidation.

2006-01-10  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/virtual.c:
	kernel: Remove no longer used debug channel.

2006-01-10  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h,
	  dlls/ole32/marshal.c:
	ole: Defer apartment window creation until the first object is marshalled.

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/rpc.c:
	ole: Add an accessor function for an apartment's window.

	* dlls/ole32/rpc.c:
	ole: Report and clean up after PostMessage failures.

	* dlls/ole32/compobj_private.h, dlls/ole32/rpc.c,
	  dlls/ole32/stubmanager.c:
	ole: Pass a channel into IRpcStubBuffer::Invoke.
	Create a server channel and store this in the ifstub.
	Rename ipid_to_apt_and_stubbuffer to ipid_get_dispatch_params and make
	the function return an HRESULT.
	Return the channel for the ifstub in ipid_get_dispatch_params.

	* dlls/ole32/rpc.c:
	ole: Reduce the access rights required by start_local_service.

	* dlls/ole32/rpc.c:
	ole: Return the last error if we couldn't open the requested service.
	Fix the ok/failed message.

2006-01-10  James Hawkins <truiken@gmail.com>

	* dlls/advpack/tests/.gitignore, dlls/advpack/tests/Makefile.in,
	  dlls/advpack/tests/files.c:
	advpack: Add initial tests for ExtractFiles.
	- Use FCI to create a test cabinet file.
	- Add initial tests for ExtractFiles.

2006-01-10  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_misc.h, dlls/rpcrt4/ndr_ole.c:
	rpcrt4: Remove the unused RPCRT4_GetPSFactory function.

	* dlls/rpcrt4/ndr_ole.c:
	rpcrt4: Don't release the interface pointer on failure.
	Don't release the interface pointer on failure since we are not the
	ones that allocated it. It is the caller's responsability to call
	NdrInterfacePointerFree, where the freeing is supposed to happen.

	* dlls/kernel/heap.c:
	kernel32: Return an error when unlocking a global with a zero lock count.
	Rename GLOBAL_LOCK_MAX to the public GMEM_LOCKCOUNT.

2006-01-10  Saulius Krasuckas <saulius.krasuckas@gmail.com>

	* dlls/mscms/tests/profile.c:
	mscms: Enumerate registered standard colorspace profiles.

2006-01-10  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	msxml: It's valid to release an empty document.

2006-01-10  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/comctl32/header.c:
	comctl32: Fix emitting of NM_CUSTOMDRAW header notifications.
	Emit NM_CUSTOMDRAW header notifications for all headers, not only
	ownerdrawn. Allow to change item text and background colors in an
	application's NM_CUSTOMDRAW handler.

	* dlls/riched20/string.c:
	riched20: Allow NUL characters.

2006-01-10  Robert Shearman <rob@codeweavers.com>

	* dlls/kernel/atom.c, dlls/kernel/atom16.c, dlls/kernel/environ.c,
	  dlls/kernel/file16.c, dlls/kernel/module.c, dlls/kernel/oldconfig.c,
	  dlls/kernel/profile.c, dlls/kernel/task.c, dlls/kernel/toolhelp16.c:
	kernel: Remove wine/server.h include from files where it is no longer needed.

2006-01-10  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/exception.c, dlls/ntdll/ntdll.spec, include/winternl.h:
	ntdll: NtRaiseException doesn't need to be a register function.
	Moved common code between NtRaiseException and RtlRaiseException to a
	separate raise_exception function.

	* dlls/kernel/except.c:
	kernel: Don't send a debugger event in UnhandledExceptionFilter,
	leave that to the standard ntdll exception handling.

	* dlls/kernel/kernel32.spec, dlls/kernel/thunk.c:
	kernel: Implement FT_Exit directly in assembly to avoid the overhead
	of register functions.

2006-01-10  James Hawkins <truiken@gmail.com>

	* configure, configure.ac, dlls/cabinet/Makefile.in,
	  dlls/cabinet/tests/.gitignore, dlls/cabinet/tests/Makefile.in,
	  dlls/cabinet/tests/extract.c:
	cabinet: Add initial tests for Extract.

	* dlls/cabinet/cabinet_main.c:
	cabinet: Implement Extract on top of FDI.

2006-01-10  Rein Klazes <wijn@wanadoo.nl>

	* dlls/winedos/int21.c:
	winedos: Open files with write access on read only media.
	If the CreateFile in INT21_CreateFile fails with ERROR_WRITE_PROTECT,
	retry without write access.

2006-01-10  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.h, dlls/riched20/para.c,
	  dlls/riched20/run.c:
	riched20: Speed up text insertion.
	Optimized reading large texts into RichEdit to be an O(n) order
	algorythm instead of O(n^2) by removing extraneous conversions of
	character offsets to run offsets.

2006-01-10  Mike McCormack <mike@codeweavers.com>

	* dlls/advapi32/service.c:
	advapi32: If we can't connect to a service's pipe, name the service in
	the error message.

	* dlls/msi/select.c:
	msi: Count the number of columns requested and allocate that many,
	as columns may be select more than once in from a table.

	* dlls/msi/action.c:
	msi: Don't crash if there's no script present when we try execute one.

	* dlls/msi/msiquery.c, include/msiquery.h:
	msi: Fixed the prototype of MsiDatabaseIsTablePersistent.
	Implemented MsiDatabaseIsTablePersistentA via the W function.

2006-01-10  Troy Rollo <wine@troy.rollo.name>

	* dlls/user/menu.c, dlls/user/user16.c, include/wine/winuser16.h,
	  include/winuser.h:
	user: Fix return type of EnableMenuItem.

	* dlls/shell32/shfldr_unixfs.c:
	shell32: Fix bug in renaming files in the file dialogs when UNIX paths
	are being used.

	* include/psapi.h:
	Fix GetModuleFileNameEx definition.

2006-01-10  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/static.c:
	user: Improve the ownerdraw support of the static control.

	* dlls/user/cursoricon.c, dlls/user/tests/resource.c:
	user: The LoadImage resource string may be a numeric string.

2006-01-10  Kaj Kaloinen <kkaloine@gmail.com>

	* dlls/shlwapi/shlwapi.rc, dlls/shlwapi/shlwapi_Fi.rc:
	shlwapi: Add Finnish translation.

2006-01-10  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/comctl32/status.c:
	comctl32: Call UpdateWindow() after changing statusbar text.

2006-01-09  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c:
	advpack: Add documentation for ExtractFiles.

	* dlls/cabinet/cabinet_main.c:
	cabinet: Clean up the documentation for Extract.

	* dlls/cabinet/cabinet.h:
	cabinet: Add the two flags used by Extract to cabinet.h.

	* dlls/cabinet/cabinet.h:
	cabinet: Define the flags member of the EXTRACTdest structure.

	* dlls/cabinet/cabinet_main.c:
	cabinet: Fix the second parameter name of Extract.

	* dlls/cabinet/fdi.c:
	cabinet: Store the cab file handle before extracting files so we can
	close the cab file even if no files are extracted.

2006-01-09  Saulius Krasuckas <saulius.krasuckas@gmail.org>

	* include/icm.h:
	include: Add missing color space constants.

2006-01-09  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/comctl32/rebar.c:
	comctl32: Fix rebar autosize behaviour.
	Allow autoresizing rebar by PostMessage(hwndRebar, WM_SIZE, 0, 0) like
	native does, taking as few rows as possible and using the parent
	window client area size for the other dimension (width for horizontal
	rebars or height for vertical ones).

	* dlls/user/combo.c:
	user: Fix dropdown combo creation when there is no space for an edit control.

2006-01-09  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/rpc.c:
	ole: Join the MTA if necessary when executing an RPC call.
	Join the MTA if necessary when executing an RPC call to ensure that it
	is executing with a valid apartment and won't fail for certain COM
	calls.

	* dlls/ole32/rpc.c:
	ole: Prefer services over servers.
	Attempt to start as a local service before attempting to start as a
	local server for the CLSCTX_LOCAL_SERVER case.

	* dlls/ole32/tests/compobj.c:
	ole: Add some tests for CLSIDFromString.

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/ole16.c:
	ole: Remove __CLSIDFromStringA.
	Move the ANSI implementation of CLSIDFromString to ole16.c and change
	CLSIDFromString to only deal with Unicode strings.

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Improve ReadVariance.
	Extend ReadVariance to read the offset as well as the actual count,
	since these always come in pairs.
	Handle the variance not being present in ReadVariance and always call
	it from the unmarshalling functions to simplify the code there and
	also to fix a bug where the format pointer wasn't advanced properly
	for complex arrays (introduced in the previous patch when implementing
	variance).

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Validate complex array format string.
	Verify that the format string being passed into the complex array
	functions is a complex array one.

2006-01-09  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/binding.c:
	urlmon: Fix ref counting.

	* dlls/urlmon/binding.c:
	urlmon: Pass FORMATETC to OnDataAvailable.

	* dlls/urlmon/binding.c:
	urlmon: Added implementation of protocol stream.

2006-01-09  Robert Shearman <rob@codeweavers.com>

	* dlls/crypt32/main.c, dlls/rsaenh/rsaenh.c:
	Call DisableThreadLibraryCalls for DLLs that don't need thread
	creation/destruction notifications.

2006-01-09  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/shell32/shell32_Ko.rc:
	shell32: Update the Korean translation.

2006-01-09  Alexander N. Sørnes <alex@thehandofagony.com>

	* dlls/shell32/shell32_No.rc:
	shell32: Updated Norwegian Bokmål resources.

2006-01-09  Hans Leidekker <hans@it.vu.nl>

	* dlls/usp10/usp10.c, dlls/usp10/usp10.spec:
	usp10: Improve stubs.
	Improve stubs for ScriptGetProperties and ScriptItemize.
	Add stub for ScriptFreeCache.

2006-01-09  Mike McCormack <mike@codeweavers.com>

	* dlls/kernel/heap.c, dlls/kernel/tests/heap.c:
	kernel: Trying to lock an empty global memory block gives an ERROR_DISCARDED.

	* dlls/user/combo.c:
	user32: Update the list of things to fix in the Combo control.

2006-01-09  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c, dlls/user/tests/menu.c:
	user32: Prevent a crash in GetMenuStringA caused by calling strlenW on
	a NULL pointer, with a test.

2006-01-09  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c:
	riched20: Fixed calculation of left indent and first indent paragraph
	properties.

	* dlls/riched20/string.c:
	riched20: Simplified logic in ME_StrRelPos().

2006-01-06  Aric Stewart <aric@codeweavers.com>

	* dlls/msvcrt/tests/.gitignore, dlls/msvcrt/tests/Makefile.in,
	  dlls/msvcrt/tests/dir.c:
	msvcrt: Add a regression test for _fullpath.

	* dlls/msvcrt/dir.c:
	msvcrt: Reworked _fullpath.
	Investigation with native msvcrt revealed that it is a wrapper for
	GetFullPathName and the current implementation was crashing with older
	mozilla installs if the path passed in was uninitialized.

2006-01-06  Alexandre Julliard <julliard@winehq.org>

	* dlls/ole32/stg_bigblockfile.c:
	ole: Remove a no longer needed smbfs hack.

2006-01-06  Raimonds Praude <raimonds.praude@sets.lv>

	* dlls/user/combo.c:
	user32: Limit text in the edit field of a combo box.

2006-01-06  Marcus Meissner <marcus@jet.franken.de>

	* dlls/gdi/metafile.c:
	gdi: Filter GETSCALINGFACTOR and SETABORTDOC proc in metafile
	Escapes.

2006-01-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	ole: Remove the no longer used _copy_arg function.

	* dlls/oleaut32/typelib.c:
	ole: ITypeInfo::Invoke rewrite.
	Re-implement ITypeInfo::Invoke on top of DispCallFunc and
	VariantChangeType instead of _invoke and _copy_arg.

	* dlls/ole32/antimoniker.c, dlls/ole32/compositemoniker.c,
	  dlls/ole32/ole2.c, dlls/ole32/storage32.c:
	ole: Remove "stub" from TRACEs of functions that aren't stubs.

2006-01-06  Hans Leidekker <hans@it.vu.nl>

	* dlls/mscms/profile.c:
	mscms: Silence a potentially noisy fixme.

	* dlls/kernel/time.c:
	kernel: Documentation cleanups.

2006-01-06  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Compute variance for complex arrays

	* dlls/rpcrt4/cstub.c:
	rpcrt4: Call NdrStubCall2 when dealing with a pure interpreted stub
	that has no dispatch table.

2006-01-06  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/static.c:
	Static control: Support enhanced metafiles.

2006-01-06  Hans Leidekker <hans@it.vu.nl>

	* LICENSE, include/wine/wine_common_ver.rc:
	Update copyright info for the new year.

	* documentation/PACKAGING:
	documentation: Suggest installing OpenLDAP development libraries to packagers.

2006-01-06  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Generate static sizing information for fixed size structs.
	Don't generate FC_*_BASETYPE proc and type format strings for
	non-basetype fields/params.

2006-01-06  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/comctl32/syslink.c:
	comctl32: Reduce memory usage of the syslink control.

	* dlls/comctl32/syslink.c:
	comctl32: Some painting fixes for the syslink control.

2006-01-06  Rolf Kalbermatter <rolf.kalbermatter@citeng.com>

	* dlls/urlmon/umstream.c:
	urlmon: Fix a LARGE_INTEGER truncation.

2006-01-06  Robert Reif <reif@earthlink.net>

	* dlls/dsound/buffer.c, dlls/dsound/dsound.c,
	  dlls/dsound/dsound_private.h, dlls/dsound/mixer.c,
	  dlls/dsound/primary.c, dlls/dsound/propset.c, dlls/dsound/sound3d.c:
	dsound: Refactor playback.
	Replace references of IDirectSoundImpl with DirectSoundDevice to
	remove one level of indirection and remove the problem of a three
	object circular reference.

2006-01-06  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: Unload riched20 after its window is destroyed.

	* dlls/msi/dialog.c:
	msi: Make radio buttons grey out correctly when disabled.

	* dlls/msi/helpers.c:
	msi: Clean trailing and leading spaces from path segments.

2006-01-06  Rolf Kalbermatter <rolf.kalbermatter@citeng.com>

	* tools/winapi/msvcmaker:
	winapi: msvcmaker adaption to new directory structure.
	Fix some issues with MSVC project file generation after recent
	directory restructuring.

	* tools/winapi/config.pm:
	winapi: Add the loader directory to the paths to exclude.
	There is nothing in there anymore that would need to be done for
	winapi tools.

	* tools/winapi/winapi_extract, tools/winapi/winapi_fixup:
	winapi: Cleanup some unused use clauses.

2006-01-06  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/commdlg/cdlg_Ko.rc:
	commdlg: Updated Korean translation.

	* programs/winecfg/Ko.rc:
	winecfg: Updated Korean translation.

2006-01-06  Mike McCormack <mike@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	oleaut32: Output a FIXME message only once.

2006-01-06  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/ds3d.c, dlls/dsound/tests/ds3d8.c,
	  dlls/dsound/tests/dsound.c, dlls/dsound/tests/dsound8.c,
	  dlls/dsound/tests/dsound_test.h:
	dsound: Fix double free bug in tests.
	Fix double free in tests.  Only happens in interactive mode when
	testing duplicated 3D buffers.

2006-01-06  Anssi Hannula <anssi.hannula@gmail.com>

	* dlls/shell32/shell32_Fi.rc:
	shell32: Spelling fixes for the Finnish resource.

2006-01-06  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/ole32/storage32.c:
	ole: Fix SmallBlocksToBigBlocks loop.
	Stop copying data when read returns 0 bytes

2006-01-05  Robert Shearman <rob@codeweavers.com>

	* configure, configure.ac, dlls/Makefile.in, dlls/security/.gitignore,
	  dlls/security/Makefile.in, dlls/security/security.spec:
	Added implementation of security.dll.

2006-01-05  Jacek Caban <jacek@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/utility.c:
	wininet: lpvStatusInfo in INTERNET_STATUS_NAME_RESOLVED,
	INTERNET_STATUS_CONNECTING_TO_SERVER and
	INTERNET_STATUS_CONNECTED_TO_SERVER should be strings, not
	sockaddr_in.

2006-01-05  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/except.c, dlls/msvcrt/msvcrt.spec:
	msvcrt: Added assembly routines to save/restore registers for setjmp/longjmp
	to avoid the overhead of a full-blown register function.
	Some tracing improvements.

	* dlls/msvcrt/cppexcept.c, dlls/msvcrt/msvcrt.spec:
	msvcrt: Added some assembly glue for the asm bits of __CxxFrameHandler
	to avoid having to save/restore the whole context on every call.

2006-01-05  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/binding.c:
	urlmon: Added implementation of QueryService and stub implementation
	of IHttpNegotiate2 interface.

	* dlls/urlmon/binding.c:
	urlmon: Query service provider for IInternetProtocol.

2006-01-05  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winspool/winspool.drv.spec:
	winspool: Added ordinal exported functions of winspool.drv.

2006-01-05  Dan Kegel <dank@kegel.com>

	* dlls/oleaut32/typelib.c:
	oleaut32: Allow _invoke to handle up to 23 parameters.

2006-01-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/module.c, dlls/dbghelp/stack.c,
	  dlls/dbghelp/symbol.c, include/dbghelp.h:
	dbghelp: StackWalk (32 and 64 bit version).
	- enhance implementation of StackWalk (32 and 64 bit version) by
	making use of module information and calling for FPO
	- FPO part is still non functional
	- implemented SymGetModuleBase64
	- stubbed SymFunctionTableAccess64

2006-01-05  Robert Reif <reif@earthlink.net>

	* dlls/dsound/capture.c, dlls/dsound/dsound_private.h:
	dsound: Capture refactoring.
	Move initialization code from DirectSoundCapture to
	DirectSoundCaptureDevice.
	Make DirectSoundCaptureBuffer directly reference
	DirectSoundCaptureDevice rather than DirectSoundCapture to eliminate
	one level of indirection.
	Rename DSOUND_CreateDirectSoundCaptureBuffer to
	IDirectSoundCaptureBufferImpl_Create to be consistent.

2006-01-05  Alexandre Julliard <julliard@winehq.org>

	* libs/wpp/ppl.l, programs/winedbg/debug.l, programs/winhelp/macro.lex.l,
	  tools/widl/parser.l, tools/wrc/parser.l:
	Remove YY_NO defines that cause warnings.

2006-01-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/symbol.c:
	dbghelp: Removed no longer needed 'stub' in TRACEs.

2006-01-05  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/cproxy.c, dlls/rpcrt4/ndr_misc.h,
	  dlls/rpcrt4/ndr_stubless.c, dlls/rpcrt4/rpcrt4.spec:
	rpcrt4: Implement NdrClientCall2 and NdrServerCall2.

	* dlls/oleaut32/typelib.c:
	ole: Store the result from _invoke in a VARIANTARG structure.

	* programs/regedit/childwnd.c:
	regedit: Initialise nFocusPanel.

	* dlls/kernel/oldconfig.c:
	kernel32: Check for the correct error return value from open.

2006-01-05  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/tests/url.c:
	urlmon: Code clean up.

	* dlls/urlmon/binding.c:
	urlmon: Added GetBindInfoString implementation.

2006-01-04  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.5.

----------------------------------------------------------------
2006-01-04  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/stream.c:
	msacm: Initialize some ACMSTREAMHEADER fields for the sake of native codecs.
	Initialize cb[Src|Dst]LengthUsed to 0 before calling into codec,
	required by (some?) native codecs.

2006-01-04  Vitaliy Margolen <wine-patch@kievinfo.com>

	* tools/wine.inf:
	wine.inf: Add a few keys to HKLM\Hardware.

2006-01-04  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winsock/socket.c:
	winsock: Map wildcards for socket type and protocol in getaddrinfo().

2006-01-04  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	Set refcount to -1 on implicitly loaded dlls to avoid unloading them
	(suggested by Michael Ost).

2006-01-04  Marcus Meissner <marcus@jet.franken.de>

	* dlls/shlwapi/shlwapi.spec:
	shlwapi: Print PathCombine* strings arguments in relay debugging.

2006-01-04  Alexandre Julliard <julliard@winehq.org>

	* include/wine/pthread.h:
	Avoid DECLSPEC_NORETURN on function pointers for MSVC compatibility.

2006-01-04  Mike McCormack <mike@codeweavers.com>

	* programs/msiexec/msiexec.c:
	msiexec: Ignore the TRANSFORMS variable.
	Ignore the TRANSFORMS variable when building a list of transforms for
	advertising.  The variable is used to apply transforms when installing.

	* dlls/msi/action.c, dlls/msi/msipriv.h, dlls/msi/msiquery.c:
	msi: Apply any MSI transforms specified by the TRANSFORMS property.

	* dlls/msi/msi.spec, dlls/msi/msiquery.c:
	msi: Add a stub for MsiGetLastErrorRecord.

	* dlls/msi/dialog.c:
	msi: Fixes for the MaskedEdit control.
	Allow MaskedEdit masks that aren't enclosed with <>.
	Allow the MaskedEdit's edit controls to scroll a bit in case things
	don't line up.

2006-01-04  Robert Reif <reif@earthlink.net>

	* dlls/dsound/capture.c, dlls/dsound/dsound_private.h:
	dsound: Capture cleanup.
	Move code and function prototypes around to eliminate forward
	declarations.  No code is changed.

2006-01-04  Hans Leidekker <hans@it.vu.nl>

	* tools/winapi/winapi_global.pm:
	winapi: Remove some exceptions now that DLL separation is complete.

	* DEVELOPERS-HINTS:
	Subdirectory tools/winapi_check no longer exists.

2006-01-04  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/shell32/shell32_Bg.rc, dlls/shell32/shell32_De.rc,
	  dlls/shell32/shell32_En.rc, dlls/shell32/shell32_Es.rc,
	  dlls/shell32/shell32_Fi.rc, dlls/shell32/shell32_Fr.rc,
	  dlls/shell32/shell32_No.rc, dlls/shell32/shell32_Pt.rc,
	  dlls/shell32/shellpath.c:
	shell32: Create Local AppData for user profile.
	Move history and internet tmp files to Local Settings.

	* dlls/shell32/shell32_Ru.rc:
	shell32: Update Russian resources.

2006-01-04  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c:
	user32: Menu tracing improvements.

2006-01-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/virtual.c:
	ntdll: Check file size when mapping image sections to avoid SIGBUS errors.

2006-01-03  Marcus Meissner <marcus@jet.franken.de>

	* dlls/msi/custom.c:
	msi: Report the commandline that failed to start in ERR()s.

2006-01-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/atom.c, dlls/kernel/tests/atom.c:
	kernel32: Implemented atoms query function on top of ntdll ones.

	* dlls/ntdll/atom.c, dlls/ntdll/tests/atom.c,
	  include/wine/server_protocol.h, server/atom.c, server/protocol.def,
	  server/trace.c:
	ntdll: Correct implementation for atom query functions.

2006-01-03  Markus Amsler <markus.amsler@oribi.org>

	* dlls/advpack/advpack.c:
	advpack: Make DoInfInstall return an HRESULT.

2006-01-03  Robert Reif <reif@earthlink.net>

	* dlls/dsound/buffer.c, dlls/dsound/capture.c, dlls/dsound/dsound.c,
	  dlls/dsound/dsound_private.h, dlls/dsound/primary.c,
	  dlls/dsound/propset.c, dlls/dsound/sound3d.c:
	dsound: Remove WINAPI from internal functions.

2006-01-03  Markus Amsler <markus.amsler@oribi.org>

	* dlls/advpack/advpack.c:
	advpack: Fix LaunchInfSection[Ex] documentation.

2006-01-03  Alexandre Julliard <julliard@winehq.org>

	* libs/wpp/wpp.c, tools/widl/widl.c, tools/wrc/wrc.c:
	Support building flex files without debug support.

2006-01-03  Rolf Kalbermatter <rolf.kalbermatter@citeng.com>

	* include/wine/pthread.h, include/winternl.h:
	include: Fix DECLSPEC_NORETURN for compilation with MS C compiler.

2006-01-03  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c, dlls/shell32/tests/shlfolder.c:
	shell32/unixfs: Added unicode support in folder and file pidls.

	* dlls/shell32/pidl.c, dlls/shell32/pidl.h:
	shell32: Helper function for unicode support in folder and file pidls.

2006-01-03  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/menu.c, dlls/user/tests/menu.c:
	user32: Separate menu bitmaps and strings.
	Store bitmaps and bitmaps always in separate fields in the internal
	menu structure.  Get rid of a lot of assumptions in the code that the
	menu can have strings only when it is not some other type and that
	bitmaps come in two flavors.
	Add a lot of conformance tests, including some submitted by Jason
	Edmeades.

2006-01-03  Steven Edwards <winehacker@gmail.com>

	* dlls/gdi/Makefile.in, dlls/gdi/gdi_private.h, dlls/gdi/metafile.c,
	  dlls/gdi/metafile16.c, dlls/gdi/mfdrv/init.c:
	gdi: Win16/32 split of most of the metafile support.

	* dlls/gdi/gdi_private.h, include/wingdi.h:
	gdi: Move EMRSETTEXTJUSTIFICATION structure to the private gdi header.

2006-01-03  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/msacm32_main.c:
	msacm32: Implement ACM_METRIC_DRIVER_PRIORITY in acmMetrics.

2006-01-03  Robert Reif <reif@earthlink.net>

	* dlls/kernel/module.c:
	kernel: DelayLoadFailureHook crash fix.

2006-01-03  Alexandre Julliard <julliard@winehq.org>

	* libs/wpp/Makefile.in, libs/wpp/ppl.l, programs/winedbg/debug.l,
	  programs/winhelp/macro.lex.l, tools/widl/Makefile.in,
	  tools/widl/parser.l, tools/wrc/Makefile.in, tools/wrc/parser.l:
	Added some flex options to avoid compiler warnings.
	Moved options from the Makefile into the source.

2006-01-03  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	msi: Subclass the Richedit control.
	Send a "DoAction" control event when the user scrolls the text.

	* dlls/msi/install.c:
	MSI: Improve the MsiGetMode stub a little.

	* dlls/msi/dialog.c, dlls/msi/events.c, dlls/msi/msipriv.h:
	msi: Implement the Reset control event.

	* dlls/oleaut32/typelib.c:
	oleaut32: Allow _invoke to handle up to 17 parameters.

2006-01-03  Robert Reif <reif@earthlink.net>

	* dlls/dsound/dsound.c:
	dsound Add uninitialized check.

2006-01-03  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/listview.c:
	comctl32: Listview - allow selection toggle with ctrl+space.

2006-01-03  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winsock/socket.c:
	winsock: AF_UNSPEC mapping.
	Also map AF_UNSPEC sockaddrs in the sockaddr handlers.
	Zero initialize the sockaddr in ws_sockaddr_alloc().

2006-01-03  Francois Gouget <fgouget@free.fr>

	* dlls/ddraw/tests/dsurface.c, dlls/user/edit.c:
	Assorted spelling fixes

	* dlls/shell32/tests/shlfileop.c, dlls/wined3d/stateblock.c:
	Add trailing '\n's to ok() calls.
	Remove spaces before '\n' in traces.

	* tools/winapi/win32.api:
	winapi: Update win32.api to match the current sources.

	* dlls/msi/msi.c, dlls/wldap32/page.c:
	Small documentation tweaks to avoid winapi_check warnings.

2006-01-03  Francois Gouget <fgouget@codeweavers.com>

	* programs/winemenubuilder/winemenubuilder.c:
	winemenubuilder: Improve traces.
	Add some traces to make it easier to debug icon generation problems.

2006-01-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/tests/bitmap.c:
	gdi: Add a test which shows that GDI does not support compressed DIB sections.

2006-01-03  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/gdi/dib.c:
	gdi32: Disallow creation of compressed DIB sections.

2006-01-03  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/hglobalstream.c:
	ole: Check the return value of IStream_SetSize in IStream_Read.
	Check the return value of IStream_SetSize in IStream_Read, since
	otherwise execution could continue on and cause heap corruption.

	* dlls/ole32/stg_stream.c:
	ole: Fix mis-handling of return value in StgStreamImpl_Read.
	BlockChainStream_ReadAt returns a BOOL, not an HRESULT so change
	StgStreamImpl_Read to handle this, by returning STG_E_READFAULT on
	failure.

	* dlls/rpcrt4/ndr_marshall.c:
	rpcrt4: Implement callback conformance.

	* dlls/rpcrt4/rpc_server.c:
	rpcrt4: Fix race condition in RpcServerListen.
	The DontWait parameter is used for forcing the function not to wait
	for the server to finish.

2006-01-03  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/comctl32/comctl32undoc.c:
	comctrl32: ReAlloc should be able to move memory blocks if necessary.

2006-01-03  Kai Blin <kai.blin@gmail.com>

	* dlls/secur32/tests/main.c:
	secur32: Rewrote NTLM tests in a more flexible way.

2006-01-03  Vitaliy Margolen <wine-patch@kievinfo.com>

	* server/snapshot.c:
	server: Fix va_list compile error.

	* dlls/gdi/driver.c, dlls/user/tests/monitor.c:
	gdi: Device name returned from EnumDisplayDevices is valid for CreateDC.

	* dlls/advapi32/service.c:
	advapi32: Don't allocate memory for empty argument string and pass
	NULL instead.

2005-12-31  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/Makefile.in, dlls/wldap32/control.c, dlls/wldap32/misc.c,
	  dlls/wldap32/page.c, dlls/wldap32/parse.c, dlls/wldap32/search.c,
	  dlls/wldap32/winldap_private.h:
	wldap32: Implement some page handling functions.
	Implement ldap_create_page_control{A,W} and
	ldap_parse_page_control{A,W}.
	Move the page handling functions into their own file.

	* dlls/wldap32/extended.c:
	wldap32: Document the functions that handle extended operations.

	* dlls/wldap32/init.c:
	wldap32: Document the init functions.
	Fix two bugs.

2005-12-31  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/x11drvdlg.c:
	winecfg: Default for DXGrab is NO.

2005-12-31  Milko Krachounov <milko@3mhz.net>

	* programs/winecfg/Bg.rc:
	winecfg: Fix a mess with the Bulgarian resource file and translate the
	untranslated strings.

2005-12-31  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/tests/protocol.c:
	urlmon: Added http protocol tests (currently failing in Wine).

2005-12-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/tests/exception.c:
	ntdll/tests: Try to fail more gracefully on win9x.
	Link to NtCurrentTeb dynamically.

2005-12-31  Dan Kegel <dank@kegel.com>

	* dlls/commdlg/colordlg.c:
	commdlg: Let the color picker respond properly to keystrokes.

2005-12-31  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/urlcache.c:
	wininet: Handle the cache being full better in CommitUrlCacheEntryInternal.
	Move the freeing of allocation blocks for an entry into
	URLCache_DeleteEntry.
	Call URLCache_DeleteEntry to rollback from failure in
	CommitUrlCacheEntryInternal.

	* dlls/wininet/urlcache.c:
	wininet: Create new hash tables for URL cache on demand.

	* dlls/wininet/urlcache.c:
	wininet: Move URL cache hash table creation to a separate function.

2005-12-31  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/umon.c:
	urlmon: Removed not used code.

2005-12-31  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Output sizing information for arrays in the generated marshaling code.

	* tools/widl/header.c, tools/widl/header.h, tools/widl/proxy.c:
	widl: Export the bracket adding functionality of do_write_expr outside
	of header.c.

2005-12-31  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	msi: Change some FIXME messages to comments.

	* dlls/msi/package.c:
	msi: Define the property "Intel" if we're running on an Intel processor.

	* dlls/msi/action.c:
	msi: Add stub actions for CCPSearch and RMCCPSearch.

	* dlls/riched20/reader.c:
	riched20: Add newlines to ERR macro output.

2005-12-31  Robert Reif <reif@earthlink.net>

	* dlls/comctl32/ipaddress.c:
	comctl32: Create ipaddress in enabled state.

2005-12-31  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/wined3d/directx.c, dlls/wined3d/surface.c:
	wined3d: Added support for WINED3DFMT_X4R4G4B4.

2005-12-31  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/value.c:
	wldap32: Document the value handling functions.

	* dlls/wldap32/wldap32.h:
	wldap32: Copy embedded berval structures too.

2005-12-31  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/winecfg/De.rc:
	winecfg: Update German resource.

2005-12-31  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/comctl32/propsheet.c:
	comctl32: Fix error handling in PSM_ADDPAGE in case of memory
	allocation failure.

2005-12-26  Yuval Fledel <yuvalfl@gmail.com>

	* programs/winetest/Makefile.in:
	winetest: Only include d3d9 if it is being built.

2005-12-26  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/sec_mgr.c, dlls/urlmon/tests/misc.c:
	urlmon: Added GetSecurityId implementation.

	* dlls/urlmon/binding.c, dlls/urlmon/tests/url.c, dlls/urlmon/umon.c:
	urlmon: Use pluggable protocol for file protocol.

2005-12-26  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Fix merge conflict.

	* tools/widl/typegen.c:
	widl: Follow type references in procformat and typeformat string generation.

	* tools/widl/typegen.c:
	widl: Handle marshaling and unmarshaling structures.

	* tools/widl/client.c, tools/widl/header.c, tools/widl/header.h,
	  tools/widl/server.c:
	widl: Out parameters.
	Marshall and unmarshall out parameters for servers and clients
	respectively.
	Write out array components for declared local variables in generated
	server code.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Remove some duplication.
	Remove some duplicated code by calling an improved
	get_required_buffer_size.
	Add some more newlines in the generated code to separate separate
	stages.
	Calculate the buffer size of [out] arguments in generated server code.
	Fix the direction passed into unmarshall_arguments.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Pass a state into marshall_arguments and unmarshall_arguments to
	decide which parameters should be considered based on their direction.

	* tools/widl/typegen.c:
	widl: Generate marshaling and unmarshaling statements for arrays.

	* tools/widl/typegen.c:
	widl: Treat variables with array indices the same as pointers.

	* tools/widl/typegen.c:
	widl: Advance the type format string whilst marshaling and
	unmarshaling arguments.

	* tools/widl/typegen.c:
	widl: Convert the main while loops in marshall_arguments and
	unmarshall_arguments into for loops.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Add support for marshalling and unmarshalling conformant strings.

	* tools/widl/header.c, tools/widl/header.h, tools/widl/parser.y,
	  tools/widl/proxy.c, tools/widl/write_msft.c:
	widl: Add some const attributes.

	* tools/widl/typegen.c:
	widl: Prepare marshall and unmarshall code generation functions for
	accepting pointers.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c:
	widl: Fix SEGVs with client and server code generation when an
	interface has no methods.

	* tools/widl/typegen.c:
	widl: Generate correct proc format strings for [out] and [in, out] parameters.

	* tools/widl/parser.y:
	widl: Use the same precendence rule for the conditional operator as in wpp.
	Fixes several shift/reduce warnings.

	* tools/widl/typegen.c:
	widl: Better array support.
	Treat variables with array indices the same as pointers when writing
	out the proc & type format strings.
	Fix a typo when writing out the proc format string where a non-return
	type was written out for a return type and vice-versa.

	* tools/widl/typegen.c:
	widl: Support non-basic variables in proc format strings.

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Add helper functions that return the size of procformat and
	typeformat strings for variables.

	* dlls/oleaut32/typelib.c:
	oleaut: Small re-organisation of ITypeInfo::Invoke.
	Only output the one function in the trace for ITypeInfo::Invoke.
	Process the return value on output in ITypeInfo::Invoke, but only copy
	it to pVarResult if pVarResult is not NULL.

	* dlls/oleaut32/typelib.c:
	oleaut32: Convert some tabs to spaces and some other formatting changes.

	* dlls/oleaut32/typelib.c:
	oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames.
	Better tracing.

	* dlls/oleaut32/typelib.c:
	ole: Improve typelib traces.
	Move the debug channel check from dump_TLBFuncDesc[One] to its callers
	for more flexibility in which channel controls the output.

2005-12-26  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/msvcrt/tests/printf.c:
	msvcrt: More printf tests for I64 integer size support.

	* dlls/msvcrt/wcs.c:
	msvcrt: pf_integer_conv for I64.
	- Add pf_integer_conv and pf_is_integer_format.
	- Update pf_fill to handle printing the sign for signed integers.
	- Handle I64 integer sizes using pf_integer_conv and pf_output_format_A.

	* dlls/msvcrt/wcs.c:
	msvcrt: Do not treat %ll as an IntegerDouble in printf.

	* dlls/msvcrt/tests/printf.c, dlls/msvcrt/wcs.c:
	msvcrt: Parse I, I32, and I64 integer size flags in printf.

2005-12-26  Rolf Kalbermatter <rolf.kalbermatter@citeng.com>

	* dlls/urlmon/umon.c, dlls/urlmon/urlmon.spec:
	urlmon: Implement BindAsyncMoniker function.

2005-12-26  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/file.c, dlls/urlmon/tests/protocol.c:
	urlmon: URL with two slashes is valid.

2005-12-26  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/winecfg/No.rc:
	winecfg: Updated Norwegian Bokmål resources.

2005-12-26  Jacek Caban <jacek@codeweavers.com>

	* dlls/shlwapi/tests/path.c, dlls/shlwapi/url.c:
	shlwapi: Fix UrlCanonicalize.
	- Added support for URL_FILE_USE_PATHURL.
	- Fix handling of '/' and '\'.

2005-12-26  Rolf Kalbermatter <rolf.kalbermatter@citeng.com>

	* dlls/msrle32/msrle32.c:
	msrle32: Spelling fix.

2005-12-26  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/symbol.c, include/dbghelp.h:
	dbghelp: Internal search routines can now be case sensitive/insensitive.
	- Now handling option SYMOPT_CASE_INSENSITIVE for symbol search.
	- Quick implementation of SymSearch on top of SymEnumSymbols (should
	be the other way around).

2005-12-26  Maxime Bellengé <maxime.bellenge@wanadoo.fr>

	* dlls/msvcrt/main.c:
	msvcrt: Prevent a crash if TlsGetValue returns NULL in DLL_THREAD_DETACH.

2005-12-26  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/tests/propvariant.c:
	Fix detection of V1a prop variant library in test suite.

2005-12-26  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/keyboard.c:
	x11drv: Update Canadian keyboard layout to better match the X11 one

2005-12-26  James Hawkins <truiken@gmail.com>

	* dlls/shell32/tests/shlfileop.c:
	shell32: Clean up the SHFileOperation tests.
	- Make sure to create all the files used by the new tests.
	- Add a couple more SHFileOperation tests.
	- Fix some of the old tests.

2005-12-26  Robert Reif <reif@earthlink.net>

	* programs/winecfg/audio.c:
	winecfg: Use hourglass cursor when opening audio drivers.
	Misbehaving drivers can take a while to open so change to the hour
	glass cursor when opening them.

2005-12-26  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/atl/atl.spec, dlls/atl/atl_main.c:
	atl: Implement AtlComPtrAssign.
	According to MSDN AtlModuleInit should initialize the modules critical
	sections.

2005-12-22  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.4.

----------------------------------------------------------------
2005-12-22  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/tests/shlfolder.c:
	shell32: Added some test to document native ITEMIDLIST format.

2005-12-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/tests/msg.c:
	user/tests: Remove todo_wine from a few tests that (usually) succeed.

2005-12-22  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/mciavi32/mciavi.c, dlls/mciavi32/private_mciavi.h:
	mciavi32: Rewrite asynchronous MCI_PLAY command handling.
	Rewrite asynchronous MCI_PLAY command handling in MCIAVI driver, make
	it more responsive to commands in the MCI_MODE_PLAY state by checking
	hStopEvent even if the time frame between frames has expired.

2005-12-22  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/ole32/stg_stream.c, dlls/ole32/storage32.c, dlls/ole32/storage32.h,
	  include/winerror.h:
	ole32: Return error instead of asserting if storage file is corrupt.

2005-12-22  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/tests/msg.c:
	user32/tests: Add a PeekMessage test.

2005-12-22  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/tests/console.c:
	kernel/tests: Check that we successfully open the console.

2005-12-22  Alexandre Julliard <julliard@winehq.org>

	* server/console.c:
	server: Fixed console access rights handling.

2005-12-22  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/wgl.c, dlls/opengl32/wgl_ext.c, dlls/opengl32/wgl_ext.h:
	opengl: Fix last wgl regression.
	Fix wgl regression: test glx server version and extensions to use (and
	not use glXQueryDrawable on older glx implementations).

2005-12-22  James Hawkins <truiken@gmail.com>

	* dlls/shell32/tests/shlfileop.c:
	shell32: Add tests for SHFileOperation's FO_MOVE command.

	* dlls/shell32/tests/shlfileop.c:
	shell32: Add tests for SHFileOperation's FO_COPY command.

	* dlls/shell32/tests/shlfileop.c:
	shell32: Add tests for SHFileOperation's FO_RENAME command.

	* dlls/shell32/tests/shlfileop.c:
	shell32: Add tests for SHFileOperation's FO_DELETE command.

2005-12-22  Robert Reif <reif@earthlink.net>

	* programs/winecfg/En.rc, programs/winecfg/x11drvdlg.c:
	winecfg: Add unmanaged windows configuration.

2005-12-22  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/module.c:
	dbghelp: Correct handling for all module names.

2005-12-21  Bill Medland <billmedland@mercuryspeed.com>

	* dlls/msi/format.c, dlls/msi/tests/format.c:
	msi: Prevent array underflow in MsiFormat when measuring with zero-length buffer.

2005-12-21  James Hawkins <truiken@gmail.com>

	* dlls/shell32/tests/shlfileop.c:
	shell32: Remove the '.\\' prefix from filenames, because it hides a
	bug in SHFileOperation.

2005-12-21  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ddraw/surface_main.c, dlls/ddraw/tests/dsurface.c:
	ddraw: Fix DirectDrawSurface::QueryInterface crash.

2005-12-21  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/winspool.rc, include/wine/wine_common_ver.rc:
	winspool: Add version resource.

2005-12-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/time.c:
	msvcrt: Return a per-thread buffer in localtime and gmtime.

2005-12-21  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d9/tests/shader.c:
	d3d9: Add traces for when shader support is missing in the shader test.

2005-12-21  Hans Leidekker <hans@it.vu.nl>

	* dlls/kernel/process.c:
	kernel: Some documentation improvements.

2005-12-21  Marcus Meissner <marcus@jet.franken.de>

	* dlls/msvcrt/main.c, dlls/msvcrt/msvcrt.h, dlls/msvcrt/msvcrt.spec,
	  dlls/msvcrt/time.c:
	msvcrt: Implemented wctime(), wasctime().
	Free thread data in DLL_THREAD_DETACH.

2005-12-21  Robert Reif <reif@earthlink.net>

	* programs/winecfg/En.rc, programs/winecfg/audio.c,
	  programs/winecfg/resource.h:
	winecfg: Select an audio driver on fresh install.

2005-12-21  Saulius Krasuckas <saulius2@ar.fi.lt>

	* dlls/mscms/tests/profile.c:
	mscms: Test only one invalid GetStandardColorSpaceProfile() param in a
	single check.

2005-12-21  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvideo/mciwnd.c:
	msvideo: Handle ESC key press in the MCIWND class as an alias to stop command.

2005-12-21  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/msvcrt/tests/printf.c, dlls/msvcrt/wcs.c:
	msvcrt: Fix printf sign flags.
	Fix the printf sign flags so that '+' doesn't always override ' '
	space alone.  If they both appear, continue parsing and let '+' take
	precedence.

2005-12-21  Alexandre Julliard <julliard@winehq.org>

	* server/context_alpha.c, server/context_i386.c, server/context_powerpc.c,
	  server/context_sparc.c, server/context_x86_64.c:
	server: Set the context flags in get_thread_context to indicate which
	parts of the returned context are valid.

2005-12-21  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac, dlls/wldap32/misc.c, dlls/wldap32/parse.c,
	  include/config.h.in:
	wldap32: Added configure checks for some potentially missing functions.

2005-12-20  Bill Medland <billmedland@mercuryspeed.com>

	* dlls/msi/dialog.c:
	msi: Use a default dialog font if nothing is specified.

2005-12-20  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/tests/shlfolder.c:
	shell32/tests: Fixed a test failing on WinXP.

2005-12-20  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp.spec,
	  dlls/dbghelp/wdbgexts.h:
	dbghelp: Added a few extensions to make windbg happy.

2005-12-20  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/msvcrt/tests/printf.c, dlls/msvcrt/wcs.c:
	msvcrt: Ignore PadZero when LeftAlign is true in printf conversions.

2005-12-20  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/msacm/driver.c, dlls/msacm/tests/msacm.c:
	msacm: Preserve value of cbStruct in acmDriverDetails.
	Ensure that the cbStruct member of the ACMDRIVERDETAILS[AW] struct is
	filled with a valid value before returning.
	Fill the cbStruct member of the ACMDRIVERDETAILS[AW] before sending a
	ACMDM_DRIVER_DETAILS message to an installed codec that might be a
	native library: native ACM codecs expect cbStruct to be valid before
	filling the rest of the struct with any data.

2005-12-20  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/ntdll/exception.c:
	ntdll: Made DBG_EXCEPTION_HANDLED a synonym of DBG_CONTINUE for exception handlers.

2005-12-20  Paul Vriens <paul.vriens@xs4all.nl>

	* programs/winecfg/Nl.rc:
	winecfg: Dutch resources update.

2005-12-20  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c, include/wine/wined3d_interface.h:
	wined3d: Cleanup shader constants code a little bit.
	Improved bounds checking.

2005-12-19  Jesse Allen <the3dfxdude@gmail.com>

	* dlls/msvcrt/tests/printf.c, dlls/msvcrt/wcs.c:
	msvcrt: Require exact uppercase and lowercase format in printf routines.

2005-12-19  Bill Medland <billmedland@mercuryspeed.com>

	* programs/winemenubuilder/winemenubuilder.c, tools/wineshelllink:
	winemenubuilder: Provide depth to the menus created.

2005-12-19  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c:
	kernel32: Check for tabs too when extracting the program name
	(reported by Vitaliy Margolen).

2005-12-19  Hans Leidekker <hans@it.vu.nl>

	* tools/widl/client.c, tools/widl/proxy.c, tools/widl/server.c,
	  tools/widl/typegen.c:
	widl: Avoid lvalue casts in generated code.

2005-12-19  Kai Blin <kai.blin@gmail.com>

	* dlls/secur32/ntlm.c:
	secur32: Adding AcceptSecurityContext to the NTLM security provider.

2005-12-19  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	winspool: Filter additional failures.

2005-12-19  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winhelp/winhelp.c:
	winhelp: Handle '> ' on command lines.

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/dwarf.c,
	  dlls/dbghelp/msc.c, dlls/dbghelp/stabs.c, dlls/dbghelp/type.c:
	dbghelp: First stab at supporting calling convention in function signature.

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/symbol.c:
	dbghelp: Return proper size for local & parameters in SYMBOL_INFO.

2005-12-19  Jonathan Ernst <jonathan@ernstfamily.ch>

	* programs/winecfg/Fr.rc:
	winecfg: Updated French resources.

2005-12-19  Aric Stewart <aric@codeweavers.com>

	* dlls/user/Makefile.in, dlls/user/edit.c:
	user: Make the edit control IME aware and implement inline editing.
	Makes for a significantly better user experience for CJK users.

2005-12-19  Magnus Olsen <magnus@itkonsult-olsen.com>

	* dlls/msi/format.c:
	msi: Fixed deformat_environment to not cut off string.

2005-12-19  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/taskmgr/dbgchnl.c:
	taskmgr: Fix viewing of debug channels.
	Various internal cleanups.

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/symbol.c, include/dbghelp.h:
	dbghelp: Implemented SymMatchString.

2005-12-19  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/winproc.c:
	user: Fix LB_GETTEXT unmapping for A<->W.

2005-12-19  Thomas Weidenmueller <w3seek@reactos.com>

	* dlls/setupapi/misc.c:
	setupapi: Fix comparing the group SIDs in IsUserAdmin.

2005-12-19  Huw Davies <huw@codeweavers.com>

	* dlls/opengl32/wgl.c, dlls/x11drv/init.c, dlls/x11drv/opengl.c:
	opengl: Add support for rendering on bitmaps.

2005-12-19  Alexandre Julliard <julliard@winehq.org>

	* dlls/ole32/rpc.c:
	ole32: Revert exception handler change.
	The handler does the opposite of normal page fault handlers.

2005-12-19  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/win.c:
	user: Fix hrgn leaks in win.c test.

2005-12-19  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/comctl32/tests/.gitignore, dlls/comctl32/tests/Makefile.in,
	  dlls/comctl32/tests/tooltips.c, dlls/comctl32/tooltips.c:
	comctl32: Add a test for the initial tooltip window style settings,
	make it pass under Wine.

2005-12-19  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/winecfg/De.rc:
	winecfg: Update German resource.

2005-12-19  Rein Klazes <wijn@wanadoo.nl>

	* programs/wcmd/batch.c:
	wcmd: Increase maximum length of commands.
	Increase maximum length of commands to 8192 bytes as on Windows XP.
	Add needed braces to a multi line "if" statement.

2005-12-19  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec:
	dbghelp: New stubs (needed for windbg startup).

	* dlls/dbghelp/elf_module.c:
	dbghelp: Fixed loading .so modules from a living target.

	* dlls/dbghelp/stack.c:
	dbghelp: Fixed missing parameters info in StackWalk64.

2005-12-19  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/d3d9/tests/stateblock.c:
	d3d9: Don't crash on NULL device_ptr.

2005-12-19  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/signal_i386.c, tools/winebuild/relay.c:
	ntdll: Make __wine_call_from_32_restore_regs take a context pointer.
	Changed exception raise functions to call it explicitly.

2005-12-19  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/file.c, dlls/urlmon/tests/protocol.c:
	urlmon: Added handling of BINDF_FROMURLMON in file protocol.

	* dlls/mshtml/tests/protocol.c, include/urlmon.idl:
	Fix typo in urlmon.idl.

2005-12-19  Lauri Tulmin <tulmin@gmail.com>

	* dlls/user/edit.c, dlls/user/tests/edit.c:
	user32: Don't truncate text when creating edit control.

2005-12-19  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/win.c, dlls/x11drv/scroll.c:
	x11drv: Do not use the scroll rectangle for clipping in ScrollDC.
	With a conformance test.

2005-12-19  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/file.c, dlls/urlmon/tests/protocol.c:
	urlmon: Added some tests and fixes of file protocol.

2005-12-19  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/winecfg/No.rc:
	winecfg: Updated Norwegian Bokmaal resources.

2005-12-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/relay.c,
	  tools/winebuild/build.h, tools/winebuild/import.c,
	  tools/winebuild/spec32.c, tools/winebuild/utils.c:
	ntdll: New implementation of relay thunks.
	New implementation of relay thunks that doesn't require modifying code
	on the fly, so that the thunks can be put in the text section.
	Some performance improvements.

2005-12-17  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c:
	ntdll: Don't use a real guard page at the bottom of the stack.
	A no-access page is enough, we can't properly raise an overflow
	exception anyway.

2005-12-17  Robert Reif <reif@earthlink.net>

	* programs/winecfg/.gitignore, programs/winecfg/Bg.rc,
	  programs/winecfg/De.rc, programs/winecfg/En.rc,
	  programs/winecfg/Es.rc, programs/winecfg/Fi.rc,
	  programs/winecfg/Fr.rc, programs/winecfg/Ja.rc,
	  programs/winecfg/Ko.rc, programs/winecfg/Makefile.in,
	  programs/winecfg/Nl.rc, programs/winecfg/No.rc,
	  programs/winecfg/Ru.rc, programs/winecfg/audio.c,
	  programs/winecfg/main.c, programs/winecfg/resource.h,
	  programs/winecfg/winecfg.c, programs/winecfg/winecfg.h,
	  programs/winecfg/winecfg.rc:
	winecfg: Use sound tree view for driver selection.
	- Move driver selection and configuration into tree view.
	- Only show loadable drivers.

	* dlls/winmm/wineoss/midi.c:
	wineoss: Shorten MIDI names.
	Shorten MIDI names to fit into 32 byte array without overflow.

2005-12-17  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/tests/cert.c:
	crypt32: Implement more implicit properties, with tests.

2005-12-17  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/imagehlp/imagehlp.spec:
	imagehlp: Forward StackWalk64 to dbghelp.StackWalk64.

2005-12-17  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/tests/win.c, dlls/x11drv/scroll.c:
	x11drv: ScrollDC should not clip output if a clipping rect is not specified.
	Add a ScrollDC test with NULL clipping rect.
	Add another set of ScrollDC tests written by Rein Klazes.

2005-12-16  Huw Davies <huw@codeweavers.com>

	* dlls/x11drv/opengl.c:
	x11drv: Get the visual for the GLXPixmap from the current pixel format.

2005-12-16  Alexandre Julliard <julliard@winehq.org>

	* dlls/crypt32/cert.c, dlls/crypt32/encode.c, dlls/dbghelp/msc.c,
	  dlls/ddraw/main.c, dlls/kernel/atom.c, dlls/kernel/computername.c,
	  dlls/kernel/file.c, dlls/kernel/heap.c, dlls/kernel/ne_module.c,
	  dlls/kernel/resource.c, dlls/kernel/string.c, dlls/kernel/virtual.c,
	  dlls/msvcrt/cpp.c, dlls/ntdll/debugtools.c, dlls/ntdll/loader.c,
	  dlls/ntdll/relay.c, dlls/ntdll/resource.c, dlls/ntdll/sec.c,
	  dlls/ole32/rpc.c, dlls/user/cursoricon.c, dlls/user/lstr.c,
	  dlls/winmm/driver.c, dlls/winmm/lolvldrv.c:
	Take advantage of the __EXCEPT_PAGE_FAULT macro.

	* dlls/ntdll/exception.c, include/wine/exception.h:
	Exception handling: Added a magic __EXCEPT_PAGE_FAULT macro to make it
	easier to handle the common case of trapping page faults.

	* dlls/kernel/heap.c, dlls/kernel/ne_module.c, dlls/kernel/resource.c,
	  dlls/ntdll/resource.c, dlls/ole32/rpc.c, dlls/user/lstr.c:
	We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults.

	* dlls/ntdll/signal_i386.c, dlls/ntdll/tests/.gitignore,
	  dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/exception.c:
	ntdll: More compatible exception information for protection faults.
	Added a bunch of test cases.

2005-12-16  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/vertexdeclaration.c:
	wined3d: Vertex declaration cleanup.
	Clean up constants and the wine declaration when the vertex
	declaration is destroyed.

	* dlls/wined3d/device.c:
	wined3d: Allow NULL multi sample quality.
	Allow MultiSampleQuality to be passed as NULL, this is a
	requirement for DirectX 8 and lower.

2005-12-16  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/kernel32.spec, dlls/msvcrt/msvcrt.spec,
	  dlls/ntdll/ntdll.spec:
	Add -register hint in ntdll, kernel and msvcrt spec files.

	* tools/winebuild/parser.c, tools/winebuild/winebuild.man.in:
	winebuild: Allow -register flag for Win32 too.
	This way it can be used as hint for the relay code.

2005-12-16  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/encode.c, dlls/crypt32/tests/encode.c:
	crypt32: Implement CRLDistPoints encoding/decoding.
	- rewrite sequence decoding to support context-specific tags, and
	eliminate duplicated code
	- implement encoding and decoding of CRLDistPoints

2005-12-16  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/shell32/shellpath.c, include/shlobj.h:
	shell32: Fix return value of PathProcessCommand.

2005-12-16  Jacek Caban <jacek@codeweavers.com>

	* dlls/urlmon/binding.c, dlls/urlmon/tests/url.c:
	urlmon: Fix BindToStorage test.

	* include/mshtmdid.h, include/mshtml.idl:
	Added some declarations to mshtml.idl.

	* tools/widl/parser.l, tools/widl/parser.y, tools/widl/widltypes.h:
	widl: Added bindable and displaybind attributes handling.

2005-12-16  Milko Krachounov <milko@3mhz.net>

	* programs/winecfg/Bg.rc:
	winecfg: Update Bulgarian resource.

2005-12-16  José Manuel Ferrer Ortiz <jmfo1982@yahoo.es>

	* programs/uninstaller/Es.rc:
	uninstaller: Spanish translations update.

	* programs/winecfg/Es.rc, programs/winecfg/winecfg.rc:
	winecfg: Spanish translations update.

2005-12-16  Ragnvald "Despair" Maartmann-Moe IV <despair@adelphia.net>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	wined3d: Fix matrix copy/paste bug.

2005-12-16  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	wined3d: Vertex declaration recording state.
	Stop SetVertexDeclaration from reference counting if a stateblock is
	being recorded.

2005-12-16  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	user32: Implement saving and fix reading of nonclient metrics.
	With conformance tests.

2005-12-16  Tomas Carnecky <tom@dbservice.com>

	* dlls/x11drv/opengl.c:
	x11drv: Allow users to preload an OpenGL library.

2005-12-16  Ivan Leo Puoti <ivanleo@gmail.com>

	* include/ddk/wdm.h:
	Add some structs/prototypes to wdm.h.

2005-12-15  James Hawkins <truiken@gmail.com>

	* dlls/setupapi/setupapi.spec, dlls/setupapi/stubs.c, include/setupapi.h:
	setupapi: Added stubs for SetupGetInfInformation and
	SetupQueryInfFileInformation.

2005-12-15  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/ntdll.spec, dlls/ntdll/rtl.c:
	ntdll: Reimplemented _chkstk and _alloca_probe directly in assembly.

2005-12-15  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl:
	mshtml: Fix handling Gecko strings.

	* dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl:
	mshtml: Set Gecko's profile.
	Make sure that Gecko components are registered.

2005-12-15  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c, dlls/wined3d/stateblock.c:
	wined3d: Internal reference counting.
	Change most references to resources parent into references to the
	resource, so that external reference counts match DirectX but object
	aren't released if they are still referenced by the stateblock.

2005-12-15  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/mscms/tests/profile.c:
	mscms: Add another possible error.

	* dlls/d3d9/tests/vertexdeclaration.c:
	d3d9: Don't treat missing d3d9.dll as a failure.

2005-12-15  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/iccvid.c:
	iccvid: Add support for ICM_DECOMPRESS_END message.

2005-12-14  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	user: Read/save minimized metrics from/to registry.

2005-12-14  Alexandre Julliard <julliard@winehq.org>

	* loader/preloader.c:
	preloader: Reserve some space for the shared user data.

	* dlls/ntdll/virtual.c:
	ntdll: Fixes in virtual memory protection flags.
	Tweak reporting of virtual protection flags and address space limit to
	yield results closer to what Windows does.

2005-12-14  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d9/tests/.gitignore, dlls/d3d9/tests/Makefile.in,
	  dlls/d3d9/tests/vertexdeclaration.c:
	d3d9: Add a test for Get/SetVertexDeclaration refcounts.

	* dlls/wined3d/vertexdeclaration.c:
	wined3d: Return the correct parent in IWineD3DVertexDeclarationImpl_GetParent.

	* dlls/d3d9/vertexshader.c:
	d3d9: Check for a NULL shader in IDirect3DDevice9Impl_GetVertexShader
	before getting the parent.

2005-12-14  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/sync.c, dlls/kernel/tests/pipe.c, dlls/ntdll/file.c,
	  include/wine/server_protocol.h, include/winioctl.h,
	  server/named_pipe.c, server/protocol.def, server/trace.c:
	ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
	Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
	Modify WaitNamedPipeW to use NtFsControlFile.
	Replace struct overlapped with event.

2005-12-14  Mike McCormack <mike@codeweavers.com>

	* programs/winecfg/Ko.rc:
	winecfg: Update Korean translation.

2005-12-14  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/d3d9/tests/shader.c, dlls/d3d9/tests/stateblock.c:
	d3d9: Don't treat missing d3d9.dll as a failure.

2005-12-14  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c:
	wined3d: Return the correct vertex declaration.
	In IWineD3DDeviceImpl_GetVertexDeclaration, return the vertex
	declaration in This->stateblock instead of the one in
	This->updateStateBlock.

2005-12-14  Ulrich Czekalla <ulrich.czekalla@utoronto.ca>

	* dlls/riched20/editor.c:
	riched20: Reset selection when text is reset.

2005-12-14  Aric Stewart <aric@codeweavers.com>

	* dlls/user/clipboard.c:
	user: GetClipboardFormatNameA fix.
	In the W->A translation make sure we have characters to translate
	before doing the WideCharToMultiByte with -1.

2005-12-13  Saulius Krasuckas <saulius2@ar.fi.lt>

	* dlls/mscms/tests/profile.c:
	mscms: Move repetitive code to helper macros.

2005-12-13  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/scroll.c:
	x11drv: ScrollDC fix.
	There is no need to offset the source rectangle in the reverse
	direction before scrolling.

2005-12-13  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.c, dlls/wininet/internet.h,
	  dlls/wininet/tests/http.c:
	wininet: HTTP headers reworking.
	Redo how headers are handled, eliminating the concept of Standard
	Headers and allow all headers to be added multiple times.
	Allow querying of headers with an index to get the multiple headers.
	Respect response vs request headers in HttpQueryInfo.
	Add a number of tests to extensively test header adding and replacing.

2005-12-13  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/bitmap.c:
	gdi: Added support for doing GetBitmapBits on a DIB section.
	Simply copy the DIB bits in that case.

	* dlls/x11drv/dib.c:
	x11drv: Clipping fix with DIB section copy.
	Use the GC of the destination device in X11DRV_DIB_CopyDIBSection so
	that the clipping region is taken into account.

2005-12-13  H. Verbeet <hverbeet@gmail.com>

	* dlls/d3d9/tests/.gitignore, dlls/d3d9/tests/Makefile.in,
	  dlls/d3d9/tests/shader.c:
	d3d9: Add a test for Get/SetVertexShader and Get/SetPixelShader refcounts.

2005-12-13  Alexandre Julliard <julliard@winehq.org>

	* server/mailslot.c, server/named_pipe.c:
	server: Added get_file_info implementation for named pipe and mailslot devices.

	* server/mailslot.c, server/named_pipe.c:
	server: Fixed refcounting in get_fd requests for named pipe and mailslot devices.

2005-12-13  Robert Shearman <rob@codeweavers.com>

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c,
	  tools/widl/typegen.h:
	widl: Start generating type format strings.
	Based on a patch by Eric Kohl.

2005-12-13  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/server.c:
	widl: Server stubs in generated code are void functions.

2005-12-13  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winecfg/audio.c:
	winecfg: Simplified module handling code.

2005-12-13  Marcus Meissner <marcus@jet.franken.de>

	* dlls/wininet/http.c:
	wininet: Reinitialise NETCON on redirect.

2005-12-13  Juan Lang <juan_lang@yahoo.com>

	* dlls/iphlpapi/ifenum.c:
	iphlpapi: Fix a couple of file descriptor leaks.

2005-12-13  Eric Pouech <eric.pouech@wanadoo.fr>

	* tools/winedump/le.c, tools/winedump/ne.c:
	winedump: Const correctness fixes.

2005-12-13  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/encode.c, dlls/crypt32/tests/encode.c:
	crypt32: Decode cleanups.
	- implement a helper to decode sequences of like types
	- use helper functions wherever applicable when decoding
	- correct "expected" vs. "got" usage in tests
	- fix a few other small bugs

2005-12-13  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c:
	wined3d: Don't change the shader's refcount in SetVertexShader and
	SetPixelShader.

2005-12-13  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/cubetexture.c:
	wined3d: Cube texture named constants.
	Update cubetexture so that names constants instead of numeric
	constants are used for the facetype and also add some additional
	checks where facetype is passed as a parameter to the function.

2005-12-12  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/shell32/tests/shlfolder.c:
	shell32/tests/shlfolder.c: ILFindLastID has to be called by ordinal.

	* dlls/mscms/tests/profile.c:
	mscms: Add another possible error.

2005-12-12  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/process.c, dlls/ntdll/signal_i386.c, dlls/ntdll/thread.c,
	  dlls/ntdll/virtual.c:
	TEB.StackLimit should not include the guard page.

	* dlls/kernel/kernel_private.h, dlls/kernel/process.c,
	  dlls/kernel/thread.c:
	kernel: Moved main stack initialization to process.c.

	* server/fd.c:
	server: Don't enable polling on regular files in add_queue.

	* dlls/kernel/comm.c, dlls/kernel/sync.c, dlls/ntdll/directory.c,
	  dlls/ntdll/file.c, dlls/ntdll/server.c, dlls/ntdll/virtual.c,
	  dlls/winedos/int13.c, dlls/winsock/socket.c:
	Pass specific access rights to wine_server_handle_to_fd.

	* dlls/kernel/tests/sync.c, dlls/ntdll/server.c, server/directory.c,
	  server/fd.c, server/file.c, server/file.h, server/mailslot.c,
	  server/mapping.c, server/named_pipe.c, server/object.c,
	  server/process.c, server/registry.c, server/serial.c, server/sock.c:
	server: Added access rights mapping to file objects.

	* server/process.c, server/thread.c:
	server: Added access rights mapping to process and thread objects.

	* server/registry.c:
	server: Added access rights mapping to registry key objects.

	* server/symlink.c:
	server: Added access rights mapping to symlink objects.

	* server/token.c:
	server: Added access rights mapping to token objects.

	* server/event.c, server/mutex.c, server/semaphore.c, server/timer.c:
	server: Added access rights mapping to synchronization objects.

	* server/atom.c, server/change.c, server/clipboard.c, server/console.c,
	  server/debugger.c, server/directory.c, server/event.c, server/fd.c,
	  server/file.c, server/handle.c, server/hook.c, server/mailslot.c,
	  server/mapping.c, server/mutex.c, server/named_pipe.c,
	  server/object.c, server/object.h, server/process.c, server/queue.c,
	  server/registry.c, server/request.c, server/semaphore.c,
	  server/serial.c, server/signal.c, server/snapshot.c, server/sock.c,
	  server/symlink.c, server/thread.c, server/timer.c, server/token.c,
	  server/winstation.c:
	server: Added infrastructure for access rights mapping.

	* server/mailslot.c:
	server: Allow the mailslot device to be opened as a file object.

	* server/named_pipe.c:
	server: Allow the named pipe device to be opened as a file object.

	* dlls/kernel/file.c, dlls/ntdll/directory.c, dlls/ntdll/file.c,
	  include/wine/server_protocol.h, server/fd.c, server/file.h,
	  server/protocol.def, server/request.h, server/trace.c:
	server: Support for opening devices.
	Added support for opening devices directly with the server when they
	don't correspond to a Unix file.

	* server/mapping.c, server/trace.c:
	server: Use a better error code for a zero-size mapped file.

2005-12-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/dosmem.c, dlls/kernel/kernel32.spec,
	  dlls/kernel/kernel_private.h, dlls/winedos/int31.c:
	kernel32: Get rid of DOSMEM_AllocSelector.

2005-12-12  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/Makefile.in, dlls/winspool/tests/info.c:
	winspool: Added tests for OpenPrinter.

2005-12-12  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shlview.c:
	shell32: Fix drag-scrolling in the shellview object.

	* dlls/ole32/ole2.c:
	ole32: Periodically call IDropTarger::DragOver during Drag&Drop.

2005-12-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/msvcrt/msvcrt.h, dlls/ntdll/relay.c, dlls/ole32/ole16.c:
	Functions with no paramters must be (void).

2005-12-12  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Generate FC_ERROR_STATUS_T proc format.
	- Include the header file for the functions implemented in typegen.c.
	- Generate proc format for FC_ERROR_STATUS_T type.

	* tools/widl/client.c, tools/widl/header.c, tools/widl/header.h,
	  tools/widl/server.c:
	widl: Support explicit binding handles.

	* tools/widl/server.c:
	widl: Zero initialize parameters in the generated server code.
	Zero initialize parameters in the generated code. Based on a patch by
	Eric Kohl.

	* tools/widl/client.c:
	widl: Calculate the size of buffer required.
	- Calculate the size of buffer required.
	- Fix a typo.
	- Set the buffer start and buffer end markers.

	* tools/widl/server.c:
	widl: Don't cast buffer pointers to long in generated server code.

2005-12-12  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/server.c:
	widl: Support multiple interfaces per file.

2005-12-12  Robert Shearman <rob@codeweavers.com>

	* tools/widl/header.c, tools/widl/parser.y, tools/widl/typegen.c:
	widl: Don't treat FC_SMALL as FC_SHORT.
	FC_SMALL is its own type and is the same size as FC_CHAR, not
	FC_SHORT.

	* tools/widl/header.c:
	widl: Use WCHAR instead of wchar_t.
	Output IDL wchar_t types as WCHAR to avoid conflicts with the
	generally incompatible Unix wchar_t.

2005-12-12  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Added documentation for OpenPrinter.

2005-12-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/commdlg/finddlg32.c, dlls/ole32/ole16.c, dlls/user/cursoricon.c:
	Const correctness fixes.

2005-12-12  Marcus Meissner <marcus@jet.franken.de>

	* include/ws2tcpip.h:
	winsock: getaddrinfo return codes
	Adjust return code EAI_NODATA to WSAHOST_NOT_FOUND, like windows does
	it.

	* dlls/winsock/socket.c:
	winsock: getaddrinfo - return code mapping.
	convert_eai_u2w should map from unix to windows, not the other way
	round (spotted by Dominic Wise).

2005-12-12  Paul Vriens <Paul.Vriens@xs4all.nl>

	* include/urlmon.idl:
	urlmon.idl: Add some BINDSTATUS values.

2005-12-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/comctl32/treeview.c:
	comctl32: Fixed (harmless) typo.

	* dlls/commdlg/fontdlg.c, dlls/winaspi/aspi.c:
	Removed some dead-code.

	* dlls/ddraw/tests/ddrawmodes.c, dlls/setupapi/queue.c:
	Made some functions static.

	* dlls/iccvid/iccvid.c, dlls/msvidc32/msvideo1.c:
	vidc: Return error codes when a message isn't supported.

2005-12-12  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/safearray.c, dlls/oleaut32/tests/safearray.c:
	OLE: Fix SafeArrayCopy for NULL pvData.
	It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
	cbElements is non-zero. Add a test for this and fix the safe array
	code.

	* dlls/ole32/errorinfo.c:
	CreateErrorInfo trace fix.
	CreateErrorInfo isn't a stub so don't print this in the trace
	message.

	* dlls/oleaut32/typelib.c:
	OLE: Add const to several typelib functions.
	Add const attributes to parameters for several functions and fix up
	some formatting.

	* dlls/oleaut32/oleaut.c:
	OleTranslateColor trace fix.
	OleTranslateColor isn't a stub so don't print ":stub" in the trace
	message.

2005-12-12  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/Makefile.in, dlls/mshtml/htmldoc.c, dlls/mshtml/htmldoc3.c,
	  dlls/mshtml/mshtml_private.h:
	mshtml: Added IHTMLDocument3 stub implementation.

2005-12-12  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	winetest: Add d3d9 tests.

2005-12-12  Robert Shearman <rob@codeweavers.com>

	* tools/widl/client.c, tools/widl/server.c, tools/widl/typegen.c:
	widl: Don't output __RPC_FAR in generated code.

2005-12-12  Paul Vriens <Paul.Vriens@xs4all.nl>

	* programs/winecfg/Nl.rc:
	winecfg: Update Dutch resources for the Audio tab.

2005-12-12  Jacek Caban <jacek@codeweavers.com>

	* include/mshtmdid.h, include/mshtml.idl:
	Added declaration of IHTMLDocument3 and more DISPIDs.

2005-12-12  Filip Navara <xnavara@volny.cz>

	* dlls/kernel/module.c:
	kernel: Fix the Mach-O binary magic.

2005-12-12  Markus Amsler <markus.amsler@oribi.org>

	* dlls/winedos/dosmem.c:
	winedos: Implement MCB.

2005-12-12  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/urlmon/umstream.c:
	urlmon: Correctly fix IStream::Read.
	Don't dereference a possible NULL pointer.

2005-12-09  H. Verbeet <hverbeet@gmail.com>

	* configure, configure.ac, dlls/d3d9/Makefile.in,
	  dlls/d3d9/tests/.gitignore, dlls/d3d9/tests/Makefile.in,
	  dlls/d3d9/tests/stateblock.c:
	d3d9: Add a test for BeginStateBlock and EndStateBlock.

2005-12-09  Markus Amsler <markus.amsler@oribi.org>

	* include/mmsystem.h:
	Remove unneeded ; from DECL_WINELIB_TYPE_AW in mmsystem.h.

2005-12-09  Kai Blin <blin@gmx.net>

	* dlls/secur32/ntlm.c:
	secur32: Fix conversion of password in NTLM AcquireCredentialsHandleA.

2005-12-09  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/change.c, dlls/ntdll/reg.c, include/wine/server_protocol.h,
	  server/change.c, server/protocol.def, server/registry.c,
	  server/trace.c:
	server: Added object attributes to a few more requests.

	* server/atom.c, server/console.c, server/debugger.c, server/directory.c,
	  server/event.c, server/file.c, server/handle.c, server/handle.h,
	  server/mailslot.c, server/mapping.c, server/mutex.c,
	  server/named_pipe.c, server/process.c, server/semaphore.c,
	  server/snapshot.c, server/sock.c, server/symlink.c, server/thread.c,
	  server/timer.c, server/token.c, server/winstation.c:
	server: Make alloc_handle use attributes instead of inherit flag.

	* dlls/kernel/console.c, dlls/ntdll/server.c, dlls/ntdll/thread.c,
	  dlls/x11drv/x11drv_main.c, include/wine/server.h,
	  programs/wineconsole/curses.c:
	Make wine_server_fd_to_handle use attributes instead of inherit flag.

	* programs/wineconsole/wineconsole.c:
	wineconsole: Remove some unnecessary typecasts.

	* dlls/ntdll/om.c, include/wine/server_protocol.h, server/handle.c,
	  server/protocol.def, server/trace.c:
	server: Use attributes instead of inherit flag in dup_handle request.

	* dlls/ntdll/nt.c, include/wine/server_protocol.h, server/protocol.def,
	  server/token.c, server/trace.c:
	server: Use attributes instead of inherit flag in token requests.
	Also use the specified access rights in the open_token request.

	* dlls/kernel/process.c, dlls/ntdll/process.c, dlls/ntdll/thread.c,
	  include/wine/server_protocol.h, server/process.c,
	  server/protocol.def, server/thread.c, server/trace.c:
	server: Use attributes instead of inherit flag in process and thread requests.

	* dlls/kernel/toolhelp.c, dlls/ntdll/nt.c, include/wine/server_protocol.h,
	  server/protocol.def, server/snapshot.c, server/trace.c:
	server: Use attributes instead of inherit flag in snapshot requests.

	* dlls/kernel/console.c, include/wine/server_protocol.h,
	  programs/wineconsole/wineconsole.c, server/console.c,
	  server/protocol.def, server/trace.c:
	server: Use attributes instead of inherit flag in console requests.

	* dlls/ntdll/file.c, dlls/ntdll/server.c, include/wine/server_protocol.h,
	  server/file.c, server/protocol.def, server/trace.c:
	server: Use attributes instead of inherit flag in file requests.

	* dlls/winsock/socket.c, include/wine/server_protocol.h,
	  server/protocol.def, server/sock.c, server/trace.c:
	server: Use attributes instead of inherit flag in socket requests.

2005-12-09  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/mpr/mpr_main.c, dlls/shlwapi/regstream.c, dlls/user/mouse16.c:
	Add some missing includes which contain used prototypes.

2005-12-09  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/Makefile.in, dlls/mshtml/mshtml_private.h,
	  dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl,
	  dlls/mshtml/nsservice.c:
	mshtml: Added PromptService implementation.

	* dlls/mshtml/nsembed.c:
	mshtml: Added nsIURIContentListener to QueryInterface.
	Always release nsIWebBrowserSetup.

	* dlls/mshtml/mshtml_private.h, dlls/mshtml/nsembed.c,
	  dlls/mshtml/nsiface.idl:
	mshtml: Added nsIEmbeddingSiteWindow implementation.

2005-12-09  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/d3d9/vertexshader.c, dlls/wined3d/device.c,
	  dlls/wined3d/drawprim.c, dlls/wined3d/vertexdeclaration.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_private.h,
	  include/wine/wined3d_interface.h, include/wine/wined3d_types.h:
	wined3d: Vertex shader 8 support.
	Start to add support for DirectX 8 vertex shaders, constants and
	registers are now correctly assigned and loaded allowing support for
	most basic d3d8 shaders.

2005-12-09  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/urlmon/umstream.c:
	urlmon: Fix call to ReadFile.
	The BytesRead parameter passed to ReadFile may never be NULL.

2005-12-09  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win16.api, tools/winapi/win32.api:
	Update win16.api and win32.api.

	* tools/sfnt2fnt.c:
	sfnt2fnt: Don't print two newlines after error messages.

	* tools/widl/header.c:
	widl: Issue correct C++ headers.

2005-12-09  Thomas Weidenmueller <w3seek@reactos.com>

	* dlls/quartz/filesource.c, dlls/quartz/filtermapper.c:
	quartz: Fix incorrect usages of the HRESULT_FROM_WIN32 macro.

2005-12-09  Alexander N. Sørnes <alex@thehandofagony.com>

	* programs/winecfg/No.rc:
	winecfg: Updated Norwegian Bokmaal resources.

2005-12-08  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.3.

----------------------------------------------------------------
2005-12-08  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/dib.c:
	gdi: Fix 24bpp -> 32bpp copy.

2005-12-08  Rein Klazes <wijn@wanadoo.nl>

	* dlls/advapi32/registry.c, dlls/advapi32/tests/registry.c:
	advapi32: RegCreateKeyEx fix.
	On Win9x,ME RegCreateKeyEx ignores the backslash character if the
	subkey begins with one. With a regression test.

2005-12-08  Robert Shearman <rob@codeweavers.com>

	* tools/widl/parser.y:
	widl: Formatting cleanups.

2005-12-08  Robert Shearman <rob@codeweavers.com>

	* tools/widl/typegen.c:
	widl: Marshal and unmarshal basic types.

2005-12-08  Robert Shearman <rob@codeweavers.com>

	* tools/widl/Makefile.in, tools/widl/client.c, tools/widl/server.c,
	  tools/widl/typegen.c, tools/widl/typegen.h:
	widl: Add a type generator framework.
	Add a framework for writing the strings for marshaling and
	unmarshaling parameters and make the client and server use it.

2005-12-08  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/server.c:
	widl: Write out argument lists in the server.
	- Add framework for updating proc offsets.
	- Write out argument lists in the server.

2005-12-08  Eric Kohl <eric.kohl@t-online.de>

	* tools/widl/client.c, tools/widl/server.c:
	widl: Rename some variables.

2005-12-08  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/winecfg/De.rc:
	winecfg: Update German resource.

2005-12-08  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/wgl.c, dlls/opengl32/wgl_ext.c:
	opengl: render_texture
	- better render_texture emulation (using pbuffers)
	- support GLX_ATI_render_texture for render_texture

2005-12-08  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c:
	wininet: Handle HTTP_QUERY_CUSTOM.
	In HttpQueryInfo if dwInfoLevel includes HTTP_QUERY_CUSTOM then
	lpBuffer is In/Out because the header we are querying is there.
	Additionally standard headers can be queried in this manner as well
	(such as Set-Cookie).

2005-12-08  Robert Reif <reif@earthlink.net>

	* dlls/winmm/wineoss/audio.c, dlls/winmm/wineoss/midi.c,
	  dlls/winmm/wineoss/mixer.c, dlls/winmm/wineoss/mmaux.c,
	  dlls/winmm/wineoss/oss.c, dlls/winmm/wineoss/oss.h:
	wineoss: Fix device probing.
	- Fix device probing at driver load time.
	- Fix memory leaks at driver exit time.

2005-12-08  Raphael Junqueira <fenix@club-internet.fr>

	* include/Makefile.in, include/dpaddr.h, include/dplay8.h,
	  include/dplobby8.h:
	dplay: dx8/dx9 support (missing includes).
	- add directx9 support for dplay8.h and dpaddr.h
	- new file dplobby8.h

2005-12-08  Robert Shearman <rob@codeweavers.com>

	* dlls/commdlg/printdlg.c:
	comdlg32: Don't worry if an HGLOBAL passed to printdlg is already locked.

2005-12-08  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/winealsa/audio.c:
	winealsa: Fixed returned string in capabilities.

2005-12-08  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/winenas/audio.c:
	winenas: fix crash.
	- return correct MM error code when no connection to server has been
	opened
	- don't close the AU driver if it hasn't been opened

2005-12-08  H. Verbeet <hverbeet@gmail.com>

	* include/d3d8.h, include/d3d9.h:
	d3d8/d3d9: Define D3D_SDK_VERSION.

2005-12-08  Robert Shearman <rob@codeweavers.com>

	* programs/notepad/dialog.c, programs/notepad/main.c,
	  programs/notepad/main.h:
	notepad: Remember options selected in the print setup dialog.

2005-12-08  Mike McCormack <mike@codeweavers.com>

	* programs/winecfg/audio.c:
	winecfg: Fix compilation on gcc 2.95 (no nameless unions).

2005-12-08  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c:
	wininet: A->W bugfix.
	When converting SendRequestExA -> W we need to set the lpcszHeader
	parameter to NULL if the original one is NULL.

2005-12-08  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/reg.c, include/winternl.h:
	ntdll: Check for failure to get the user path in RtlOpenCurrentUser.
	Fixed the return value type.

2005-12-07  Jacek Caban <jacek@codeweavers.com>

	* dlls/mshtml/nsembed.c:
	mshtml: Added config key to specify Gecko path.

2005-12-07  Robert Reif <reif@earthlink.net>

	* programs/winecfg/audio.c:
	winecfg: Added support for auto detecting all drivers by attempting to
	open them.

2005-12-07  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/dpnhpast/main.c, dlls/mapi32/imalloc.c, dlls/msisys/msisys.c,
	  dlls/netapi32/browsr.c, dlls/rsaenh/rsaenh.c,
	  dlls/wintrust/wintrust_main.c:
	Add a few missing #includes.

2005-12-07  Kai Blin <blin@gmx.net>

	* dlls/secur32/ntlm.c:
	secur32: Implement InitializeSecurityContext(A|W) for the NTLM
	security provider.

2005-12-07  Robert Reif <reif@earthlink.net>

	* programs/winecfg/En.rc, programs/winecfg/audio.c,
	  programs/winecfg/resource.h:
	winecfg: Show all sound card drivers and their devices.

2005-12-07  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/fnt2fon.c, tools/sfnt2fnt.c:
	Add an error() function to fnt2fon and sfnt2fnt.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: Implement undocumented behaviour in DispCallFunc.
	Fix DispCallFunc to work with MSDN-undocumented behaviour used by
	Office 2003 and document the function.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: Implement ITypeInfo_AddressOfMember.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tmarshal.c, dlls/oleaut32/typelib.c,
	  dlls/oleaut32/typelib.h:
	OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
	Fix more fallout from dispinterface retval patch: make typelib
	marshaler use the internal function description so that it calls
	dispinterface functions with the correct number of parameters again.
	Also fixes some memory leaks caused by the fact that a corresponding
	ReleaseXDesc function has to be called for each GetXDesc.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tests/typelib.c:
	OLE: Add tests for the typelib version of ITypeComp_Bind.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c, include/oleauto.h:
	OLE: Update the type of the oVft parameter for DispCallFunc.

2005-12-06  Kai Blin <blin@gmx.net>

	* dlls/secur32/Makefile.in, dlls/secur32/ntlm.c:
	secur32: Implementing AcquireCredentialsHandle(A|W) for the NTLM
	security provider.

2005-12-06  Detlef Riekenberg <wine.dev@web.de>

	* tools/c2man.pl:
	c2man: Remove HTML warnings.

2005-12-06  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winejack/audio.c, dlls/winmm/winejack/jack.c:
	winejack: Fix driver load and initialization.
	Move wave in/out initialization from wave out to driver.
	Add index number to device names.
	Fix memset bug where only first wave in caps was zeroed.

2005-12-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/mciwave/mciwave.c:
	mciwave: save/record.
	- fix for playback after a sound has been recorded
	- shall fix also opening the mci device without name
	- bug reported (and fix tested) by Peter Astrand

2005-12-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/stack.c:
	dbghelp: Final touch on StackWalk64 so that it works.

2005-12-06  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Document the monitor functions.

2005-12-06  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win16.api, tools/winapi/win32.api:
	Sort entries in win16.api and win32.api

2005-12-06  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/x11drv/opengl.c:
	x11drv: Add more useful traces on SetPixelFormat (and no more FIXME).

2005-12-06  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/x11drv/init.c, dlls/x11drv/x11drv.h:
	x11drv: cleanup not longer used data on X11DRV_PDEVICE.

2005-12-06  Louis Lenders <xerox_xerox2000@yahoo.co.uk>

	* dlls/gdi/font.c, dlls/gdi/gdi32.spec:
	gdi: Added stub for AddFontMemResourceEx.

2005-12-06  Alexandre Julliard <julliard@winehq.org>

	* include/mlang.idl:
	mlang: Properly declare the interface uuids.

2005-12-06  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/mlang/mlang.c, dlls/mlang/tests/mlang.c, include/mlang.idl:
	mlang: Implement IEnumRfc1766 interface.

2005-12-06  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winejack/jack.c:
	winmm: Allow sound card driver to be opened more than once.
	TRACE cleanups.

2005-12-06  Robert Reif <reif@earthlink.net>

	* dlls/winmm/winealsa/alsa.c, dlls/winmm/winearts/arts.c,
	  dlls/winmm/wineaudioio/audioio.c, dlls/winmm/wineesd/esound.c,
	  dlls/winmm/winenas/nas.c, dlls/winmm/wineoss/oss.c:
	winmm: Allow sound card drivers to be opened more than once.

2005-12-06  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win32.api:
	Update win32.api to current git.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/rpc.c:
	OLE: Fix a typo where brackets were missing.

2005-12-06  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: ITypeInfo_Invoke parameter naming change.
	Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
	DWORD, but an unsigned short.

2005-12-06  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/webbrowser.c:
	shdocvw: Added get_Document implementation.

2005-12-06  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/expr.c:
	winedbg: Fixed broken code about type management for binary operator.

2005-12-06  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	winspool: Add documentation for the port functions.

2005-12-05  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/tests/thread.c:
	kernel: Added a basic test for exception handling in threads.

2005-12-05  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/cursoricon.c:
	user: Fixed copy/paste bug in CURSORICON_GetResIconEntry.

2005-12-05  Rein Klazes <wijn@wanadoo.nl>

	* dlls/ddraw/Makefile.in, dlls/ddraw/main.c:
	ddraw: Catch access violations when calling DirectDrawEnumerateProc.

2005-12-05  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/devenum/createdevenum.c:
	devenum: Don't leak key handle creating a category registry key.

2005-12-05  Christian Gmeiner <christian.gmeiner@students.fh-vorarlberg.ac.at>

	* dlls/msi/msi.c:
	msi: Implemented DllCanUnloadNow.

2005-12-05  Wojciech Migda <migda@chemia.uj.edu.pl>

	* dlls/imagehlp/imagehlp.spec:
	imagehlp: fixed typo in SymSetOptions entry.

2005-12-05  Huw Davies <huw@codeweavers.com>

	* dlls/msi/msi.spec:
	msi: Fix MsiProvideQualifiedComponentW spec file entry.

2005-12-05  Vitaliy Margolen <wine-patch@kievinfo.com>

	* server/main.c, server/object.h:
	server: Remove sync_namespace.

2005-12-05  Alexandre Julliard <julliard@winehq.org>

	* server/directory.c, server/mailslot.c, server/named_pipe.c,
	  server/object.h:
	server: Let the directory code handle device names.

2005-12-05  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/file.c, include/wine/server_protocol.h, server/directory.c,
	  server/mailslot.c, server/object.h, server/protocol.def,
	  server/trace.c:
	Move mailslot devices into directory name space.

2005-12-05  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/sync.c, dlls/kernel/tests/pipe.c, dlls/ntdll/file.c,
	  dlls/ntdll/tests/om.c, include/wine/server_protocol.h,
	  server/directory.c, server/named_pipe.c, server/object.h,
	  server/protocol.def, server/trace.c:
	Move named pipe objects into directory name space.
	Change tests accordingly.
	Add small test for WaitNamedPipe.

2005-12-05  Alexandre Julliard <julliard@winehq.org>

	* server/directory.c, server/event.c, server/mapping.c, server/mutex.c,
	  server/object.h, server/semaphore.c, server/symlink.c,
	  server/timer.c:
	server: Move handle allocation out of open_object_dir.

2005-12-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/stack.c, include/dbghelp.h:
	dbghelp: Implemented StackWalk64.

2005-12-05  Francois Gouget <fgouget@free.fr>

	* dlls/msvidc32/msvideo1.c:
	msvidc32: Add a comment for DllMain() to stop winapi_check from
	complaining about it.

2005-12-05  Francois Gouget <fgouget@free.fr>

	* tools/winapi/win32.api:
	Update win32.api to match the current sources.

2005-12-05  Pavel Roskin <proski@gnu.org>

	* programs/notepad/Ru.rc:
	notepad: Russian translation for "Font..." menu item.

2005-12-05  Cihan Altinay <cihan@uq.edu.au>

	* dlls/riched20/editor.c:
	riched20: register ListBox & ComboBox classes
	Partially implement REExtendedRegisterClass() to register missing
	window classes so that applications relying on them don't get
	confused.

2005-12-05  YunSong Hwang <hys545@dreamwiz.com>

	* programs/winefile/Ko.rc:
	winefile: Fix an incorrect translation.

2005-12-05  Alexander N. Sørnes <alex@thehandofagony.com>

	* dlls/commdlg/cdlg_No.rc, dlls/iccvid/iccvid_No.rc, dlls/iccvid/rsrc.rc,
	  dlls/msvidc32/msvidc32_No.rc, dlls/msvidc32/rsrc.rc,
	  dlls/msvideo/msvfw32_No.rc, dlls/msvideo/rsrc.rc,
	  programs/notepad/No.rc, programs/regedit/No.rc,
	  programs/winecfg/No.rc:
	Update Norwegian Bokmaal resources.

2005-12-05  Patrick Ammann <pammann@aro.ch>

	* dlls/wininet/netconnection.c:
	wininet: compilation fix
	- make netconnection.c compile when HAVE_OPENSSL_SSL_H or
	HAVE_OPENSSL_ERR_H are not defined.

2005-12-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/driver.c, dlls/winmm/winemm.h:
	winmm: driver unloading.
	- properly handle drivers unloading when no session instance of the
	driver has been created

2005-12-05  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/symbol.c, dlls/dbghelp/type.c, programs/winedbg/expr.c,
	  programs/winedbg/symbol.c:
	dbghelp,winedbg: SYMBOL_INFO fix.
	- native dbghelp returns in SYMBOL_INFO.TypeIndex the index of the
	type of the symbol (we were returning the symbol index instead)
	- fixed winedbg accordingly

2005-12-05  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/oleaut32/tests/vartype.c, dlls/oleaut32/vartype.c:
	Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong).

2005-12-05  Milko Krachounov <milko@3mhz.net>

	* dlls/commdlg/cdlg_Bg.rc, programs/regedit/Bg.rc:
	Update the Bulgarian resources for commdlg and regedit.

2005-12-05  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winsock/socket.c:
	winsock: Rewrote mappers to use sizeof() based loops.
	Added IPPROTO_IP and AF_UNSPEC to the mappers.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: Support HREFTYPEs For ITypeInfos
	Add support for reading the hreftype of a typeinfo, return it to the
	application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
	support referencing it in ITypeInfo_GetRefTypeInfo.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: fix function name loading
	Correctly get the name of the second function of a propget/propput
	pair in MSFT typelibs when the name offset is set to -1.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: fix invoking dispinterface functions
	Fix invoking dispinterface functions by using the internal
	representation of the function, not the one returned to applications.

2005-12-03  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/pixelshader.c:
	wined3d: Set pixel shader version correctly in IWineD3DPixelShaderImpl_SetFunction.

2005-12-03  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	wined3d: Return the correct parent in IWineD3DPixelShaderImpl_GetParent.
	Remove an unnecessary cast.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: Move the dispinterface return value handling to functions that
	return the FUNCDESC to the user.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.c,
	  dlls/wininet/netconnection.c:
	wininet: Correctly set the last error when a called Unix network
	function fails.

2005-12-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/symbol.c:
	winedbg: simplify some code.

2005-12-03  H. Verbeet <hverbeet@gmail.com>

	* dlls/wined3d/device.c:
	wined3d: return D3DERR_INVALIDCALL when calling BeginStateBlock and
	already recording.

2005-12-03  Pavel Roskin <proski at gnu.org>

	* programs/wineconsole/wineconsole.c:
	Fixed regression in wineconsole creation (curses backend).

2005-12-03  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/winapi_check:
	winapi_check: fully descend in included files to check for prototype.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
	The INVOKE_PROPERTYGET flag shouldn't affect binding to variables; it
	should just affect which of a pair of [propget] and [propput]
	functions should be returned.

2005-12-03  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/ftp.c, dlls/wininet/http.c, dlls/wininet/internet.c,
	  dlls/wininet/internet.h:
	wininet: global function/data cleanup
	Make some functions and a structure static since they are only used in
	one file.

2005-12-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/stack.c:
	winedbg: fixed regression (and simplified code!) for arguments
	printing in backtrace.

2005-12-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/symbol.c:
	winedbg: fixed regression in 'info local' command.

2005-12-03  Aric Stewart <aric@codeweavers.com>

	* programs/wcmd/builtins.c:
	wcmd: mkdir recursive create
	In at least both win2k and winxp mkdir from the command prompt can
	recursively create full directory paths. This implements that
	functionality.

2005-12-03  Aric Cyr <aric.cyr@gmail.com>

	* dlls/opengl32/wgl.c, dlls/opengl32/wgl.h, dlls/opengl32/wgl_ext.c,
	  include/wingdi.h:
	Move standard WGL function declarations to wingdi.h.
	dlls/opengl32/wgl.h is now empty and no longer needed.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* dlls/ole32/usrmarshal.c, dlls/wined3d/surface.c, dlls/winspool/info.c,
	  tools/winapi/msvcmaker, tools/winapi/winapi_check_options.pm,
	  tools/winapi/winapi_extract, tools/winebuild/utils.c:
	Assorted spelling fixes.

2005-12-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/virtual.c, dlls/ntdll/virtual.c,
	  include/wine/server_protocol.h, server/mapping.c,
	  server/protocol.def, server/trace.c:
	Move mapping (section) objects into directory name space.

2005-12-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/sync.c, dlls/ntdll/sync.c, include/wine/server_protocol.h,
	  server/protocol.def, server/timer.c, server/trace.c:
	Move timer objects into directory name space.

2005-12-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/sync.c, dlls/ntdll/sync.c, include/wine/server_protocol.h,
	  server/protocol.def, server/semaphore.c, server/trace.c:
	Move semaphore objects into directory name space.

2005-12-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/kernel_private.h, dlls/kernel/sync.c, dlls/ntdll/sync.c,
	  dlls/ntdll/tests/om.c, include/wine/server_protocol.h,
	  server/console.c, server/event.c, server/mutex.c,
	  server/named_pipe.c, server/object.h, server/process.c,
	  server/protocol.def, server/trace.c:
	Move event and mutex objects into directory name space.

2005-12-02  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c:
	Sync the WebBrowser's window size with document's window.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* tools/winapi/win32.api:
	Update win32.api to match the current sources.

2005-12-02  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* include/objbase.h, tools/widl/header.c:
	Use the typedef'd declaration of IRpcStubBuffer and IRpcChannelBuffer
	in RPC _Stubs.
	Add IRpcStubBuffer and IRpcChannelBuffer declarations to objbase.h.

2005-12-02  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/widl/header.c:
	Reorder the virtual table definition so it's defined before it is used
	in widl header output.

2005-12-02  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/widl/header.c:
	Use interface instead of struct where appropriate in widl.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* dlls/atl/atl_main.c, dlls/atl/atliface.idl:
	Fix the AtlAxWinInit() prototype.
	Also make it return FALSE to indicate failure instead of E_FAIL.
	Define AtlAxWinInit() and AtlAxCreateControl() in atliface.idl.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* dlls/netapi32/ds.c, tools/winapi/win32.api:
	Better stick to the PSDK types and to the dsrole.h prototype.
	Update win32.api.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* tools/winapi/winapi_parser.pm:
	Fix __RPC_USER handling.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* dlls/wldap32/parse.c, include/winldap.h, tools/winapi/win32.api:
	Better stick to the PSDK types.
	Update win32.api.

2005-12-02  Francois Gouget <fgouget@free.fr>

	* dlls/dbghelp/module.c, include/dbghelp.h:
	Add IMAGEHLP_MODULEW64.
	Add SymGetModuleInfoW64() and SymLoadModule64().

2005-12-02  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shlview.c:
	Implemented scrolling during drag&drop for the shellview class.

2005-12-02  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c:
	Use sink in navigate_complete instead of ClientSite's IDispatch.

2005-12-02  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/Makefile.in, dlls/crypt32/cert.c,
	  dlls/crypt32/crypt32.spec, dlls/crypt32/crypt32_private.h,
	  dlls/crypt32/encode.c, dlls/crypt32/main.c, dlls/crypt32/oid.c,
	  dlls/crypt32/tests/.gitignore, dlls/crypt32/tests/Makefile.in,
	  dlls/crypt32/tests/encode.c, dlls/crypt32/tests/oid.c:
	Implement more OID support functions.
	Use the exported OID support functions internally.
	Move OID support functions and stubs to a separate file.

2005-12-02  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/c_parser.pm, tools/winapi/winapi_parser.pm:
	Make winapi_check understand the interface keyword.

2005-12-02  Pavel Roskin <proski@gnu.org>

	* dlls/commdlg/cdlg_Bg.rc, dlls/commdlg/cdlg_Ca.rc,
	  dlls/commdlg/cdlg_Cn.rc, dlls/commdlg/cdlg_Cs.rc,
	  dlls/commdlg/cdlg_Da.rc, dlls/commdlg/cdlg_De.rc,
	  dlls/commdlg/cdlg_En.rc, dlls/commdlg/cdlg_Es.rc,
	  dlls/commdlg/cdlg_Fi.rc, dlls/commdlg/cdlg_Fr.rc,
	  dlls/commdlg/cdlg_Hu.rc, dlls/commdlg/cdlg_It.rc,
	  dlls/commdlg/cdlg_Ja.rc, dlls/commdlg/cdlg_Nl.rc,
	  dlls/commdlg/cdlg_No.rc, dlls/commdlg/cdlg_Pl.rc,
	  dlls/commdlg/cdlg_Pt.rc, dlls/commdlg/cdlg_Ru.rc,
	  dlls/commdlg/cdlg_Si.rc, dlls/commdlg/cdlg_Sk.rc,
	  dlls/commdlg/cdlg_Sv.rc, dlls/commdlg/cdlg_Uk.rc,
	  dlls/commdlg/cdlg_Wa.rc, dlls/commdlg/cdlg_Zh.rc:
	Improve script selection combobox in the font selection dialog - set
	height to 90 (the old value of 10 could only fit a single line) and
	remove CBS_OWNERDRAWFIXED flag to trim excessive height from the list
	items.

2005-12-02  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/events.c, dlls/shdocvw/shdocvw.h:
	Added implementation of IConnectionPoint::Advise and Unadvise.

2005-12-02  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c, dlls/wldap32/bind.c, dlls/wldap32/compare.c,
	  dlls/wldap32/control.c, dlls/wldap32/delete.c, dlls/wldap32/dn.c,
	  dlls/wldap32/error.c:
	Document DN and error handling functions.
	Try to stick to Wine's documentation format.

2005-12-02  Rein Klazes <wijn@wanadoo.nl>

	* programs/wcmd/batch.c, programs/wcmd/builtins.c,
	  programs/wcmd/wcmdmain.c:
	Avoid formatted output in a few more places where formatting is not
	really needed and output could be large enough to be truncated.

2005-12-02  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c:
	Sync window sizes.

2005-12-02  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/tests/shlfolder.c:
	Added a test for native PIDL format.

2005-12-02  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c:
	Document many of the advpack functions.

2005-12-02  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/x11drv/opengl.c:
	Handle DONTCARE flags on ChoosePixelFormat.
	DOUBLEBUFFER and STEREO are non-mandatory options (ie if not available
	find a compatible pixel format without). So try without if we cannot
	find a valid fbconfig with these options.

2005-12-01  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/Makefile.in, dlls/wldap32/parse.c,
	  dlls/wldap32/wldap32.spec:
	Implement ldap_parse_extended_result{A,W}, ldap_parse_reference{A,W},
	ldap_parse_result{A,W}, ldap_parse_sort_control{A,W} and
	ldap_parse_vlv_control{A,W}.  Stub implementations for
	ldap_parse_page_control{A,W}.

2005-12-01  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/misc.c, dlls/wldap32/search.c,
	  dlls/wldap32/winldap_private.h, dlls/wldap32/wldap32.spec:
	Stub implementations for functions handling paged search results.
	Add some missing declarations.

2005-12-01  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/element.c,
	  dlls/msxml3/msxml_private.h, dlls/msxml3/node.c,
	  dlls/msxml3/tests/domdoc.c:
	Make the node object aggregatable so that the element object (and in
	future all of the other node types) can use it.

2005-12-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/virtual.c:
	Check for need to add area to the reserved list also on unmap.

2005-12-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/virtual.c:
	Ignore the large address space flag when version is win9x.

2005-12-01  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c, dlls/wldap32/delete.c:
	Document the ldap_delete* functions.

2005-12-01  Rein Klazes <wijn@wanadoo.nl>

	* programs/wcmd/builtins.c, programs/wcmd/wcmdmain.c:
	Don't use formatted output in WCMD_setshow_sortenv.
	Don't use unsafe vsprintf in WCMD_output.

2005-12-01  Oldrich Jedlicka <oldium.pro@seznam.cz>

	* dlls/x11drv/dib.c:
	Fix for the monochrome DIB with inverted colors.

2005-12-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/tests/headers.c:
	Improved the CHECK_DEF macro to avoid code duplication.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c, dlls/oleaut32/typelib.h:
	Make dump functions const.

2005-12-01  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c:
	Added implementation of OLEIVERB_SHOW in DoVerb.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Remove broken return value handling code and that would reference
	memory beyond the end of the arguments array. Replace it with code
	that properly handles referencing the return type and setting the
	return type to VT_VOID when a dispinterface function doesn't have any
	return value.

2005-12-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/except.c, dlls/msvcrt/msvcrt.h, dlls/msvcrt/tests/headers.c:
	Prefix signal definitions with MSVCRT_ to avoid conflicts with system
	headers.

2005-12-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/cdrom.c, dlls/ntdll/file.c, include/winsock2.h,
	  programs/regedit/treeview.c, server/registry.c:
	Fixed some compiler warnings on Darwin.

2005-12-01  Pavel Roskin <proski@gnu.org>

	* programs/notepad/dialog.c, programs/notepad/main.c:
	Improve font support in Notepad.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Introduce a variable "elemdesc" to eliminate some long common
	expressions.
	Move the contents of the second arguments loop inside the first.
	Move the MSFT_ReadLEDWords so that it is the last statement in the
	loop since it is one of the iterators.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Don't truncate large integer constants.

2005-12-01  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Added IOleInPlaceActiveObject stub implementation.

2005-12-01  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec, include/advpub.h:
	Add a stub for AdvInstallFile.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* configure, configure.ac, dlls/wininet/netconnection.c,
	  include/config.h.in:
	Cleanup SSL connections properly, do a few security checks in
	NETCON_secure_connect and display errors from SSL on failure. Don't
	use SSL_set_bio as SSL_set_fd is cleaner for us.

2005-12-01  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/listbox.c, dlls/user/tests/listbox.c:
	Add a test for LB_SELITEMRANGE, make it pass under Wine.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/stdole2.tlb/std_ole_v2.idl:
	Fix the entry attributes of the two module functions and uncomment
	LoadPicture, but comment out the defaultvalue attribute that causes
	widl to issue a warning.

2005-12-01  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	The pparamdescex of an ELEMDESC should only be copied if wParamFlags &
	PARAMFLAG_DHASDEFAULT.
	Make ITypeInfo_ReleaseVarDesc use TLB_FreeElemDesc.

2005-12-01  Steven Edwards <steven@codeweavers.com>

	* dlls/wldap32/search.c, dlls/wldap32/wldap32.spec:
	Add stubs for ldap_search_init_page[A/W].

2005-12-01  Detlef Riekenberg <wine.dev@web.de>

	* dlls/x11drv/winpos.c:
	Remove unused include X11/IntrinsicP.h.

2005-12-01  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c:
	Added SetObjectRects implementation.

2005-12-01  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c:
	Return S_OK in [On|Can]InPlaceActivate.
	Handle IOleDocumentSite in QueryInterface.

2005-12-01  Rein Klazes <wijn@wanadoo.nl>

	* dlls/gdi/freetype.c:
	Make WineEngGetFontData always return the used byte count.

2005-11-30  Peter Lemenkov <petro@mail.ru>

	* include/winuser.h:
	Added WS_EX_COMPOSITED.

2005-11-30  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/painting.c, dlls/user/tests/msg.c:
	Add a test for RedrawWindow with an empty region/rectangle, make it
	pass under Wine.

2005-11-30  Willie Sippel <willie@zeitgeistmedia.net>

	* dlls/wined3d/directx.c, include/wine/wined3d_gl.h:
	Added more Nvidia card IDs.

2005-11-30  Alexandre Julliard <julliard@winehq.org>

	* tools/winewrapper:
	Added support for Darwin DYLD_LIBRARY_PATH.

2005-11-30  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/om.c, dlls/ntdll/tests/om.c, include/wine/server_protocol.h,
	  server/Makefile.in, server/directory.c, server/object.h,
	  server/protocol.def, server/request.h, server/symlink.c,
	  server/trace.c:
	Implement symbolic link object in wineserver.
	Implement Nt[Create|Open|Query]SymbolicLinkObject.
	Change tests accordingly.

2005-11-30  Markus Gömmel <m.goemmel@compulab.de>

	* dlls/shell32/shellpath.c:
	Added CSIDL_MYVIDEO|MYPICTURES|MYMUSIC to _SHRegisterUserShellFolders.

2005-11-30  Oldrich Jedlicka <oldium.pro@seznam.cz>

	* dlls/x11drv/dib.c:
	Fix for RGB mask that corresponds to the visual's mask.

2005-11-30  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/control.c:
	Document the ldap_control* functions.

2005-11-30  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/shlexec.c:
	Fix context menu handling for more than one entry in order to repair
	.lnk-file execution: Don't break at the first non-matching entry.

2005-11-30  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/wgl.c:
	Added some checks on wglCreatContext to avoid problems (and
	SetLastErrors).

2005-11-30  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec:
	Added stub for CryptVerifyMessageSignature.

2005-11-30  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/msg.c, dlls/x11drv/winpos.c:
	ShowWindows(SW_SHOWMAXIMIZED) should ignore WS_MAXIMIZE window
	state. Change tests accordingly.

2005-11-30  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/msg.c, dlls/user/win.c:
	New maximized visible window should be shown with
	ShowWindow(SW_SHOW).

2005-11-30  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/msg.c, dlls/x11drv/window.c:
	CreateWindow should not activate invisible minimized or maximized
	windows.
	Add several tests to show the correct behavior.

2005-11-30  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/version/tests/install.c:
	Fix version tests on windows 9x/ME.

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/tests/http.c:
	Test the behaviour of HttpSendRequestEx when putting data into the
	lpvBuffer.

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.c, dlls/wininet/internet.h:
	Remove duplicated code by modifying HTTP_HttpSendRequest so that it
	can be used by both HttpSendRequest and HttpSendRequestEx.
	Also allow HttpSendRequestEx to be used asynchronously.

2005-11-30  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/netapi32/netapi32.c, include/lm.h, include/lmaccess.h,
	  include/lmserver.h, include/lmwksta.h:
	Add some prototypes to include/ for already existing functions in
	netapi32.

2005-11-30  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win16.api, tools/winapi/win32.api,
	  tools/winapi/winapi_function.pm, tools/winapi/winapi_local.pm,
	  tools/winapi/winapi_parser.pm:
	Update win32.api to current cvs.
	Add __RPC_USER as a calling convention in winapi.

2005-11-30  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/wined3d/directx.c, include/wine/wined3d_gl.h:
	Add support for Intel drivers version string.
	Update default driver version (nvidia).

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/x11drv/xrender.c:
	Disable XRender if bit masks aren't valid.
	XRender code in the X11 driver will go into an infinite loop when the
	colour bit masks are 0, so disable XRender in this case.

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/msi/registry.c:
	The buffer sizes in the documentation for MsiDecomposeDescriptorW don't
	include the NULL terminator, so fix this.

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Remove call to StrCatW by passing in NULL for lpszExtraInformation in
	the call to InternetCrackUrl, which concatenates the params onto the
	path.
	Some other minor cleanups.

2005-11-30  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Factor out code for doing ELEMDESC sizes and copies.
	Copy FUNCDESC structures returned to calling applications instead of
	passing a pointer to the master structure used internally.
	Call VariantInit on newly allocated memory before calling VariantCopy.

2005-11-29  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac:
	Link to the reentrant version of libldap.

2005-11-29  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/iccvid/iccvid_Ko.rc, dlls/iccvid/rsrc.rc,
	  dlls/msvidc32/msvidc32_Ko.rc, dlls/msvidc32/rsrc.rc:
	Add Korean translations.

2005-11-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/om.c, dlls/ntdll/tests/om.c, include/wine/server_protocol.h,
	  server/Makefile.in, server/directory.c, server/main.c,
	  server/object.c, server/object.h, server/protocol.def,
	  server/request.c, server/request.h, server/trace.c:
	Implement directory object in wineserver.
	Implement Nt[Create|Open]DirectoryObject.
	Change tests accordingly.

2005-11-29  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	Check for a valid module before attempting to read the export
	directory in LdrGetProcedureAddress.

2005-11-29  Rein Klazes <wijn@wanadoo.nl>

	* dlls/winsock/socket.c, dlls/winsock/tests/sock.c:
	Clear the reference counter in WSACleanup, with regression test.

2005-11-29  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/compare.c:
	Document the ldap_compare* functions.

2005-11-29  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c, dlls/wined3d/drawprim.c,
	  dlls/wined3d/stateblock.c, dlls/wined3d/wined3d_private.h,
	  include/wine/wined3d_interface.h:
	Added support for vertex and pixel shader constants that have no type
	i.e. they haven't been set yet or are clear.

2005-11-29  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/netapi32/Makefile.in, dlls/netapi32/ds.c,
	  dlls/netapi32/netapi32.spec, dlls/netapi32/tests/.gitignore,
	  dlls/netapi32/tests/Makefile.in, dlls/netapi32/tests/ds.c,
	  include/Makefile.in, include/dsrole.h:
	Added some stubbed Ds-calls
	Start of conformance tests for these Ds-calls.

2005-11-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/stack.c, include/dbghelp.h:
	Stub StackWalk64.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/module.c,
	  dlls/dbghelp/path.c, include/dbghelp.h:
	Added support for 'loading' virtual modules.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/symbol.c, include/dbghelp.h:
	Implemented SymGet{Next|Prev}Line64.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/module.c:
	Now correctly checking calling down to 32 bit version.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/tests/http.c:
	HttpSendRequestExA/W doesn't touch lpBuffersIn->Next, so simplify the
	code a bit.
	Modify test case to demonstrate this.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/module.c, include/dbghelp.h:
	Implemented SymGetModuleInfo64.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/Makefile.in, dlls/ole32/ole32.spec,
	  dlls/ole32/tests/Makefile.in, dlls/ole32/tests/marshal.c,
	  dlls/ole32/usrmarshal.c:
	Implement some user marshal functions and add tests.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	More lpszServerName -> lpszHostName fixes.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/module.c, include/dbghelp.h:
	Implemented SymUnloadModule64.

2005-11-29  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/tests/advpack.c:
	Returned versions are always initialized to zero, even on failure.
	Function always returns S_OK, even on failure.
	Copy the file to the temp directory if the file exists but isn't found
	by GetFileVersionInfoSize.
	If bVersion is FALSE, return the language and code page identifiers of
	the file, not the system.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Fix redirects from secure to non-secure and vice versa.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Implement ITypeInfo_Bind for typelibs.
	Fix some places where a returned object was AddRef'd.
	Make the search through implemented types work on all types, not just
	interfaces.

2005-11-29  Peter Lemenkov <petro@mail.ru>

	* include/shellapi.h:
	Added some definitions.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/mci.c:
	Fixed some bugs in MCI string parsing.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp.spec,
	  dlls/dbghelp/dbghelp_private.h, dlls/dbghelp/module.c,
	  include/dbghelp.h:
	Implemented SymLoadModuleEx.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/debugger.h, programs/winedbg/display.c,
	  programs/winedbg/stack.c, programs/winedbg/symbol.c:
	Replaced stack_get_frame with a pure symbol (and no longer stackframe)
	oriented API (stack_get_current_symbol).
	Reused the func name (stack_get_frame) for internal stack.c handling.

2005-11-29  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/ole32/ole32res.rc:
	Made the Drag&Drop cursors' rubber band visible on a white background.

2005-11-29  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/bitblt.c, dlls/x11drv/graphics.c:
	Avoid including X11/Intrinsic.h.

2005-11-29  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/bitmap.c:
	Added support for doing SetBitmapBits on a DIB section.

2005-11-29  James Hawkins <truiken@gmail.com>

	* include/advpub.h:
	Add ADN_DEL_UNC_PATHS define to advpub.h.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Change all SendAsyncCallback calls into the synchronous
	INTERNET_SendCallback where INTERNET_FLAG_ASYNC is already handled
	properly.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* include/objidl.idl:
	Make IAdviseSink methods non-async and remove the IAsyncManager
	parameter hack that native COM used to use (but not any more). Async
	calls are an optimisation that we're not going to support in the near
	future.

2005-11-29  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/wgl.c:
	Fixed crash in wglShareList.

2005-11-29  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/dmusic/dmusic.c, dlls/dmusic/dmusic_private.h, dlls/dmusic/port.c:
	Fix implementation of IDirectMusic8Impl_CreatePort.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* include/cvconst.h:
	Added calling convention definitions.

2005-11-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp.spec, include/dbghelp.h:
	Added stub for dbghelp.SymRegisterCallback64.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Add functions for doing a deep copy of a TYPEDESC into a flat buffer.
	Copy VARDESC structures returned to calling applications instead of
	passing a pointer to the master structure used internally.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/cpsf.h, dlls/rpcrt4/cstub.c:
	Add a function to retrieve the MIDL_SERVER_INFO struct from an object.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/cpsf.c:
	The CLSID can be substituted by an IID present in one of the proxy
	file infos in NdrDllGetClassObject.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_midl.c:
	Return the correct error code from NdrProxyErrorHandler.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_ole.c:
	Raise exceptions on failures.
	Replace references of pStubMsg->BufferEnd with RpcMsg->Buffer +
	pStubMsg->BufferLength.
	Fix buffer calculation when no interface data is marshaled to the
	stream.

2005-11-29  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Fix the overflow check to not depend on pStubMsg->BufferStart and
	pStubMsg->BufferEnd being valid, because they aren't filled in when
	using MIDL-generated server stubs.
	Don't set the pointer to NULL on unmarshaling because we may want to
	unmarshal the value to an existing pointer instead of allocating a new
	one.

2005-11-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/win.c, dlls/user/win.c:
	EnumChildWindows should return result from the callback.

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Activate document object.

2005-11-28  Alexandre Julliard <julliard@winehq.org>

	* include/shlobj.h:
	Remove unnecessary external variable declarations.

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/iccvid.c, dlls/iccvid/iccvid.spec, dlls/mciavi32/mciavi.c,
	  dlls/mcicda/mcicda.c, dlls/mciseq/mcimidi.c, dlls/midimap/midimap.c,
	  dlls/msacm/imaadp32/imaadp32.c, dlls/msacm/msadp32/msadp32.c,
	  dlls/msacm/msg711/msg711.c, dlls/msacm/pcmconverter.c,
	  dlls/msacm/winemp3/mpegl3.c, dlls/msrle32/msrle32.c,
	  dlls/msvidc32/msvidc32.spec, dlls/msvidc32/msvideo1.c,
	  dlls/winmm/joystick/joystick.c, dlls/winmm/mciwave/mciwave.c,
	  dlls/winmm/wavemap/wavemap.c, dlls/winmm/winealsa/alsa.c,
	  dlls/winmm/winearts/arts.c, dlls/winmm/wineaudioio/audioio.c,
	  dlls/winmm/wineesd/esound.c, dlls/winmm/winejack/jack.c,
	  dlls/winmm/winemm.h, dlls/winmm/winenas/nas.c,
	  dlls/winmm/wineoss/oss.c:
	Fix all drivers DriverProc to conform to the DRIVERPROC definition.

2005-11-28  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec, dlls/crypt32/main.c:
	Fix parameter count on some stubs (thanks to Marcus Meissner for
	spotting that.)  Add a few more stubs.

2005-11-28  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/iccvid/iccvid_De.rc, dlls/iccvid/rsrc.rc,
	  dlls/msvidc32/msvidc32_De.rc, dlls/msvidc32/rsrc.rc:
	Add German resources.

2005-11-28  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c, dlls/wldap32/bind.c:
	Document the ldap_bind* functions.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Enhanced UnixFolder's IDropTarget implementation.
	Use STATIC_CAST macro more consistently.

2005-11-28  Alexandre Julliard <julliard@winehq.org>

	* tools/winebuild/spec16.c:
	Preserve 16-byte stack alignment in 16-bit relays.

2005-11-28  Alexandre Julliard <julliard@winehq.org>

	* tools/winebuild/relay.c:
	Enforce 16-byte stack alignment when returning from 16-bit code and
	when calling a register function.

2005-11-28  Ge van Geldorp <gvg@reactos.org>

	* dlls/advapi32/crypt.c, dlls/advapi32/crypt_lmhash.c,
	  dlls/advapi32/lsa.c, dlls/advapi32/registry.c,
	  dlls/advapi32/security.c, dlls/dbghelp/minidump.c,
	  dlls/dbghelp/path.c, dlls/dbghelp/stack.c,
	  dlls/dplayx/dplayx_messages.c, dlls/imagehlp/integrity.c,
	  dlls/kernel/actctx.c, dlls/kernel/change.c, dlls/kernel/comm.c,
	  dlls/kernel/computername.c, dlls/kernel/debugger.c,
	  dlls/kernel/environ.c, dlls/kernel/except.c, dlls/kernel/file.c,
	  dlls/kernel/format_msg.c, dlls/kernel/global16.c,
	  dlls/kernel/instr.c, dlls/kernel/locale.c, dlls/kernel/module.c,
	  dlls/kernel/oldconfig.c, dlls/kernel/path.c, dlls/kernel/process.c,
	  dlls/kernel/resource.c, dlls/kernel/sync.c, dlls/kernel/thread.c,
	  dlls/kernel/time.c, dlls/kernel/version.c, dlls/kernel/virtual.c,
	  dlls/kernel/volume.c, dlls/mcicda/mcicda.c, dlls/netapi32/wksta.c,
	  dlls/ntdll/atom.c, dlls/ntdll/cdrom.c, dlls/ntdll/critsection.c,
	  dlls/ntdll/debugbuffer.c, dlls/ntdll/debugtools.c,
	  dlls/ntdll/directory.c, dlls/ntdll/env.c, dlls/ntdll/error.c,
	  dlls/ntdll/exception.c, dlls/ntdll/file.c, dlls/ntdll/handletable.c,
	  dlls/ntdll/heap.c, dlls/ntdll/large_int.c, dlls/ntdll/loader.c,
	  dlls/ntdll/nt.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/om.c,
	  dlls/ntdll/path.c, dlls/ntdll/process.c, dlls/ntdll/reg.c,
	  dlls/ntdll/resource.c, dlls/ntdll/rtl.c, dlls/ntdll/rtlstr.c,
	  dlls/ntdll/sec.c, dlls/ntdll/server.c, dlls/ntdll/sync.c,
	  dlls/ntdll/tests/large_int.c, dlls/ntdll/tests/rtlstr.c,
	  dlls/ntdll/thread.c, dlls/ntdll/time.c, dlls/ntdll/version.c,
	  dlls/ntdll/virtual.c, dlls/powrprof/powrprof.c,
	  dlls/psapi/psapi_main.c, dlls/quartz/filesource.c,
	  dlls/rpcrt4/rpc_server.c, dlls/rpcrt4/rpcss_np_client.c,
	  dlls/user/cursoricon.c, dlls/user/message.c, dlls/user/painting.c,
	  dlls/user/winpos.c, dlls/vmm.vxd/vmm.c, dlls/winedos/int2f.c,
	  dlls/winedos/vxd.c, dlls/wininet/internet.c, dlls/winmm/mmsystem.c,
	  dlls/winsock/socket.c, dlls/x11drv/dce.c, dlls/x11drv/winpos.c,
	  include/ntstatus.h, include/winnt.h, programs/rpcss/np_server.c,
	  programs/wcmd/wcmdmain.c, programs/winedbg/dbg.y,
	  programs/winedbg/debugger.h, programs/winedbg/gdbproxy.c,
	  server/atom.c, server/change.c, server/class.c, server/clipboard.c,
	  server/console.c, server/debugger.c, server/event.c, server/fd.c,
	  server/file.c, server/handle.c, server/hook.c, server/mailslot.c,
	  server/mapping.c, server/mutex.c, server/named_pipe.c,
	  server/object.c, server/process.c, server/ptrace.c, server/queue.c,
	  server/region.c, server/registry.c, server/semaphore.c,
	  server/serial.c, server/snapshot.c, server/sock.c, server/thread.c,
	  server/thread.h, server/timer.c, server/token.c, server/trace.c,
	  server/window.c, server/winstation.c:
	Match PSDK STATUS_* definitions.

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/iccvid.c, dlls/msrle32/msrle32.c,
	  dlls/msrle32/msrle_private.h, dlls/msvidc32/msvideo1.c,
	  dlls/msvideo/msvideo_main.c, include/vfw.h:
	Set both dwVersionICM and dwVersion to ICVERSION in Wine builtin
	codecs.

2005-11-28  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c:
	Allow HttpEndRequest to process 302 and 301 redirects.  Append Host
	port if non standard on the redirect host header and make sure to
	append the extra information (parameters) and such to the location if
	present.  Additionally check to see if we are redirecting to https and
	if so set the appropriate port.

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c:
	Added GetOverrideKeyPath and GetOptionKeyPath implementation.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shlview.c:
	Use GetUIObjectOf instead of BindToObject to get a IDropTarget object.

2005-11-28  Ge van Geldorp <gvg@reactos.org>

	* dlls/shell32/shlexec.c:
	Other code in shlexec.c (e.g. the extension handling code in
	ShellExecute_GetClassKey) expects sei->lpFile to not be enclosed in
	quotes.

2005-11-28  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/info.c:
	Documentation added for GetPrinterDriverDirectoryW + A.

2005-11-28  Vitaliy Margolen <wine-patch@kievinfo.com>

	* include/ddk/wdm.h:
	Add directory and symlink access rights.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Add support for using secure (SSL/TLS) connections through a proxy
	server.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.h,
	  dlls/wininet/netconnection.c:
	Move the initiation of the SSL connection into a separate function.

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/menu.c, dlls/user/tests/menu.c:
	set_menu_item_text handles converting an empty menu item to a
	separator on its own, give it a chance to do its work in the
	MIIM_FTYPE case.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.h:
	Add a host port field that preserves the requested port of the
	destination URL.

2005-11-28  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/usp10/usp10.c, include/usp10.h:
	Added some missing definitions in usp10.h.

2005-11-28  Rein Klazes <wijn@wanadoo.nl>

	* dlls/x11drv/graphics.c:
	Handle an X error in X11DRV_ExtFloodFill().

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Fix "http://" prefix detection on the proxy URL.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_midl.c:
	Make sure to fill out the MIDL_STUB_MESSAGE structure in
	NdrSendReceive like we do in NdrProxySendReceive.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Implement conformant varying array functions.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Implement conformant struct functions.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Implement FC_STRUCTPAD2 for complex types.

2005-11-28  Rein Klazes <wijn@wanadoo.nl>

	* dlls/gdi/gdi32.spec, dlls/gdi/palette.c:
	Add stub implementation for SetMagicColors().

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/atl/atl.spec, dlls/atl/atl_main.c, dlls/atl/atlbase.h:
	Added AtlAxCreateControl stub implementation.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Replace some useless checks in HTTP_AddProxyInfo with asserts.

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Added IOleDocumentSite implementation.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Simplify and fix Set-Cookie handling.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/defaulthandler.c:
	Implement IOleObject_DoVerb function by running the object and then
	delegating to the remote IOleObject_DoVerb function.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Add functions for marshaling base types (ints, floats, etc.).

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/dochost.c, dlls/shdocvw/oleobject.c,
	  dlls/shdocvw/shdocvw.h, dlls/shdocvw/webbrowser.c:
	Better windows handling.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shell32_main.h:
	Modified KeyStateToDropEffect macro to match native shellview's
	behaviour.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Simplify HTTP_InsertProxyAuthorization.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj_private.h, dlls/ole32/defaulthandler.c,
	  dlls/ole32/oleobj.c:
	Delegate advises to the remote object to enable the client to receive
	data change notifications.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c, dlls/rpcrt4/ndr_misc.h:
	Extend conformance computation function to also compute variances.
	MSDN suggests that conformance and variance are pretty much the same,
	but there may be some subtleties to it.

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/client.c, dlls/shdocvw/frame.c,
	  dlls/shdocvw/shdocvw.h, dlls/shdocvw/webbrowser.c:
	Added implementation of GetWindowContext.
	Added stub implementation of IOleInPlaceFrame interface.

2005-11-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/iccvid/.gitignore, dlls/msvidc32/.gitignore:
	Ignore generated rsrc.res.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shlview.c:
	Register the shell view itself as the drop target, not it's parent folder.
	Forward drag&drop method calls to the folder currently under the cursor.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c:
	Change some SendAsyncCallback calls to INTERNET_SendCallback as the
	tests show that the callbacks happen either synchronously or within an
	alternative asynchronous call.
	Remove a check for a NULL lpfnStatusCB that is already performed by
	INTERNET_SendCallback and add a comment about a difference to native.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Add parsing of the Content-ID and Proxy-Connection headers.
	Sort the table of header to option number mappings correctly.
	Change a FIXME to a WARN because there are "X-..." headers that we
	aren't supposed to parse.

2005-11-28  Vitaliy Margolen <wine-patch@kievinfo.com>

	* include/imagehlp.h:
	Add some 64 bit definitions.

2005-11-28  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Stop reporting not having swapchain 0 as an error and add an internal
	variable instead of modifying a parameter.

2005-11-28  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/vertexdeclaration.c:
	Correct some errors in the way vertex declarations for directx 8 are
	parsed and add offset support.

2005-11-28  Ge van Geldorp <gvg@reactos.org>

	* dlls/shell32/iconcache.c:
	Load shortcut icon by resource id instead of by icon index.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/defaulthandler.c:
	Call DefaultHandler_Stop if we fail to start the server running
	correctly and a few formatting fixes.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Fix NdrConformantArrayBufferSize to include the size of the
	conformance value.
	Make NdrConformantArrayMemorySize do something more useful, like
	actually return the required memory.
	Conformance offset can be negative and should only be two bytes.

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvidc32/Makefile.in, dlls/msvidc32/msvidc32_En.rc,
	  dlls/msvidc32/msvidc32_private.h, dlls/msvidc32/msvideo1.c,
	  dlls/msvidc32/rsrc.rc:
	Add support for ICM_GETINFO in msvidc32 codec (based on msrle32).

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/iccvid/Makefile.in, dlls/iccvid/iccvid.c, dlls/iccvid/iccvid_En.rc,
	  dlls/iccvid/iccvid_private.h, dlls/iccvid/rsrc.rc:
	Add support for ICM_GETINFO in iccvid codec (based on msrle32).

2005-11-28  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msrle32/msrle32.c, dlls/msvideo/msvideo_main.c:
	Fix several bugs in msrle32 preventing it to load.
	Remove a hack in ICOpen compensating a bug in msrle32.
	Use MSVFW32_hModule directly in ICCompressorChoose, and avoid a
	convoluted GWLP_HINSTANCE hack.

2005-11-28  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/winmm/winmm_Ko.rc, programs/wcmd/Ko.rc, programs/winecfg/Ko.rc:
	Update Korean translations.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/ole32/ole32res.rc:
	Correct the hot spot position of the drag&drop 'move' and 'link' cursors.

2005-11-28  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/webbrowser.c:
	Don't crash when parameters of Navigate2 are NULL.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/internet.h:
	Add a new field "lpszHostName" to the session to track the host name
	of the HTTP server, as opposed to the server that we will connect to
	that could be a proxy server. Fixes the "Host:" header that we send to
	servers.

2005-11-28  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/winmm/winmm.c:
	LoadLibrary16 is no longer exported by name, so do the lookup by its
	ordinal (when loading NE sibling).

2005-11-28  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/cdrom.c:
	Handle IOCTL_DISK_CHECK_VERIFY which is synonym for
	IOCTL_STORAGE_CHECK_VERIFY.

2005-11-28  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/stack.c, include/dbghelp.h:
	Added stubs for DbgHelp functions: SymRegisterFunctionEntryCallback.

2005-11-28  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	Correct the matrix sizes in software shaders and remove an erroneous
	parameter from lrp.

2005-11-28  Lionel Ulmer <lionel.ulmer@free.fr>

	* dlls/x11drv/settings.c:
	Ignore frequency requests in Desktop mode.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/defaulthandler.c:
	Call the equivalent delegate function for all of the simple
	functions.

2005-11-28  Robert Shearman <rob@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	We should always allocate in NdrConformantStringUnmarshal if the
	memory pointer is NULL.

2005-11-28  Lionel Ulmer <lionel.ulmer@free.fr>

	* dlls/dinput/device.c:
	Handle DInput8 interfaces in device QueryInterface.

2005-11-28  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c:
	Document the ldap_add* functions.

2005-11-28  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/bitblt.c:
	If the driver doesn't support StretchBlt try to use StretchDIBits
	instead.

2005-11-28  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/shfldr_desktop.c, dlls/shell32/shlfolder.c,
	  dlls/shell32/tests/shlfolder.c:
	Correctly call HCR_GetFolderAttributes() in SHELL32_GetItemAttributes().
	Directly return the correct "My Computer" attributes in
	ISF_Desktop_fnGetAttributesOf().
	Remove "todo_wine" from the "My Computer" attributes test case.
	Add test case for retrieving the file system path from the
	CSIDL_PROGRAM_FILES PIDL using SHGetPathFromIDListW().

2005-11-28  YunSong Hwang <hys545@dreamwiz.com>

	* documentation/README.ko:
	Add a translation of the README.

2005-11-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/helpers.c:
	If a source directory doesn't exist, use the install root instead.

2005-11-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Handle the ^ character in MaskEdit controls.

2005-11-28  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/dmime/dmime_private.h, dlls/dmime/performance.c:
	Partial implementation of IDirectMusicPerformance8Impl_AddPort.

2005-11-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Initial stubbed implementation of UnixFolder's IDropTarget interface.

2005-11-28  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/kernel/process.c:
	Initialize file_exists to 0 at exe load test, prevents mistaking of
	UTF-8 encoded exenames as builtins.

2005-11-26  Alexandre Julliard <julliard@winehq.org>

	* .gitignore, dlls/.gitignore, dlls/winspool/.gitignore, libs/.gitignore,
	  programs/avitools/.gitignore, programs/clock/.gitignore,
	  programs/cmdlgtst/.gitignore, programs/control/.gitignore,
	  programs/eject/.gitignore, programs/expand/.gitignore,
	  programs/explorer/.gitignore, programs/hh/.gitignore,
	  programs/msiexec/.gitignore, programs/notepad/.gitignore,
	  programs/progman/.gitignore, programs/regedit/.gitignore,
	  programs/regsvr32/.gitignore, programs/rpcss/.gitignore,
	  programs/rundll32/.gitignore, programs/start/.gitignore,
	  programs/taskmgr/.gitignore, programs/uninstaller/.gitignore,
	  programs/view/.gitignore, programs/wcmd/.gitignore,
	  programs/wineboot/.gitignore, programs/winebrowser/.gitignore,
	  programs/winecfg/.gitignore, programs/wineconsole/.gitignore,
	  programs/winedbg/.gitignore, programs/winefile/.gitignore,
	  programs/winemenubuilder/.gitignore, programs/winemine/.gitignore,
	  programs/winepath/.gitignore, programs/winetest/.gitignore,
	  programs/winevdm/.gitignore, programs/winhelp/.gitignore,
	  programs/winver/.gitignore, tools/winegcc/.gitignore:
	Ignore symlink files too (needed for git).

2005-11-26  Alexandre Julliard <julliard@winehq.org>

	* .cvsignore, .gitignore, dlls/.cvsignore, dlls/.gitignore,
	  dlls/activeds/.cvsignore, dlls/activeds/.gitignore,
	  dlls/advapi32/.cvsignore, dlls/advapi32/.gitignore,
	  dlls/advapi32/tests/.cvsignore, dlls/advapi32/tests/.gitignore,
	  dlls/advpack/.cvsignore, dlls/advpack/.gitignore,
	  dlls/advpack/tests/.cvsignore, dlls/advpack/tests/.gitignore,
	  dlls/amstream/.cvsignore, dlls/amstream/.gitignore,
	  dlls/atl/.cvsignore, dlls/atl/.gitignore, dlls/avicap32/.cvsignore,
	  dlls/avicap32/.gitignore, dlls/avifil32/.cvsignore,
	  dlls/avifil32/.gitignore, dlls/cabinet/.cvsignore,
	  dlls/cabinet/.gitignore, dlls/capi2032/.cvsignore,
	  dlls/capi2032/.gitignore, dlls/cards/.cvsignore,
	  dlls/cards/.gitignore, dlls/cfgmgr32/.cvsignore,
	  dlls/cfgmgr32/.gitignore, dlls/comcat/.cvsignore,
	  dlls/comcat/.gitignore, dlls/comctl32/.cvsignore,
	  dlls/comctl32/.gitignore, dlls/comctl32/tests/.cvsignore,
	  dlls/comctl32/tests/.gitignore, dlls/commdlg/.cvsignore,
	  dlls/commdlg/.gitignore, dlls/crtdll/.cvsignore,
	  dlls/crtdll/.gitignore, dlls/crypt32/.cvsignore,
	  dlls/crypt32/.gitignore, dlls/crypt32/tests/.cvsignore,
	  dlls/crypt32/tests/.gitignore, dlls/cryptdll/.cvsignore,
	  dlls/cryptdll/.gitignore, dlls/ctl3d/.cvsignore,
	  dlls/ctl3d/.gitignore, dlls/d3d8/.cvsignore, dlls/d3d8/.gitignore,
	  dlls/d3d9/.cvsignore, dlls/d3d9/.gitignore, dlls/d3dim/.cvsignore,
	  dlls/d3dim/.gitignore, dlls/d3drm/.cvsignore, dlls/d3drm/.gitignore,
	  dlls/d3dx8/.cvsignore, dlls/d3dx8/.gitignore, dlls/d3dxof/.cvsignore,
	  dlls/d3dxof/.gitignore, dlls/dbghelp/.cvsignore,
	  dlls/dbghelp/.gitignore, dlls/dciman32/.cvsignore,
	  dlls/dciman32/.gitignore, dlls/ddraw/.cvsignore,
	  dlls/ddraw/.gitignore, dlls/ddraw/tests/.cvsignore,
	  dlls/ddraw/tests/.gitignore, dlls/devenum/.cvsignore,
	  dlls/devenum/.gitignore, dlls/dinput/.cvsignore,
	  dlls/dinput/.gitignore, dlls/dinput/tests/.cvsignore,
	  dlls/dinput/tests/.gitignore, dlls/dinput8/.cvsignore,
	  dlls/dinput8/.gitignore, dlls/dmband/.cvsignore,
	  dlls/dmband/.gitignore, dlls/dmcompos/.cvsignore,
	  dlls/dmcompos/.gitignore, dlls/dmime/.cvsignore,
	  dlls/dmime/.gitignore, dlls/dmloader/.cvsignore,
	  dlls/dmloader/.gitignore, dlls/dmscript/.cvsignore,
	  dlls/dmscript/.gitignore, dlls/dmstyle/.cvsignore,
	  dlls/dmstyle/.gitignore, dlls/dmsynth/.cvsignore,
	  dlls/dmsynth/.gitignore, dlls/dmusic/.cvsignore,
	  dlls/dmusic/.gitignore, dlls/dmusic32/.cvsignore,
	  dlls/dmusic32/.gitignore, dlls/dplay/.cvsignore,
	  dlls/dplay/.gitignore, dlls/dplayx/.cvsignore,
	  dlls/dplayx/.gitignore, dlls/dpnet/.cvsignore, dlls/dpnet/.gitignore,
	  dlls/dpnhpast/.cvsignore, dlls/dpnhpast/.gitignore,
	  dlls/dsound/.cvsignore, dlls/dsound/.gitignore,
	  dlls/dsound/tests/.cvsignore, dlls/dsound/tests/.gitignore,
	  dlls/dswave/.cvsignore, dlls/dswave/.gitignore,
	  dlls/dxdiagn/.cvsignore, dlls/dxdiagn/.gitignore,
	  dlls/dxerr8/.cvsignore, dlls/dxerr8/.gitignore,
	  dlls/dxerr9/.cvsignore, dlls/dxerr9/.gitignore,
	  dlls/dxguid/.cvsignore, dlls/dxguid/.gitignore, dlls/gdi/.cvsignore,
	  dlls/gdi/.gitignore, dlls/gdi/tests/.cvsignore,
	  dlls/gdi/tests/.gitignore, dlls/glu32/.cvsignore,
	  dlls/glu32/.gitignore, dlls/glut32/.cvsignore,
	  dlls/glut32/.gitignore, dlls/hhctrl.ocx/.cvsignore,
	  dlls/hhctrl.ocx/.gitignore, dlls/iccvid/.cvsignore,
	  dlls/iccvid/.gitignore, dlls/icmp/.cvsignore, dlls/icmp/.gitignore,
	  dlls/ifsmgr.vxd/.cvsignore, dlls/ifsmgr.vxd/.gitignore,
	  dlls/imagehlp/.cvsignore, dlls/imagehlp/.gitignore,
	  dlls/imm32/.cvsignore, dlls/imm32/.gitignore,
	  dlls/iphlpapi/.cvsignore, dlls/iphlpapi/.gitignore,
	  dlls/iphlpapi/tests/.cvsignore, dlls/iphlpapi/tests/.gitignore,
	  dlls/itss/.cvsignore, dlls/itss/.gitignore, dlls/kernel/.cvsignore,
	  dlls/kernel/.gitignore, dlls/kernel/messages/.cvsignore,
	  dlls/kernel/messages/.gitignore, dlls/kernel/tests/.cvsignore,
	  dlls/kernel/tests/.gitignore, dlls/lzexpand/.cvsignore,
	  dlls/lzexpand/.gitignore, dlls/lzexpand/tests/.cvsignore,
	  dlls/lzexpand/tests/.gitignore, dlls/mapi32/.cvsignore,
	  dlls/mapi32/.gitignore, dlls/mapi32/tests/.cvsignore,
	  dlls/mapi32/tests/.gitignore, dlls/mciavi32/.cvsignore,
	  dlls/mciavi32/.gitignore, dlls/mcicda/.cvsignore,
	  dlls/mcicda/.gitignore, dlls/mciseq/.cvsignore,
	  dlls/mciseq/.gitignore, dlls/midimap/.cvsignore,
	  dlls/midimap/.gitignore, dlls/mlang/.cvsignore,
	  dlls/mlang/.gitignore, dlls/mlang/tests/.cvsignore,
	  dlls/mlang/tests/.gitignore, dlls/mmdevldr.vxd/.cvsignore,
	  dlls/mmdevldr.vxd/.gitignore, dlls/monodebg.vxd/.cvsignore,
	  dlls/monodebg.vxd/.gitignore, dlls/mpr/.cvsignore,
	  dlls/mpr/.gitignore, dlls/msacm/.cvsignore, dlls/msacm/.gitignore,
	  dlls/msacm/imaadp32/.cvsignore, dlls/msacm/imaadp32/.gitignore,
	  dlls/msacm/msadp32/.cvsignore, dlls/msacm/msadp32/.gitignore,
	  dlls/msacm/msg711/.cvsignore, dlls/msacm/msg711/.gitignore,
	  dlls/msacm/tests/.cvsignore, dlls/msacm/tests/.gitignore,
	  dlls/msacm/winemp3/.cvsignore, dlls/msacm/winemp3/.gitignore,
	  dlls/mscms/.cvsignore, dlls/mscms/.gitignore,
	  dlls/mscms/tests/.cvsignore, dlls/mscms/tests/.gitignore,
	  dlls/msdmo/.cvsignore, dlls/msdmo/.gitignore, dlls/mshtml/.cvsignore,
	  dlls/mshtml/.gitignore, dlls/mshtml/tests/.cvsignore,
	  dlls/mshtml/tests/.gitignore, dlls/msi/.cvsignore,
	  dlls/msi/.gitignore, dlls/msi/tests/.cvsignore,
	  dlls/msi/tests/.gitignore, dlls/msimg32/.cvsignore,
	  dlls/msimg32/.gitignore, dlls/msisys/.cvsignore,
	  dlls/msisys/.gitignore, dlls/msnet32/.cvsignore,
	  dlls/msnet32/.gitignore, dlls/msrle32/.cvsignore,
	  dlls/msrle32/.gitignore, dlls/msvcrt/.cvsignore,
	  dlls/msvcrt/.gitignore, dlls/msvcrt/tests/.cvsignore,
	  dlls/msvcrt/tests/.gitignore, dlls/msvcrt20/.cvsignore,
	  dlls/msvcrt20/.gitignore, dlls/msvcrt40/.cvsignore,
	  dlls/msvcrt40/.gitignore, dlls/msvcrtd/.cvsignore,
	  dlls/msvcrtd/.gitignore, dlls/msvcrtd/tests/.cvsignore,
	  dlls/msvcrtd/tests/.gitignore, dlls/msvidc32/.cvsignore,
	  dlls/msvidc32/.gitignore, dlls/msvideo/.cvsignore,
	  dlls/msvideo/.gitignore, dlls/mswsock/.cvsignore,
	  dlls/mswsock/.gitignore, dlls/msxml3/.cvsignore,
	  dlls/msxml3/.gitignore, dlls/msxml3/tests/.cvsignore,
	  dlls/msxml3/tests/.gitignore, dlls/netapi32/.cvsignore,
	  dlls/netapi32/.gitignore, dlls/netapi32/tests/.cvsignore,
	  dlls/netapi32/tests/.gitignore, dlls/newdev/.cvsignore,
	  dlls/newdev/.gitignore, dlls/ntdll/.cvsignore, dlls/ntdll/.gitignore,
	  dlls/ntdll/tests/.cvsignore, dlls/ntdll/tests/.gitignore,
	  dlls/objsel/.cvsignore, dlls/objsel/.gitignore,
	  dlls/odbc32/.cvsignore, dlls/odbc32/.gitignore,
	  dlls/odbccp32/.cvsignore, dlls/odbccp32/.gitignore,
	  dlls/ole32/.cvsignore, dlls/ole32/.gitignore,
	  dlls/ole32/tests/.cvsignore, dlls/ole32/tests/.gitignore,
	  dlls/oleacc/.cvsignore, dlls/oleacc/.gitignore,
	  dlls/oleaut32/.cvsignore, dlls/oleaut32/.gitignore,
	  dlls/oleaut32/tests/.cvsignore, dlls/oleaut32/tests/.gitignore,
	  dlls/olecli/.cvsignore, dlls/olecli/.gitignore,
	  dlls/oledlg/.cvsignore, dlls/oledlg/.gitignore,
	  dlls/olepro32/.cvsignore, dlls/olepro32/.gitignore,
	  dlls/olesvr/.cvsignore, dlls/olesvr/.gitignore,
	  dlls/opengl32/.cvsignore, dlls/opengl32/.gitignore,
	  dlls/powrprof/.cvsignore, dlls/powrprof/.gitignore,
	  dlls/psapi/.cvsignore, dlls/psapi/.gitignore,
	  dlls/psapi/tests/.cvsignore, dlls/psapi/tests/.gitignore,
	  dlls/qcap/.cvsignore, dlls/qcap/.gitignore, dlls/quartz/.cvsignore,
	  dlls/quartz/.gitignore, dlls/quartz/tests/.cvsignore,
	  dlls/quartz/tests/.gitignore, dlls/rasapi32/.cvsignore,
	  dlls/rasapi32/.gitignore, dlls/riched20/.cvsignore,
	  dlls/riched20/.gitignore, dlls/richedit/.cvsignore,
	  dlls/richedit/.gitignore, dlls/rpcrt4/.cvsignore,
	  dlls/rpcrt4/.gitignore, dlls/rpcrt4/tests/.cvsignore,
	  dlls/rpcrt4/tests/.gitignore, dlls/rsabase/.cvsignore,
	  dlls/rsabase/.gitignore, dlls/rsabase/tests/.cvsignore,
	  dlls/rsabase/tests/.gitignore, dlls/rsaenh/.cvsignore,
	  dlls/rsaenh/.gitignore, dlls/rsaenh/tests/.cvsignore,
	  dlls/rsaenh/tests/.gitignore, dlls/secur32/.cvsignore,
	  dlls/secur32/.gitignore, dlls/secur32/tests/.cvsignore,
	  dlls/secur32/tests/.gitignore, dlls/sensapi/.cvsignore,
	  dlls/sensapi/.gitignore, dlls/serialui/.cvsignore,
	  dlls/serialui/.gitignore, dlls/setupapi/.cvsignore,
	  dlls/setupapi/.gitignore, dlls/setupapi/tests/.cvsignore,
	  dlls/setupapi/tests/.gitignore, dlls/shdocvw/.cvsignore,
	  dlls/shdocvw/.gitignore, dlls/shdocvw/tests/.cvsignore,
	  dlls/shdocvw/tests/.gitignore, dlls/shell32/.cvsignore,
	  dlls/shell32/.gitignore, dlls/shell32/tests/.cvsignore,
	  dlls/shell32/tests/.gitignore, dlls/shfolder/.cvsignore,
	  dlls/shfolder/.gitignore, dlls/shlwapi/.cvsignore,
	  dlls/shlwapi/.gitignore, dlls/shlwapi/tests/.cvsignore,
	  dlls/shlwapi/tests/.gitignore, dlls/snmpapi/.cvsignore,
	  dlls/snmpapi/.gitignore, dlls/stdole2.tlb/.cvsignore,
	  dlls/stdole2.tlb/.gitignore, dlls/stdole32.tlb/.cvsignore,
	  dlls/stdole32.tlb/.gitignore, dlls/sti/.cvsignore,
	  dlls/sti/.gitignore, dlls/strmiids/.cvsignore,
	  dlls/strmiids/.gitignore, dlls/tapi32/.cvsignore,
	  dlls/tapi32/.gitignore, dlls/twain/.cvsignore, dlls/twain/.gitignore,
	  dlls/unicows/.cvsignore, dlls/unicows/.gitignore,
	  dlls/url/.cvsignore, dlls/url/.gitignore, dlls/urlmon/.cvsignore,
	  dlls/urlmon/.gitignore, dlls/urlmon/tests/.cvsignore,
	  dlls/urlmon/tests/.gitignore, dlls/user/.cvsignore,
	  dlls/user/.gitignore, dlls/user/resources/.cvsignore,
	  dlls/user/resources/.gitignore, dlls/user/tests/.cvsignore,
	  dlls/user/tests/.gitignore, dlls/usp10/.cvsignore,
	  dlls/usp10/.gitignore, dlls/uuid/.cvsignore, dlls/uuid/.gitignore,
	  dlls/uxtheme/.cvsignore, dlls/uxtheme/.gitignore,
	  dlls/vdhcp.vxd/.cvsignore, dlls/vdhcp.vxd/.gitignore,
	  dlls/vdmdbg/.cvsignore, dlls/vdmdbg/.gitignore,
	  dlls/version/.cvsignore, dlls/version/.gitignore,
	  dlls/version/tests/.cvsignore, dlls/version/tests/.gitignore,
	  dlls/vmm.vxd/.cvsignore, dlls/vmm.vxd/.gitignore,
	  dlls/vnbt.vxd/.cvsignore, dlls/vnbt.vxd/.gitignore,
	  dlls/vnetbios.vxd/.cvsignore, dlls/vnetbios.vxd/.gitignore,
	  dlls/vtdapi.vxd/.cvsignore, dlls/vtdapi.vxd/.gitignore,
	  dlls/vwin32.vxd/.cvsignore, dlls/vwin32.vxd/.gitignore,
	  dlls/win32s/.cvsignore, dlls/win32s/.gitignore,
	  dlls/winaspi/.cvsignore, dlls/winaspi/.gitignore,
	  dlls/winecrt0/.cvsignore, dlls/winecrt0/.gitignore,
	  dlls/wined3d/.cvsignore, dlls/wined3d/.gitignore,
	  dlls/winedos/.cvsignore, dlls/winedos/.gitignore,
	  dlls/wineps/.cvsignore, dlls/wineps/.gitignore,
	  dlls/wininet/.cvsignore, dlls/wininet/.gitignore,
	  dlls/wininet/tests/.cvsignore, dlls/wininet/tests/.gitignore,
	  dlls/winmm/.cvsignore, dlls/winmm/.gitignore,
	  dlls/winmm/joystick/.cvsignore, dlls/winmm/joystick/.gitignore,
	  dlls/winmm/mciwave/.cvsignore, dlls/winmm/mciwave/.gitignore,
	  dlls/winmm/tests/.cvsignore, dlls/winmm/tests/.gitignore,
	  dlls/winmm/wavemap/.cvsignore, dlls/winmm/wavemap/.gitignore,
	  dlls/winmm/winealsa/.cvsignore, dlls/winmm/winealsa/.gitignore,
	  dlls/winmm/winearts/.cvsignore, dlls/winmm/winearts/.gitignore,
	  dlls/winmm/wineaudioio/.cvsignore, dlls/winmm/wineaudioio/.gitignore,
	  dlls/winmm/wineesd/.cvsignore, dlls/winmm/wineesd/.gitignore,
	  dlls/winmm/winejack/.cvsignore, dlls/winmm/winejack/.gitignore,
	  dlls/winmm/winenas/.cvsignore, dlls/winmm/winenas/.gitignore,
	  dlls/winmm/wineoss/.cvsignore, dlls/winmm/wineoss/.gitignore,
	  dlls/winnls/.cvsignore, dlls/winnls/.gitignore,
	  dlls/winsock/.cvsignore, dlls/winsock/.gitignore,
	  dlls/winsock/tests/.cvsignore, dlls/winsock/tests/.gitignore,
	  dlls/winspool/.cvsignore, dlls/winspool/.gitignore,
	  dlls/winspool/tests/.cvsignore, dlls/winspool/tests/.gitignore,
	  dlls/wintab32/.cvsignore, dlls/wintab32/.gitignore,
	  dlls/wintrust/.cvsignore, dlls/wintrust/.gitignore,
	  dlls/wldap32/.cvsignore, dlls/wldap32/.gitignore,
	  dlls/wow32/.cvsignore, dlls/wow32/.gitignore,
	  dlls/wsock32/.cvsignore, dlls/wsock32/.gitignore,
	  dlls/wtsapi32/.cvsignore, dlls/wtsapi32/.gitignore,
	  dlls/x11drv/.cvsignore, dlls/x11drv/.gitignore,
	  documentation/.cvsignore, documentation/.gitignore, fonts/.cvsignore,
	  fonts/.gitignore, include/.cvsignore, include/.gitignore,
	  include/wine/.cvsignore, include/wine/.gitignore, libs/.cvsignore,
	  libs/.gitignore, libs/port/.cvsignore, libs/port/.gitignore,
	  libs/unicode/.cvsignore, libs/unicode/.gitignore,
	  libs/wine/.cvsignore, libs/wine/.gitignore, libs/wpp/.cvsignore,
	  libs/wpp/.gitignore, loader/.cvsignore, loader/.gitignore,
	  programs/.cvsignore, programs/.gitignore,
	  programs/avitools/.cvsignore, programs/avitools/.gitignore,
	  programs/clock/.cvsignore, programs/clock/.gitignore,
	  programs/cmdlgtst/.cvsignore, programs/cmdlgtst/.gitignore,
	  programs/control/.cvsignore, programs/control/.gitignore,
	  programs/eject/.cvsignore, programs/eject/.gitignore,
	  programs/expand/.cvsignore, programs/expand/.gitignore,
	  programs/explorer/.cvsignore, programs/explorer/.gitignore,
	  programs/hh/.cvsignore, programs/hh/.gitignore,
	  programs/msiexec/.cvsignore, programs/msiexec/.gitignore,
	  programs/notepad/.cvsignore, programs/notepad/.gitignore,
	  programs/progman/.cvsignore, programs/progman/.gitignore,
	  programs/regedit/.cvsignore, programs/regedit/.gitignore,
	  programs/regsvr32/.cvsignore, programs/regsvr32/.gitignore,
	  programs/rpcss/.cvsignore, programs/rpcss/.gitignore,
	  programs/rundll32/.cvsignore, programs/rundll32/.gitignore,
	  programs/start/.cvsignore, programs/start/.gitignore,
	  programs/taskmgr/.cvsignore, programs/taskmgr/.gitignore,
	  programs/uninstaller/.cvsignore, programs/uninstaller/.gitignore,
	  programs/view/.cvsignore, programs/view/.gitignore,
	  programs/wcmd/.cvsignore, programs/wcmd/.gitignore,
	  programs/wineboot/.cvsignore, programs/wineboot/.gitignore,
	  programs/winebrowser/.cvsignore, programs/winebrowser/.gitignore,
	  programs/winecfg/.cvsignore, programs/winecfg/.gitignore,
	  programs/wineconsole/.cvsignore, programs/wineconsole/.gitignore,
	  programs/winedbg/.cvsignore, programs/winedbg/.gitignore,
	  programs/winefile/.cvsignore, programs/winefile/.gitignore,
	  programs/winemenubuilder/.cvsignore,
	  programs/winemenubuilder/.gitignore, programs/winemine/.cvsignore,
	  programs/winemine/.gitignore, programs/winepath/.cvsignore,
	  programs/winepath/.gitignore, programs/winetest/.cvsignore,
	  programs/winetest/.gitignore, programs/winevdm/.cvsignore,
	  programs/winevdm/.gitignore, programs/winhelp/.cvsignore,
	  programs/winhelp/.gitignore, programs/winver/.cvsignore,
	  programs/winver/.gitignore, server/.cvsignore, server/.gitignore,
	  tools/.cvsignore, tools/.gitignore, tools/widl/.cvsignore,
	  tools/widl/.gitignore, tools/winapi/.cvsignore,
	  tools/winapi/.gitignore, tools/winebuild/.cvsignore,
	  tools/winebuild/.gitignore, tools/winedump/.cvsignore,
	  tools/winedump/.gitignore, tools/winegcc/.cvsignore,
	  tools/winegcc/.gitignore, tools/wmc/.cvsignore, tools/wmc/.gitignore,
	  tools/wrc/.cvsignore, tools/wrc/.gitignore:
	Renamed all .cvsignore files to .gitignore.

2005-11-24  Hans Leidekker <hans@it.vu.nl>

	* programs/winebrowser/main.c, tools/wine.inf:
	Also handle mailto: urls.

2005-11-24  Mike McCormack <mike@codeweavers.com>

	* dlls/msvcrt/tests/printf.c:
	Add some tests for _fcvt.

2005-11-24  Marcus Meissner <meissner@suse.de>

	* include/usp10.h:
	extern "C" wrappers for usp10.h.

2005-11-24  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/helpers.c:
	Make all source directories at the root of the install.

2005-11-24  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/advapi32/lsa.c:
	Return a real error in LsaLookupSids.

2005-11-24  Vijay Kiran Kamuju <infyquest@gmail.com>

	* include/Makefile.in:
	Install usp10.h.

2005-11-24  Mike McCormack <mike@codeweavers.com>

	* dlls/wldap32/ber.c:
	Fix a compile error.

2005-11-24  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/wgl_ext.c:
	Fix incorrect implementation of WGL_COLOR_BITS_ARB.

2005-11-24  Juan Lang <juan_lang@yahoo.com>

	* include/wincrypt.h:
	Add more declarations.

2005-11-23  Francois Gouget <fgouget@free.fr>

	* dlls/comctl32/rebar.c, dlls/comctl32/tooltips.c, dlls/d3d8/shader.c,
	  dlls/dinput/dinput_main.c, dlls/dinput/effect_linuxinput.c,
	  dlls/dinput/joystick_linuxinput.c, dlls/iphlpapi/iphlpapi_main.c,
	  dlls/quartz/filesource.c, dlls/rsaenh/mpi.c, dlls/rsaenh/tomcrypt.h,
	  dlls/shell32/shellpath.c, dlls/user/edit.c,
	  dlls/user/tests/sysparams.c, dlls/uxtheme/draw.c,
	  dlls/wined3d/basetexture.c, dlls/wined3d/device.c,
	  dlls/wined3d/pixelshader.c, dlls/wined3d/stateblock.c,
	  dlls/wined3d/surface.c, dlls/wined3d/utils.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_private.h,
	  dlls/winedos/dosaspi.c, dlls/wineps/download.c, dlls/wininet/ftp.c,
	  dlls/wininet/tests/http.c, dlls/winspool/tests/info.c,
	  dlls/wintab32/context.c, programs/progman/En.rc,
	  programs/winedbg/gdbproxy.c, tools/widl/write_msft.c,
	  tools/wrc/translation.c:
	Assorted spelling fixes.

2005-11-23  Francois Gouget <fgouget@free.fr>

	* dlls/ntdll/resource.c, dlls/usp10/usp10.c, dlls/wininet/internet.c:
	Documentation tweaks to make winapi_check happy.
	Also specify the documented spec file entry.

2005-11-23  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/msvideo/msvfw32_De.rc, dlls/msvideo/rsrc.rc:
	Add German resource file for msvideo.

2005-11-23  Francois Gouget <fgouget@free.fr>

	* dlls/wldap32/control.c, dlls/wldap32/init.c,
	  dlls/wldap32/winldap_private.h, include/winldap.h,
	  tools/winapi/win32.api:
	winldap.h should include windeh.f and schnlsp.h.
	Enclose the API definitions in an extern "C" section and define
	LDAPAPI.
	Better stick to the types defined by the PSDK.
	Fix the ldap_create_vlv_control*() prototypes.
	Update win32.api.

2005-11-23  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/relay16.c, dlls/msvcrt/misc.c, dlls/ntdll/loader.c,
	  dlls/ntdll/relay.c, dlls/ntdll/resource.c, dlls/ntdll/signal_i386.c,
	  dlls/user/winproc.c, libs/wine/port.c, loader/preloader.c,
	  tools/winebuild/import.c:
	Preserve 16-byte stack alignment in the various assembly
	functions. Needed for MacOSX.

2005-11-23  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/msvideo/msvfw32_En.rc, dlls/msvideo/msvfw32_Ko.rc,
	  dlls/msvideo/rsrc.rc:
	Add Korean translation.

2005-11-23  Francois Gouget <fgouget@free.fr>

	* dlls/advpack/tests/advpack.c:
	Add trailing '\n' to trace() call.

2005-11-23  Francois Gouget <fgouget@free.fr>

	* dlls/winsock/socket.c, include/ws2tcpip.h, tools/winapi/win32.api:
	Add LPADDRINFO, missing IP_* defines and missing APIs.
	Enclose the API definitions in an extern "C" section.
	Define function pointer types if INCL_WINSOCK_API_TYPEDEFS is defined.
	Better stick to the types defined by the PSDK.
	Update win32.api.

2005-11-23  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/comctl32/comctl_Ko.rc, dlls/commdlg/cdlg_Ko.rc,
	  dlls/winmm/winmm_Ko.rc, dlls/winmm/winmm_res.rc,
	  programs/taskmgr/Ko.rc, programs/wcmd/Ko.rc, programs/winecfg/Ko.rc:
	Update Korean translations.

2005-11-23  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Use the ANSI codepage in IShellFolder::GetDisplayNameOf.

2005-11-23  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/tests/profile.c:
	Be more strict and verbose while testing
	GetStandardColorSpaceProfile().

2005-11-23  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/sysparams.c:
	Make test_SPI_SETBORDER less likely to permanently change visual
	settings:
	- use smaller border widths values for testing;
	- provide a work around for a Windows XP feature that made the tests
	change the caption width.

2005-11-23  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_desktop.c:
	Also scan HKEY_CURRENT_USER for shell namespace extensions in Desktop
	folder.
	Fixed a handle leak in case of failing AddToEnumList call.

2005-11-23  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_mycomp.c:
	Also scan HKEY_CURRENT_USER for shell namespace extensions in
	MyComputer.

2005-11-23  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/brsfolder.c:
	Initialize OLE instead of just COM, in order to enable Drag & Drop.

2005-11-23  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/commdlg/filedlg.c:
	Initialize OLE instead of COM only in order to enable Drag and Drop.

2005-11-23  Andrew Webb <andrew7webb@comcast.net>

	* include/commctrl.h:
	Define DateTime_SetMonthCalColor.

2005-11-23  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/encode.c, dlls/crypt32/tests/cert.c:
	Fix some memory leaks.

2005-11-23  Alexandre Julliard <julliard@winehq.org>

	* dlls/x11drv/event.c:
	Fixed some broken code that was causing compiler warnings.

2005-11-23  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/tests/domdoc.c:
	Release a stray node.

2005-11-22  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.2.

----------------------------------------------------------------
2005-11-22  Rein Klazes <wijn@wanadoo.nl>

	* dlls/commdlg/fontdlg16.c:
	Fixes for FormatCharDlgProc16:
	- properly store the ChooseFont pointer, use a window property as the
	A and W functions do;
	- handle other messages then WM_INITDIALOG and WM_MEASUREITEM as well.

2005-11-22  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c:
	HttpEndRequest does not actually send an extra NULL byte at the end of
	the request. Help from Rob Shearman on this one.

2005-11-22  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/volume.c:
	Don't try to set the label in the superblock of FAT filesystems, that
	doesn't do the right thing anyway.

2005-11-22  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/pixelshader.c, dlls/wined3d/vertexshader.c:
	Corrects an error in the _m3xm3 shader function in pixel and vertex
	shaders.

2005-11-22  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/msvideo/.cvsignore, dlls/msvideo/Makefile.in,
	  dlls/msvideo/drawdib.c, dlls/msvideo/msvfw32_En.rc,
	  dlls/msvideo/msvideo16.c, dlls/msvideo/msvideo_main.c,
	  dlls/msvideo/msvideo_private.h, dlls/msvideo/rsrc.rc:
	Add a semi-functional ICCompressorChoose implementation.

2005-11-22  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	GetSystemMetrics fixes with corresponding tests.

2005-11-22  Vitaliy Margolen <wine-patch@kievinfo.com>

	* server/atom.c, server/change.c, server/clipboard.c, server/console.c,
	  server/debugger.c, server/event.c, server/fd.c, server/file.c,
	  server/handle.c, server/hook.c, server/mailslot.c, server/mapping.c,
	  server/mutex.c, server/named_pipe.c, server/object.c,
	  server/object.h, server/process.c, server/queue.c, server/registry.c,
	  server/request.c, server/semaphore.c, server/serial.c,
	  server/signal.c, server/snapshot.c, server/sock.c, server/thread.c,
	  server/timer.c, server/token.c, server/winstation.c:
	Add name_lookup function in object_ops.

2005-11-22  Rein Klazes <wijn@wanadoo.nl>

	* dlls/commdlg/fontdlg16.c:
	In CFn_CHOOSEFONT16to32W fix the conversion of the lpTemplateName and
	the lpszStyle fields.

2005-11-22  Hans Leidekker <hans@it.vu.nl>

	* programs/winebrowser/Makefile.in:
	No need to link against shell32 or user32.

2005-11-22  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/tests/http.c:
	Fix some logic to allow HTTP_ADDREQ_FLAG_ADD to replace existing
	headers. Also adding a test for some header adding flags.

2005-11-22  Alexandre Julliard <julliard@winehq.org>

	* server/registry.c:
	Use struct unicode_str instead of null-terminated strings where
	possible, and remove constraints on total key path length.

2005-11-22  Robert Lunnon <bobl@optushome.com.au>

	* server/event.c, server/mutex.c, server/object.c, server/semaphore.c,
	  server/timer.c:
	Add stdarg.h where missing.

2005-11-22  Marcus Meissner <meissner@suse.de>

	* dlls/winsock/socket.c:
	EAI_NONAME -> WS_EAI_NODATA, check for EAI_NONAME and EAI_NODATA.

2005-11-22  Steven Edwards <winehacker@gmail.com>

	* dlls/ntdll/version.c:
	Correct URL for version infomation database website.

2005-11-22  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/tests/dc.c:
	Add a test showing that SaveDC after GetDC should return 1.

2005-11-22  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c, dlls/shdocvw/oleobject.c, dlls/shdocvw/shdocvw.h:
	Create window in SetClientSite and return it in
	IOleInPlaceSite::GetWindow.

2005-11-22  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/tests/http.c:
	Test the sizes of some of the parameters passed into the callback.

2005-11-22  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c, dlls/wininet/internet.h,
	  dlls/wininet/utility.c:
	Rename SendAsyncCallback to INTERNET_SendCallback.

2005-11-22  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	Fix an incorrect entry in the HTTP header field table causing broken
	Location field parsing.

2005-11-22  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/advpack/tests/advpack.c:
	Exit test after first TranslateInfString() failure, which seems to be
	NT3.51 specific.

2005-11-21  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c, dlls/wined3d/pixelshader.c,
	  dlls/wined3d/wined3d_private.h, include/wine/wined3d_interface.h:
	Implement a pixel shader parser and cross compiler. All version of
	shaders up to 3 should be parsed correctly, but only shaders 1-1.4
	will be cross compiled.

2005-11-21  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/tests/om.c, server/event.c, server/mailslot.c,
	  server/mapping.c, server/mutex.c, server/named_pipe.c,
	  server/object.c, server/semaphore.c, server/timer.c, server/trace.c,
	  server/winstation.c:
	Return correct error on name collision when creating new named
	objects.
	Check for correct error in affected places.

2005-11-21  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/sync.c, dlls/kernel/virtual.c:
	Kernel32 should create named objects with OBJ_OPENIF flag set.
	Handle STATUS_OBJECT_NAME_EXISTS explicitly as it's not mapped with
	RtlNtStatusToDosError.

2005-11-21  YunSong Hwang <hys545@dreamwiz.com>

	* programs/regedit/Ko.rc, programs/wcmd/Ko.rc:
	Update Korean translations.

2005-11-21  Alexandre Julliard <julliard@winehq.org>

	* programs/winecfg/drive.c:
	Only set label and serial number when they are actually changed.

2005-11-21  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/sync.c, dlls/ntdll/file.c, include/wine/server_protocol.h,
	  server/mailslot.c, server/protocol.def, server/trace.c:
	Fixed handling of mailslot read timeout to avoid compiler warnings.

2005-11-21  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/win.c:
	Choose what window styles to dump (WS_GROUP/WS_TABSTOP vs.
	WS_MINIMIZEBOX/WS_MAXIMIZEBOX) based on the WS_CHILD style set.

2005-11-21  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/tests/om.c:
	More Object Manager tests.

2005-11-21  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/http.c, dlls/wininet/tests/http.c:
	Implement HttpSendRequestEx and HttpEndRequest. Restructure, breaking
	some things out of HTTP_SendRequestW to avoid duplicate code.

2005-11-21  Ge van Geldorp <gvg@reactos.org>

	* dlls/crypt32/encode.c:
	Don't redefine ASN_OCTETSTRING, it's already defined in snmp.h.

2005-11-21  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/shell32/iconcache.c, dlls/shell32/shell32_main.c,
	  dlls/shell32/shell32_main.h:
	SHGetFileInfoW(): handle SHGFI_LINKOVERLAY and SHGFI_OVERLAYINDEX.
	SHMapPIDLToSystemImageListIndex(): determine overlay flag for
	PidlToSicIndex() and return -1 in error cases.
	Read shell overlay icon settings from registry to allow icon
	overrides.

2005-11-21  Rein Klazes <wijn@wanadoo.nl>

	* dlls/msvcrt/locale.c:
	Fix bogus unreal code page messages in _setmbcp().

2005-11-21  Rein Klazes <wijn@wanadoo.nl>

	* dlls/msvcrt/mbcs.c, dlls/msvcrt/msvcrt.spec:
	Do not forward _mbccpy to strcpy.
	Remove the error message in _mbccpy, it is not an error.

2005-11-21  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/comctl32/syslink.c:
	Improved word wrapping and tab key handling.

2005-11-21  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/advpack/advpack.c, include/advpub.h:
	Add/correct prototypes for some already defined functions in advpack.

2005-11-21  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/control.c, dlls/wldap32/winldap_private.h,
	  dlls/wldap32/wldap32.spec:
	Implement ldap_create_vlv_control{A,W},
	ldap_encode_sort_control{A,W}.
	Add a stub for ldap_create_page_control{A,W}.

2005-11-21  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/advapi32/advapi32.spec, dlls/advapi32/security.c, include/aclapi.h,
	  include/winsvc.h, tools/winapi/win32.api:
	Add/correct prototypes for some already defined functions in
	advapi32. Correct spec file entry for GetSecurityInfoExW.

2005-11-21  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/winstation.c, include/wine/server_protocol.h,
	  server/protocol.def, server/trace.c, server/winstation.c:
	Replace inherit flag with object attributes in winstation and desktop
	create & open. Use OBJ_OPENIF flag to create winstation & desktop.

2005-11-21  Rein Klazes <wijn@wanadoo.nl>

	* dlls/msvcrt/mbcs.c, dlls/msvcrt/tests/string.c:
	Fix _mbsspn() with conformance tests.

2005-11-21  Hans Leidekker <hans@it.vu.nl>

	* dlls/hhctrl.ocx/Nl.rc, dlls/hhctrl.ocx/hhctrl.rc, dlls/mshtml/Nl.rc,
	  dlls/mshtml/rsrc.rc, dlls/winspool/Nl.rc, dlls/winspool/winspool.rc,
	  programs/taskmgr/De.rc, programs/taskmgr/Nl.rc,
	  programs/taskmgr/taskmgr.rc:
	Added Dutch translations.

2005-11-21  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/mshtml/Ko.rc, dlls/msi/msi_Ko.rc, dlls/oledlg/oledlg_Ko.rc,
	  dlls/wldap32/wldap32_Ko.rc, programs/start/Ko.rc,
	  programs/winecfg/Ko.rc, programs/wineconsole/wineconsole_Ko.rc,
	  programs/winefile/Ko.rc:
	Update Korean translations.

2005-11-21  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/scroll.c:
	Print scroll and clip rectangles on the ScrollDC entry.

2005-11-21  Rob Shearman <rob@codeweavers.com>

	* dlls/advapi32/service.c:
	Don't try waiting for the service process to start if the
	CreateProcess call failed.

2005-11-21  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/registry.c:
	Loop around calling RegQueryValue until we have a big enough string
	for both the name and the value.

2005-11-21  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/shdocvw/dochost.c:
	Added GetHostInfo implementation.

2005-11-21  Ge van Geldorp <gvg@reactos.org>

	* dlls/netapi32/access.c, dlls/netapi32/netapi32.c, include/lmaccess.h:
	Fix some prototypes to match the PSDK.

2005-11-21  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/oldconfig.c:
	- ANSI SCSI revision is a hex number.
	- Be more verbose with parser ERRs.

2005-11-21  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/mswsock/mswsock.spec, dlls/rpcrt4/rpcrt4.spec:
	Mark some functions as implemented in the spec files.

2005-11-21  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/driveui.c:
	Create new drives with autodetect type.

2005-11-21  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/msvcrt/tests/file.c:
	Minor MSVCRT test changes:
	- add two invalid parameter checks for fopen(),
	- rearrange test sequence into two parts (low-level and stream I/O),
	- break long line.

2005-11-21  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/value.c:
	Fix the build without openldap.

2005-11-21  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* include/wincrypt.h:
	Add prototypes for some already defined functions in crypt32.

2005-11-21  Aric Stewart <aric@codeweavers.com>

	* dlls/wininet/internet.c:
	Implement the use of NETCON_send for HTTP connections when in
	InternetWriteFile.

2005-11-21  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/version/tests/install.c:
	Fix version tests on NT, 2K and XP, make some errors more verbose.

2005-11-21  Rein Klazes <wijn@wanadoo.nl>

	* dlls/winmm/wineoss/audio.c:
	Break from the SNDCTL_DSP_CHANNELS loops on first error instead of
	continuing with even higher channels numbers.

2005-11-21  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winsock/socket.c:
	Fixed typo in ws_sockaddr_u2ws().

2005-11-18  Hans Leidekker <hans@it.vu.nl>

	* configure, configure.ac, dlls/wldap32/init.c,
	  dlls/wldap32/winldap_private.h, dlls/wldap32/wldap32.h,
	  dlls/wldap32/wldap32.spec:
	Avoid using deprecated openldap functions.
	Implement ldap_sslinit{A,W}, improve cldap_open{A,W}.
	Add stub implementation for ldap_startup and ldap_stop_tls_s.

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/types.c:
	Native dbghelp doesn't provide names for basic type, so added relevant
	basic type names in winedbg.

2005-11-18  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/commdlg/filedlg.c:
	There is no need to resize our own fake dialog to match the parent, it
	doesn't have controls anyway.

2005-11-18  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/mscms/tests/profile.c:
	Don't call unicode functions of file API as they fail on Win9x.

2005-11-18  Alexandre Julliard <julliard@winehq.org>

	* server/console.c, server/event.c, server/handle.c, server/handle.h,
	  server/mailslot.c, server/mapping.c, server/mutex.c,
	  server/named_pipe.c, server/object.c, server/object.h,
	  server/process.c, server/request.h, server/semaphore.c,
	  server/timer.c, server/user.h, server/winstation.c:
	Added a struct unicode_str to encapsulate object names.

2005-11-18  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/delete.c, dlls/wldap32/dn.c, dlls/wldap32/error.c,
	  dlls/wldap32/misc.c, dlls/wldap32/modify.c, dlls/wldap32/modrdn.c,
	  dlls/wldap32/option.c, dlls/wldap32/search.c, dlls/wldap32/value.c:
	Avoid using deprecated openldap functions.
	Correct some return values.

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/stack.c, programs/winedbg/symbol.c,
	  programs/winedbg/winedbg.c:
	Centralized calls for SymSetContext, we only do it when we change the
	current stack frame, and no longer every time we look up local symbols
	on current stack

2005-11-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/tests/thread.c:
	Avoid setting the context before the thread has started running, it's
	broken on most Windows versions.

2005-11-18  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/msxml_private.h, dlls/msxml3/node.c,
	  dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c,
	  dlls/msxml3/tests/domdoc.c:
	Ref count the xmlDocPtr.
	If two nodes refer to the same xmlNodePtr don't return same object.

2005-11-18  Hans Leidekker <hans@it.vu.nl>

	* dlls/wldap32/add.c, dlls/wldap32/bind.c, dlls/wldap32/compare.c:
	Avoid using deprecated openldap functions.
	Correct some return values.

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/debugger.h, programs/winedbg/memory.c,
	  programs/winedbg/stack.c:
	Move print_func_and_args to stack.c, where it belongs.

2005-11-18  Kieran Clancy <n0dalus+wine@gmail.com>

	* dlls/user/static.c:
	Fix vertical text alignment in static controls.

2005-11-18  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/comctl32/tests/.cvsignore, dlls/comctl32/tests/Makefile.in,
	  dlls/comctl32/tests/header.c:
	Added header control tests.

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/dbg.y, programs/winedbg/debugger.h,
	  programs/winedbg/stack.c, programs/winedbg/symbol.c,
	  programs/winedbg/winedbg.c:
	- now storing frames information in thread structure
	- frames are cached after each thread stops execution
	- reimplemented backtrace on top of this

2005-11-18  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/tests/locale.c:
	Added a few more Unicode digits from Unicode version 4.1.

2005-11-18  Alexandre Julliard <julliard@winehq.org>

	* libs/unicode/c_037.c, libs/unicode/c_10000.c, libs/unicode/c_10006.c,
	  libs/unicode/c_10007.c, libs/unicode/c_10029.c,
	  libs/unicode/c_1006.c, libs/unicode/c_10079.c,
	  libs/unicode/c_10081.c, libs/unicode/c_1026.c, libs/unicode/c_1250.c,
	  libs/unicode/c_1251.c, libs/unicode/c_1252.c, libs/unicode/c_1253.c,
	  libs/unicode/c_1254.c, libs/unicode/c_1255.c, libs/unicode/c_1256.c,
	  libs/unicode/c_1257.c, libs/unicode/c_1258.c, libs/unicode/c_20866.c,
	  libs/unicode/c_20932.c, libs/unicode/c_21866.c,
	  libs/unicode/c_28591.c, libs/unicode/c_28592.c,
	  libs/unicode/c_28593.c, libs/unicode/c_28594.c,
	  libs/unicode/c_28595.c, libs/unicode/c_28596.c,
	  libs/unicode/c_28597.c, libs/unicode/c_28598.c,
	  libs/unicode/c_28599.c, libs/unicode/c_28600.c,
	  libs/unicode/c_28603.c, libs/unicode/c_28604.c,
	  libs/unicode/c_28605.c, libs/unicode/c_28606.c, libs/unicode/c_424.c,
	  libs/unicode/c_437.c, libs/unicode/c_500.c, libs/unicode/c_737.c,
	  libs/unicode/c_775.c, libs/unicode/c_850.c, libs/unicode/c_852.c,
	  libs/unicode/c_855.c, libs/unicode/c_856.c, libs/unicode/c_857.c,
	  libs/unicode/c_860.c, libs/unicode/c_861.c, libs/unicode/c_862.c,
	  libs/unicode/c_863.c, libs/unicode/c_864.c, libs/unicode/c_865.c,
	  libs/unicode/c_866.c, libs/unicode/c_869.c, libs/unicode/c_874.c,
	  libs/unicode/c_875.c, libs/unicode/c_878.c, libs/unicode/c_932.c,
	  libs/unicode/c_936.c, libs/unicode/c_949.c, libs/unicode/c_950.c,
	  libs/unicode/casemap.c, libs/unicode/wctype.c:
	Updated codepage tables to Unicode version 4.1.

2005-11-18  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/comctl32/comctl_Ko.rc, dlls/serialui/Ko.rc, dlls/shdocvw/Ko.rc,
	  dlls/wineps/wps_Ko.rc, programs/cmdlgtst/Ko.rc,
	  programs/cmdlgtst/cmdlgr.rc:
	Update Korean translations.

2005-11-18  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/tests/win.c:
	Add another test for Z order of child windows.

2005-11-18  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/kernel/vxd.c:
	Use case insensitive comparison to check file extensions.

2005-11-18  Peter Beutner <p.beutner@gmx.net>

	* dlls/x11drv/opengl.c:
	Fix wrong use of the PFD_GENERIC_ACCELERATED flag. It indicates that
	the selected pixel format lacks full hardware acceleration and only a
	few parts are accelerated. So don't always set it but only if the X
	server actually reports that the selected pixel format is not fully
	accelerated.

2005-11-18  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/events.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Free ConnectionPoint objects (fix memory leak).

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/msvcrt/undname.c:
	Ensures, when we cannot demangle the string, to return the mangled
	name instead of a NULL pointer.

2005-11-18  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/symbol.c,
	  programs/winedbg/symbol.c, programs/winedbg/winedbg.c:
	Now returning correct symbol flags (as native does) for function pmts
	& locals in dbghelp.
	Modified winedbg accordingly.

2005-11-18  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/twain/dsm_ctrl.c:
	If SANE returns empty device list treat it as an error.

2005-11-18  Jacek Caban <jacek@codeweavers.com>

	* dlls/atl/registrar.c:
	Fix parsing '{' char.

2005-11-18  Robert Reif <reif@earthlink.net>

	* dlls/dsound/tests/capture.c, dlls/dsound/tests/dsound_test.h:
	Handle failure on Windows 95 properly.
	Make two functions available to all files.
	Make format_string() const correct.

2005-11-17  Marcus Meissner <marcus@jet.franken.de>

	* configure, configure.ac, dlls/winsock/socket.c,
	  dlls/winsock/ws2_32.spec, include/config.h.in, include/ws2tcpip.h:
	Implemented getaddrinfo(), including full mapping of struct addrinfo
	between UNIX and Windows. Based on a patch by Mike Hearn.

2005-11-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/dbghelp_private.h,
	  dlls/dbghelp/type.c, programs/winedbg/dbg.y,
	  programs/winedbg/types.c:
	Dbghelp describes the types of function arguments with a specific
	symbol-type (symt) which links both to arguments' type and to function
	prototype
	- added this new type to dbghelp
	- implemented its use in winedbg

2005-11-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.c, dlls/dbghelp/elf_module.c, dlls/dbghelp/msc.c,
	  dlls/dbghelp/stabs.c, dlls/dbghelp/symbol.c, dlls/dbghelp/type.c,
	  programs/winedbg/break.c, programs/winedbg/expr.c,
	  programs/winedbg/memory.c, programs/winedbg/symbol.c,
	  programs/winedbg/types.c:
	SymGetType(...,TI_GET_LENGTH,...) requires a 64 bit parameter, not a
	32 bit one.

2005-11-17  Alexandre Julliard <julliard@winehq.org>

	* libs/unicode/cpmap.pl:
	Only update modified files.

2005-11-17  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/shdocvw/events.c, dlls/shdocvw/shdocvw.h:
	Improve IConnectionPoint handling.

2005-11-17  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Disable support for creation FMT_Unknown textures. This gets most of
	the d3d8 demos from www.codesampler.com working.

2005-11-17  Robert Shearman <rob@codeweavers.com>

	* libs/unicode/cpmap.pl, libs/unicode/wctype.c:
	Remove some incompatibilities in the wctype table by updating the
	space, blank and cntrl exceptions and fixing the type given to
	characters in the "Zl" and "Zp" classes.

2005-11-17  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/header.c:
	Return false if index is out of bounds in GetItemT.

2005-11-17  Alexandre Julliard <julliard@winehq.org>

	* programs/explorer/explorer.c:
	Fixed invalid C syntax.

2005-11-17  Robert Shearman <rob@codeweavers.com>

	* dlls/kernel/profile.c:
	The BOM doesn't need a DWORD sized variable, only a WCHAR one.
	Don't increment the szFile pointer since we removed the BOM earlier
	and it will cause the first real character of the INI file to be
	skipped.

2005-11-17  Martin Fuchs <martin-fuchs@gmx.net>

	* programs/winefile/winefile.c, programs/winefile/winefile.h:
	Use command line for initial directory selection.
	Remove useless hwndParent variable.

2005-11-17  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/swapchain.c:
	Clear the z and stencil buffers at the end of the scene, this fixes a
	problem with the solid node bsp demo from www.codesampler.com as well
	as a lot of blank screens in some other demos.

2005-11-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/msvcrt/tests/cpp.c:
	Provide a sample of the joy of MSC symbol mangling.

2005-11-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/symbol.c:
	When a symbol name already contains a module name, we shouldn't search
	in other modules.

2005-11-17  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/dbg.y, programs/winedbg/debug.l,
	  programs/winedbg/debugger.h:
	Simplification of lex's input reading.

2005-11-17  Detlef Riekenberg <wine.dev@web.de>

	* dlls/user/tests/monitor.c:
	Made test loadable on win95 again (EnumDisplayDevicesA not present).

2005-11-17  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/client.c, dlls/shdocvw/dochost.c,
	  dlls/shdocvw/shdocvw.h, dlls/shdocvw/webbrowser.c:
	Added stub implementation of IDocHostUIHandler.

2005-11-17  Jacek Caban <jacek@codeweavers.com>

	* include/mshtmhst.idl:
	Added IHTMLWindow forward declaration.

2005-11-17  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win32.api:
	Update win32.api to cvs.

2005-11-16  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/msvcrt/file.c, dlls/msvcrt/tests/file.c:
	Fix _fcloseall() return value.
	Improve some trace messages.
	Add tests for fopen(), fclose(), _fcloseall().
	Stricten some checks of _unlink().

2005-11-16  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/oleobject.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Added OLEIVERB_INPLACEACTIVATE implementation in IOleObject::DoVerb.

2005-11-16  Aric Stewart <aric@codeweavers.com>

	* configure, configure.ac, programs/Makefile.in,
	  programs/explorer/.cvsignore, programs/explorer/Makefile.in,
	  programs/explorer/explorer.c:
	Beginnings of an explorer.exe replacement that wraps the existing
	winefile program.

2005-11-16  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/dbg.y, programs/winedbg/debugger.h,
	  programs/winedbg/winedbg.c, programs/winedbg/winedbg.man.in:
	Added ability to execute commands from a file passed on command line
	(through --file option).
	Use that feature to get rid of arg_command hack (--command option now
	creates a temporary file).

2005-11-16  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/edit.c, dlls/user/tests/msg.c:
	Add a test for some edit control behaviours, make it pass under Wine.

2005-11-16  Robert Reif <reif@earthlink.net>

	* dlls/winmm/wavemap/wavemap.c:
	Only convert bits per sample between different encoding formats.

2005-11-16  Marcus Meissner <marcus@jet.franken.de>

	* dlls/winsock/socket.c, include/ws2tcpip.h:
	Added mapping between unix and windows sockaddr_in6(_old) and
	sockaddr_in. Added address family, socket type mappers.

2005-11-16  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	- Improve callback to give context sensitive information about the
	different statuses and print the thread ID that it was called from.
	- Replace the busy waiting on the "goon" flag with an event.
	- Replace hard coded numbers with more informative constants
	throughout the InternetReadFile test.
	- Add tests for InternetReadFileExA.
	- Fix the error value from calling InternetReadFile with a NULL handle
	as indicated by the test.

2005-11-16  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/client.c, dlls/shdocvw/shdocvw.h:
	Added IOleInPlaceSite stub implementation.

2005-11-15  Mike McCormack <mike@codeweavers.com>

	* tools/wine.inf:
	Add timezone information to the registry.

2005-11-15  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/ftp.c, dlls/wininet/http.c, dlls/wininet/internet.h,
	  dlls/wininet/utility.c:
	We shouldn't pass the struct hostent returned from gethostbyname as
	it's not thread-safe and isn't needed anyway.

2005-11-15  Ken Thomases <ken@codeweavers.com>

	* dlls/ntdll/signal_i386.c:
	Updated context definitions for the latest Darwin/x86.

2005-11-15  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c:
	Correct the size of a callback parameter.
	Fix the declaration of INTERNET_WorkerThreadFunc.

2005-11-15  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/registry.c:
	Convert MsiEnumComponentQualifiers to use msi_strcpy_to_awstring.

2005-11-15  Alexandre Julliard <julliard@winehq.org>

	* dlls/wininet/urlcache.c:
	Fixed Unicode buffer size bug in CreateUrlCacheEntryW.

2005-11-15  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.spec, dlls/msi/registry.c, include/msi.h:
	Fix function prototype and spec file entry for
	MsiEnumComponentQualifiers.

2005-11-15  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/comctl32/header.c:
	Implement implement header callback support (HDN_GETDISPINFO notification):
	- better factorisation
	- unicode fixes

2005-11-15  Alexandre Julliard <julliard@winehq.org>

	* dlls/urlmon/tests/url.c:
	Don't crash if BindToStorage fails.

2005-11-15  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/install.c:
	Only return ERROR_MORE_DATA if there's a buffer to copy a result
	into.

2005-11-15  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/focus.c:
	Do not change focus if the being activated window is no longer
	active.

2005-11-15  Detlef Riekenberg <wine.dev@web.de>

	* dlls/kernel/tests/drive.c:
	Made test loadable on NT 3.51 again (GetDiskFreeSpaceExA not present).

2005-11-15  Detlef Riekenberg <wine.dev@web.de>

	* dlls/winspool/tests/info.c:
	Some extra tests for GetPrinterDriverDirectory.
	Display a TRACE when the Service "spooler" is not running (NT).

2005-11-15  Cihan Altinay <cihan@uq.edu.au>

	* dlls/kernel/comm.c:
	Disable PARMRK input flag of serial ports.

2005-11-15  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/avifil32/avifile_Ko.rc, dlls/mshtml/Ko.rc,
	  dlls/wldap32/wldap32_Ko.rc, programs/taskmgr/Ko.rc,
	  programs/uninstaller/Ko.rc, programs/view/Ko.rc,
	  programs/winefile/Ko.rc:
	Update Korean translations.

2005-11-15  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/resource.c, dlls/ntdll/signal_i386.c:
	Use proper asm name for external functions.

2005-11-15  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/ntdll/sec.c, dlls/ntdll/tests/rtl.c:
	Add a test for RtlAllocateAndInitializeSid, make it pass under Wine.

2005-11-15  Jacek Caban <jacek@codeweavers.com>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/client.c, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/webbrowser.c:
	Beginning implementation of Navigate2.

2005-11-15  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/wined3d/device.c, dlls/wined3d/drawprim.c,
	  dlls/wined3d/vertexshader.c, dlls/wined3d/wined3d_private.h:
	- defined D3DCOLOR_B macros to access byte values of D3DCOLOR
	- use D3DCOLOR macros instead of using shift + masks
	- fix a bug where diffuse.lpData checked instead of specular.lpData
	- implement color fixup on ARB VShader compilation code:
	-> on input parameters using swizzle
	-> add is_color parameter on vshader_program_add_param

2005-11-15  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/usp10/usp10.c, dlls/usp10/usp10.spec, include/usp10.h:
	Add stubs around ScriptStringAnalyse to avoid PAF crash.

2005-11-15  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/http.c:
	INTERNET_STATUS_HANDLE_CREATED notifications just send the handle, not
	an INTERNET_ASYNC_RESULT structure.
	The source handle in HTTP_Connect should be the parent's handle.

2005-11-15  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.h, dlls/wininet/netconnection.c:
	SSL doesn't need to use a different socket to unsecure communications.

2005-11-15  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/kernel/tests/thread.c:
	Corrected last error information.
	Make sure we can run the tests on win9x.

2005-11-15  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/package.c:
	Set the Installed property if the product is already installed.

2005-11-14  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/input.c, server/queue.c:
	Added support for the QS_ALLPOSTMESSAGE flag.

2005-11-14  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/Makefile.in, dlls/urlmon/binding.c, dlls/urlmon/tests/url.c,
	  dlls/urlmon/umon.c, dlls/urlmon/urlmon_main.h:
	Beginning of true BindToStorage implementation.

2005-11-14  Huw Davies <huw@codeweavers.com>

	* tools/widl/header.c:
	Prefix [putref] property names with putref_.

2005-11-14  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	Fix SysparametersInfoA( SPI_SETICONMETRICS), the A<->W conversion was
	rather broken.
	Make the SPI_{G|S}ETICONMETRICS functions more consistent with those
	for SPI_ICON{HORIZONTAL|VERTICAL}SPACING, SPI_{G|S}ICONTITLEWRAP and
	SPI_{G|S}ICONTITLELOGFONT.
	Accordingly extend the corresponding tests.

2005-11-14  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/msvcrt/tests/cpp.c, dlls/msvcrt/undname.c:
	Undname: Allow more then one coded character in demangle_datatype.

2005-11-14  Vitaliy Margolen <wine-patch@kievinfo.com>

	* tools/wine.inf:
	Add default version information.

2005-11-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/tests/pipe.c, dlls/ntdll/file.c:
	NtReadFile: now returning correct status in NtReadFile for EOF
	conditions (on files) and broken pipe (on named pipes).

2005-11-14  Peter Beutner <p.beutner@gmx.net>

	* dlls/gdi/dib.c, dlls/gdi/tests/bitmap.c:
	When creating DIBs with a color depth <= 8, always set biClrUsed field
	to the number of entries in the color table.

2005-11-14  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y, dlls/msi/tests/package.c:
	Empty strings are not equal to any number, so all comparisons against
	them fail except for tests for non-equalness.

2005-11-14  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Fix an intermittent lockup with ATI's driver, I expect the problem is
	trying to clear the display before it's visible. Also correct the
	clear alpha value.

2005-11-14  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/internet.c, dlls/urlmon/session.c,
	  dlls/urlmon/urlmon_main.h:
	Added get_protocol_iface internal function and use it in
	get_protocol_info.

2005-11-14  Lionel Ulmer <lionel.ulmer@free.fr>

	* dlls/ddraw/surface_main.c:
	Use the front buffer palette for DC operations on off-screen buffers.

2005-11-14  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/advpack/tests/advpack.c:
	Get the version and language ID of ADVPACK.DLL too.

2005-11-14  H. Verbeet <hverbeet@gmail.com>

	* dlls/ddraw/surface_dib.c:
	Fix the default value for keylow in DIB_DirectDrawSurface_Blt.
	Unset DDBLT_DDFX when lpbltfx is NULL / contains no dwDDFX.

2005-11-14  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/avifil32/avifile_Ko.rc, dlls/avifil32/rsrc.rc, dlls/mpr/mpr.rc,
	  dlls/mpr/mpr_Ko.rc, dlls/mshtml/Ko.rc, dlls/mshtml/rsrc.rc,
	  dlls/msi/msi.rc, dlls/msi/msi_Ko.rc, dlls/oledlg/oledlg_Ko.rc,
	  dlls/oledlg/rsrc.rc, dlls/serialui/Ko.rc,
	  dlls/serialui/serialui_rc.rc, dlls/shdocvw/Ko.rc,
	  dlls/shdocvw/shdocvw.rc, dlls/winspool/Ko.rc,
	  dlls/winspool/winspool.rc, dlls/wldap32/wldap32.rc,
	  dlls/wldap32/wldap32_Ko.rc, programs/notepad/Ko.rc,
	  programs/notepad/rsrc.rc, programs/regedit/Ko.rc,
	  programs/start/Ko.rc, programs/start/rsrc.rc, programs/taskmgr/Ko.rc,
	  programs/taskmgr/taskmgr.rc, programs/uninstaller/Ko.rc,
	  programs/uninstaller/rsrc.rc, programs/view/Ko.rc,
	  programs/view/viewrc.rc, programs/wcmd/Ko.rc,
	  programs/wcmd/wcmdrc.rc, programs/winecfg/Ko.rc,
	  programs/winecfg/winecfg.rc, programs/wineconsole/wineconsole_Ko.rc,
	  programs/wineconsole/wineconsole_res.rc, programs/winefile/Ko.rc,
	  programs/winefile/rsrc.rc, programs/winemine/Ko.rc,
	  programs/winemine/rsrc.rc:
	Add Korean translations.

2005-11-14  Markus Amsler <markus.amsler@oribi.org>

	* dlls/iphlpapi/iphlpapi_main.c:
	Add, reformat API documentation.

2005-11-14  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y, dlls/msi/tests/package.c:
	Fix comparison of empty properties to numbers and add test cases.

2005-11-14  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/tests/msg.c:
	Fix message tests to run cleanly on Windows XP SP1.

2005-11-14  Edgar Hucek <gimli@gentoo.org>

	* dlls/winmm/joystick/joystick.c:
	Unicode compile fix.

2005-11-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/tests/thread.c:
	Fix set_test_val function declaration to ensure stack is left
	untouched.

2005-11-14  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	Fix a test for InternetCreateUrlA as no Windows platform sets last
	error here. Make InternetCreateUrlA pass the test.

2005-11-14  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/crypt32/tests/cert.c:
	Don't call missing API function.

2005-11-14  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/ddraw/ddraw_utils.c, dlls/ddraw/surface_dib.c:
	Add DDBLT_DONOTWAIT flag.
	Separate DDBLT_WAIT and DDBLT_ASYNC fixme in Blt method.

2005-11-14  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/umon.c:
	Move BindToStorage hack to the separated function.

2005-11-14  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/d3d9/cubetexture.c, dlls/d3d9/device.c, dlls/d3d9/indexbuffer.c,
	  dlls/d3d9/pixelshader.c, dlls/d3d9/query.c, dlls/d3d9/stateblock.c,
	  dlls/d3d9/swapchain.c, dlls/d3d9/texture.c, dlls/d3d9/vertexbuffer.c,
	  dlls/d3d9/vertexdeclaration.c, dlls/d3d9/vertexshader.c,
	  dlls/d3d9/volumetexture.c:
	Remove the setting of the result pointer to NULL in creates, tests
	show that windows doesn't set the result to NULL on error.

2005-11-14  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/ntdll/thread.c:
	Init wShowWindow in RTL_USER_PARAMETERS for Wine processes started
	from the command-line.

2005-11-14  Peter Lemenkov <petro@mail.ru>

	* include/rpcdce.h:
	Added extern "C".

2005-11-14  Markus Amsler <markus.amsler@oribi.org>

	* dlls/comctl32/imagelist.c:
	Reformat "see" section, to match c2man requirements.

2005-11-12  Markus Amsler <markus.amsler@oribi.org>

	* dlls/commdlg/cdlg32.c, dlls/commdlg/colordlg.c,
	  dlls/commdlg/filetitle.c, dlls/commdlg/finddlg32.c,
	  dlls/commdlg/fontdlg.c, dlls/commdlg/printdlg.c:
	Improve c2man Documented-Total count. Changes:
	- add missing description
	- complete missing A/W pairs
	- document remaining comdlg32 functions

2005-11-12  Markus Amsler <markus.amsler@oribi.org>

	* dlls/advapi32/crypt.c, dlls/advapi32/crypt_sha.c,
	  dlls/advapi32/eventlog.c, dlls/advapi32/registry.c,
	  dlls/advapi32/security.c:
	Improve c2man Documented-Total count. Changes:
	- add missing description
	- add missing returns section

2005-11-12  Stefan Leichter <Stefan.Leichter@camLine.com>

	* programs/winetest/Makefile.in:
	Add shdocvw tests to winetest.

2005-11-12  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj.c:
	Implement CLSCTX_INPROC_HANDLER in CoGetClassObject similar to
	CLSCTX_INPROC_SERVER by looking at the InprocHandler32 registry key
	instead of InprocServer32.

2005-11-12  Paul Vriens <Paul.Vriens@xs4all.nl>

	* dlls/kernel/tests/thread.c:
	Add some extra error information.

2005-11-12  Robert Shearman <rob@codeweavers.com>

	* dlls/wininet/internet.c, dlls/wininet/internet.h:
	Implement InternetReadFileExA (based on a patch by Brian Gerst).

2005-11-12  Daniel Remenak <dtremenak@gmail.com>

	* dlls/dinput/joystick_linuxinput.c:
	Add additional sanity checks to the linux input system dinput joystick
	implementation.

2005-11-12  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/dbg.y, programs/winedbg/debug.l:
	Removed a couple of shift/reduce warnings in grammar.

2005-11-12  Rein Klazes <wijn@wanadoo.nl>

	* programs/regedit/Nl.rc:
	Update Dutch resources.

2005-11-12  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/shdocvw.h, dlls/shdocvw/view.c,
	  dlls/shdocvw/webbrowser.c:
	Added IViewObject2 stub implementation.

2005-11-12  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/version/tests/.cvsignore, dlls/version/tests/Makefile.in,
	  dlls/version/tests/install.c:
	Added some tests for VerFindFileA.

2005-11-12  Phil Lodwick <Phil.Lodwick@EFI.COM>

	* dlls/kernel/path.c, dlls/kernel/tests/path.c:
	prefix can be NULL for GetTempFileNameW.

2005-11-11  YunSong Hwang <hys545@dreamwiz.com>

	* dlls/hhctrl.ocx/Ko.rc, dlls/hhctrl.ocx/hhctrl.rc, dlls/msacm/msacm.rc,
	  dlls/msacm/msacm_Ko.rc, dlls/msrle32/msrle_Ko.rc,
	  dlls/msrle32/rsrc.rc, dlls/oleaut32/oleaut32.rc,
	  dlls/oleaut32/oleaut32_Ko.rc, dlls/setupapi/Ko.rc,
	  dlls/setupapi/setupapi.rc, dlls/shlwapi/shlwapi.rc,
	  dlls/shlwapi/shlwapi_Ko.rc, dlls/wininet/rsrc.rc,
	  dlls/wininet/wininet_Ko.rc:
	Add Korean translations.

2005-11-11  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/urlmon/urlmon.spec:
	Correct argument count for URLDownloadToCacheFile{A,W}.

2005-11-11  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/shell32/shell.c, dlls/shell32/shell32_main.h,
	  dlls/shell32/shlexec.c:
	Unconditionally fall back to ANSI DDE APIs in ShellExecute if current
	emulated Windows version is Win9x, Excel refuses to communicate with a
	unicode client in win9x mode.

2005-11-11  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/dde_client.c:
	Convert some ERRs to WARNs in the DDE client code when appropriate.

2005-11-11  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/kernel/heap.c:
	Protect sys/stat.h with a conditional.

2005-11-11  Steven Edwards <winehacker@gmail.com>

	* dlls/msi/msi.c:
	Partly implement MsiMessageBox[A/W] on top of MessageBoxEx[A/W]

2005-11-11  Christoph Frick <frick@sc-networks.de>

	* dlls/dinput/joystick_linuxinput.c:
	Moved and adopted joystick_linux.c code into the
	joystick_linuxinput.c.

2005-11-11  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/opengl32/make_opengl, dlls/opengl32/opengl_ext.h,
	  dlls/opengl32/opengl_norm.c, dlls/opengl32/wgl.c,
	  dlls/opengl32/wgl_ext.c, dlls/x11drv/opengl.c:
	Add GLXFBConfig on Wine_GLContext (we should remove XVisualInfo
	references on code).
	Hook glGetIntegerv on GL_ALPHA_BITS to query on GLXFBConfig instead of
	glGetInteger (as it returns bad value).

2005-11-10  Francois Gouget <fgouget@free.fr>

	* dlls/advapi32/security.c, dlls/comctl32/comboex.c,
	  dlls/comctl32/listview.c, dlls/comctl32/treeview.c,
	  dlls/commdlg/filetitle.c, dlls/d3d8/cubetexture.c,
	  dlls/d3d8/device.c, dlls/d3d8/directx.c, dlls/d3d8/shader.c,
	  dlls/d3d8/stateblock.c, dlls/d3d8/texture.c, dlls/d3d9/device.c,
	  dlls/d3d9/directx.c, dlls/d3d9/vertexshader.c,
	  dlls/ddraw/ddraw_main.c, dlls/ddraw/device_main.c,
	  dlls/ddraw/device_opengl.c, dlls/ddraw/executebuffer.c,
	  dlls/ddraw/light.c, dlls/ddraw/opengl_utils.c,
	  dlls/ddraw/surface_main.c, dlls/ddraw/vertexbuffer.c,
	  dlls/dinput/device.c, dlls/dinput/mouse.c,
	  dlls/dmime/segtriggertrack.c, dlls/dmscript/script.c,
	  dlls/dmstyle/styletrack.c, dlls/dplayx/dplay.c, dlls/dpnet/address.c,
	  dlls/dsound/dsound_main.c, dlls/dxdiagn/provider.c,
	  dlls/gdi/bitmap.c, dlls/gdi/mfdrv/bitblt.c, dlls/kernel/comm.c,
	  dlls/mcicda/mcicda.c, dlls/mciseq/mcimidi.c, dlls/msi/action.c,
	  dlls/msi/custom.c, dlls/msi/files.c, dlls/msi/format.c,
	  dlls/msi/package.c, dlls/msi/table.c, dlls/msvcrt/tests/cpp.c,
	  dlls/ntdll/misc.c, dlls/odbc32/proxyodbc.c, dlls/ole32/antimoniker.c,
	  dlls/ole32/bindctx.c, dlls/ole32/ole2.c, dlls/oleaut32/typelib.c,
	  dlls/oleaut32/varformat.c, dlls/olepro32/olepro32stubs.c,
	  dlls/opengl32/wgl.c, dlls/opengl32/wgl_ext.c,
	  dlls/shell32/cpanelfolder.c, dlls/shell32/enumidlist.c,
	  dlls/shell32/pidl.c, dlls/shell32/shelllink.c,
	  dlls/shell32/shellord.c, dlls/shell32/shfldr_desktop.c,
	  dlls/shell32/shfldr_mycomp.c, dlls/shell32/tests/shlfileop.c,
	  dlls/shlwapi/tests/ordinal.c, dlls/tapi32/line.c, dlls/user/comm16.c,
	  dlls/user/dde_misc.c, dlls/user/tests/menu.c,
	  dlls/vwin32.vxd/vwin32.c, dlls/wined3d/basetexture.c,
	  dlls/wined3d/cubetexture.c, dlls/wined3d/device.c,
	  dlls/wined3d/directx.c, dlls/wined3d/drawprim.c,
	  dlls/wined3d/query.c, dlls/wined3d/stateblock.c,
	  dlls/wined3d/surface.c, dlls/wined3d/swapchain.c,
	  dlls/wined3d/texture.c, dlls/wined3d/volumetexture.c,
	  dlls/wined3d/wined3d_main.c, dlls/winedos/int10.c,
	  dlls/winedos/int15.c, dlls/wininet/ftp.c, dlls/wininet/http.c,
	  dlls/wininet/internet.c, dlls/winmm/mci.c,
	  dlls/winmm/mciwave/mciwave.c, dlls/winmm/mmsystem.c,
	  dlls/winmm/playsound.c, dlls/winmm/tests/mixer.c,
	  dlls/winmm/winealsa/audio.c, dlls/winmm/winearts/audio.c,
	  dlls/winmm/wineesd/audio.c, dlls/winsock/socket16.c,
	  dlls/winsock/tests/sock.c, dlls/wintab32/context.c,
	  dlls/wsock32/socket.c, dlls/x11drv/event.c, dlls/x11drv/keyboard.c,
	  dlls/x11drv/palette.c, dlls/x11drv/xfont.c, dlls/x11drv/xrandr.c,
	  programs/winevdm/winevdm.c:
	Remove spaces before '\n' in traces.

2005-11-10  Francois Gouget <fgouget@free.fr>

	* dlls/comctl32/listview.c, dlls/dxerr8/errors.awk,
	  dlls/dxerr9/errors.awk, dlls/msi/package.c, dlls/msi/tests/package.c,
	  dlls/msxml3/tests/domdoc.c, dlls/oleaut32/olepicture.c,
	  dlls/secur32/dispatcher.c, dlls/user/exticon.c,
	  dlls/wined3d/directx.c, dlls/wined3d/surface.c,
	  dlls/wined3d/vertexshader.c, dlls/winmm/wineoss/mmaux.c,
	  tools/sfnt2fnt.c:
	Assorted spelling and case fixes.

2005-11-10  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/advpack/tests/advpack.c:
	WinME fixes:
	- don't fail on WriteFile(),
	- add valid error codes,
	- empty buffer to avoid printing garbage,
	- remove bogus inf-file which TranslateInfString() creates here.

2005-11-10  Markus Amsler <markus.amsler@oribi.org>

	* tools/c2man.pl:
	Make parameter higlighting regex less "hungry".

2005-11-10  Francois Gouget <fgouget@codeweavers.com>

	* programs/winemenubuilder/winemenubuilder.c:
	Parse the command line returned by CommandLineFromMsiDescriptor() to
	extract the application path. Otherwise winemenubuilder ignores the
	.lnk file entirely.

2005-11-10  Francois Gouget <fgouget@free.fr>

	* dlls/comctl32/tests/toolbar.c, dlls/d3d9/device.c,
	  dlls/kernel/tests/thread.c, dlls/msxml3/tests/domdoc.c,
	  dlls/setupapi/tests/parser.c, dlls/user/tests/msg.c:
	Add trailing '\n's to ok() and TRACE() calls.

2005-11-10  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/tests/path.c:
	Add error code valid for Win9x and XP.

2005-11-10  Markus Amsler <markus.amsler@oribi.org>

	* dlls/shell32/brsfolder.c, dlls/shell32/pidl.c, dlls/shell32/shell.c,
	  dlls/shell32/shellole.c, dlls/shell32/shellord.c,
	  dlls/shell32/shellpath.c, dlls/shell32/shellstring.c,
	  dlls/shell32/shlfileop.c, dlls/shell32/shlmenu.c,
	  dlls/shell32/systray.c:
	Improve c2man Documented-Total count. Changes:
	- add missing description
	- add missing returns section
	- complete missing A/W pairs
	- reformate comments, to match c2man requirements

2005-11-10  Francois Gouget <fgouget@free.fr>

	* dlls/dxerr8/errors.dat, dlls/dxerr8/errors.h, dlls/dxerr9/errors.dat,
	  dlls/dxerr9/errors.h:
	Assorted spelling fixes in the DXErr8/9 error files.

2005-11-10  Francois Gouget <fgouget@free.fr>

	* dlls/dxerr8/errors.awk, dlls/dxerr9/errors.awk:
	Remove extra backslash that was causing an awk warning.

2005-11-10  Mike McCormack <mike@codeweavers.com>

	* programs/clock/Ko.rc, programs/clock/rsrc.rc, programs/regedit/Ko.rc,
	  programs/regedit/rsrc.rc:
	Added Korean resources.

2005-11-10  Mike McCormack <mike@codeweavers.com>

	* programs/start/start.c:
	Remove the limit on the length of the command line.

2005-11-10  Aric Stewart <aric@codeweavers.com>

	* dlls/msi/msi.c:
	Use MsiDecomposeDescriptorW in MsiProvideQualifiedComponentExW.

2005-11-10  Markus Amsler <markus.amsler@oribi.org>

	* dlls/uxtheme/system.c:
	Improve c2man Documented-Total count. Changes:
	- add missing returns section

2005-11-10  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/x11drv/init.c, include/wingdi.h:
	Added support for SHADEBLENDCAPS.

2005-11-10  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/wined3d/directx.c, include/wine/wined3d_gl.h:
	Define GL_EXT_framebuffer_object and GL_EXT_pixelbuffer_object openGL
	specs.
	Support Mesa GL_VERSION on parse.

2005-11-10  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/umon.c, dlls/urlmon/urlmon.spec, include/urlmon.idl:
	Added URLDownloadToCacheFile[AW] stub.

2005-11-10  Mike Hearn <mike@plan99.net>

	* dlls/wininet/version.rc:
	Update wininet version info.

2005-11-09  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.1.

----------------------------------------------------------------
2005-11-09  Huw Davies <huw@codeweavers.com>

	* dlls/wineps/ps.c:
	Escape non-printable characters in the document title and also
	truncate it to 0x80 characters.

2005-11-09  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/commdlg/Makefile.in, dlls/commdlg/filedlg.c:
	Initialize COM prior to displaying the file dialog.

2005-11-09  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/registry.c, dlls/msi/tests/db.c:
	Fix passing of NULL pointers to MsiDecomposeDescriptor and add a
	test.

2005-11-09  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c:
	Make sure we only CoUninitialize after successfully initializing.
	Fix the address of the returned IShellLinkDataList interface.

2005-11-09  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/file.c:
	Added IInternetPriority implementation to FileProtocol.

2005-11-09  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/user/cursoricon.c:
	If a color bitmap is provided, store bitmap information from it
	instead of the mask bitmap one.

2005-11-09  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/tests/msg.c, dlls/x11drv/winpos.c:
	Don't call SetWindowPos in ShowWindow if a parent window is not
	visible, only toggle the WS_VISIBLE flag.

2005-11-09  Markus Amsler <markus.amsler@oribi.org>

	* dlls/user/class.c, dlls/user/cursoricon.c, dlls/user/dde_misc.c,
	  dlls/user/defwnd.c, dlls/user/menu.c, dlls/user/message.c,
	  dlls/user/misc.c, dlls/user/resource.c, dlls/user/scroll.c,
	  dlls/user/win.c, dlls/user/winproc.c:
	Improve c2man Documented-Total count. Changes:
	- add missing description
	- add missing returns section
	- complete missing A/W pairs
	- reformate comments, to match c2man requirements

2005-11-09  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	- Cleanup formating of DispCallFunc.
	- Fix DispCallFunc for functions with return values.
	- Don't rely on _copy_arg as it is going away soon.

2005-11-09  Markus Amsler <markus.amsler@oribi.org>

	* dlls/ntdll/error.c, dlls/ntdll/reg.c, dlls/ntdll/sec.c,
	  dlls/ntdll/string.c, dlls/ole32/clipboard.c,
	  dlls/ole32/memlockbytes16.c, dlls/ole32/ole16.c, dlls/ole32/ole2.c,
	  dlls/ole32/storage.c, dlls/ole32/storage32.c:
	Improve c2man Documented-Total count.

2005-11-09  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/brsfolder.c:
	Initialize COM prior to displaying the SHBrowseForFolder dialog.

2005-11-09  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/shell32/tests/shlfolder.c:
	Disable code that segfaults on Win98 SE.

2005-11-09  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/compobj.c, dlls/ole32/compobj_private.h, dlls/ole32/ole16.c,
	  dlls/ole32/ole2.c, dlls/ole32/rpc.c:
	- Extend COM_OpenKeyForCLSID to open a subkey and return an HRESULT.
	- Fix up the callers and reorganize CoGetClassObject to split out the
	inproc code into another function.

2005-11-09  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/http.c, dlls/urlmon/tests/protocol.c:
	Added implementation of IInternetPriority in HttpProtocol.

2005-11-08  Alexandre Julliard <julliard@winehq.org>

	* include/xmldom.idl:
	Fixed typo: get_doctype returns an IXMLDOMDocumentType.

2005-11-08  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/element.c, dlls/msxml3/factory.c,
	  dlls/msxml3/main.c, dlls/msxml3/msxml_private.h, dlls/msxml3/node.c,
	  dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c,
	  dlls/msxml3/parseerror.c, dlls/msxml3/tests/domdoc.c:
	Include msxml2.h rather than msxml.h and xmldom.h.

2005-11-08  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c, dlls/user/tests/sysparams.c:
	Re-enable SPI_{GET,SET}BORDER tests and fix the bugs that caused them
	to be disabled.
	Add tests that show that the border value manipulated by
	SPI_{GET,SET}BORDER is completely the same as with
	SPI_{GET,SET}NONCLIENTMETRICS.
	Fix a few signed/unsigned warnings in unrelated tests from the same
	source file.
	Made the tests pass on wine.

2005-11-08  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/advapi32/tests/crypt.c:
	Win98 fails another way when user isn't logged in.

2005-11-08  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/shell32/systray.c:
	Unicodify systray.c.

2005-11-08  Alexandre Julliard <julliard@winehq.org>

	* include/windef.h:
	Add an argument to all uses of the __ONLY_IN_WINELIB macro (spotted by
	Berend Reitsma).

2005-11-08  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shdocvw/Makefile.in, dlls/shdocvw/shdocvw.h,
	  dlls/shdocvw/shdocvw_main.c, dlls/shdocvw/shlinstobj.c,
	  dlls/shdocvw/tests/shortcut.c:
	Support for shell instance objects.
	Removed a wine_todo for a no longer failing test.
	Added a test for IPersistFolder3::GetCurFolder.

2005-11-08  Alexandre Julliard <julliard@winehq.org>

	* dlls/mapi32/tests/prop.c:
	Get rid of FAR keywords.

2005-11-08  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	Implement selectSingleNode.

2005-11-08  Robert Lunnon <bobl@optushome.com.au>

	* dlls/kernel/heap.c:
	Implement GlobalMemoryStatusEx for Solaris.

2005-11-08  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/tests/heap.c:
	Take into account some alignment done by HeapAlloc() on Win9x.

2005-11-08  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/wininet/internet.c:
	Unicodify InternetCheckConnection.
	Use HeapAlloc'ed buffers where applicable.

2005-11-08  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/shell32/systray.c:
	Move functions a bit to get rid of a static declaration.

2005-11-08  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/comctl32/treeview.c:
	Do not issue a GetUpdateRect() to query an update region for
	WM_PAINT(wParam=HDC) case. Instead, use GetClientRect() for a bounding
	rect.

2005-11-08  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/Makefile.in, dlls/msxml3/domdoc.c,
	  dlls/msxml3/msxml_private.h, dlls/msxml3/parseerror.c,
	  dlls/msxml3/tests/domdoc.c:
	Implement get_parseError.

2005-11-08  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/gdi/font.c, dlls/hhctrl.ocx/hhctrl.c:
	Correct some allocated buffer lengths while converting to Unicode.

2005-11-08  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/comctl32/animate.c, dlls/comctl32/datetime.c,
	  dlls/comctl32/header.c, dlls/comctl32/hotkey.c,
	  dlls/comctl32/monthcal.c, dlls/comctl32/pager.c,
	  dlls/comctl32/progress.c, dlls/comctl32/propsheet.c,
	  dlls/comctl32/rebar.c, dlls/comctl32/status.c,
	  dlls/comctl32/syslink.c, dlls/comctl32/tab.c,
	  dlls/comctl32/toolbar.c, dlls/comctl32/tooltips.c,
	  dlls/comctl32/trackbar.c, dlls/comctl32/treeview.c,
	  dlls/comctl32/updown.c, dlls/user/button.c, dlls/user/edit.c,
	  dlls/user/listbox.c, dlls/user/static.c:
	Handle WM_PRINTCLIENT.
	Don't use SelectClipRgn in WM_PRINTCLIENT.

2005-11-08  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/wined3d/directx.c:
	Fix parsing of version number.

2005-11-08  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/element.c, dlls/msxml3/node.c,
	  dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c:
	Fix cut-n-paste error in licence text.

2005-11-08  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/d3d9/query.c:
	Allow NULL ppQuery to be passed to CreateQuery.

2005-11-08  James Hawkins <truiken@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/tests/advpack.c:
	Implement TranslateInfString with tests.

2005-11-08  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/ole32/compobj.c:
	Added tracing to CoCreateInstance.

2005-11-08  Markus Amsler <markus.amsler@oribi.org>

	* dlls/kernel/comm.c, dlls/kernel/computername.c, dlls/kernel/console.c,
	  dlls/kernel/environ.c, dlls/kernel/file.c, dlls/kernel/file16.c,
	  dlls/kernel/global16.c, dlls/kernel/heap.c, dlls/kernel/locale.c,
	  dlls/kernel/module.c, dlls/kernel/path.c, dlls/kernel/string.c,
	  dlls/kernel/sync.c, dlls/kernel/thread.c, dlls/kernel/thunk.c,
	  dlls/kernel/time.c, dlls/kernel/virtual.c, dlls/kernel/volume.c:
	Improve c2man Documented-Total count. Changes:
	- add missing description
	- add missing returns section
	- complete missing A/W pairs
	- reformate comments, to match c2man requirements

2005-11-08  Mike McCormack <mike@codeweavers.com>

	* dlls/ntdll/time.c:
	Add some missing timezones.

2005-11-08  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/dxdiagn/Makefile.in, dlls/dxdiagn/provider.c:
	- fill DirectShowFilters Container
	- fix some MLKs (clear variants)

2005-11-08  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/crypt32/tests/cert.c:
	Make Crypt32 tests loadable on Win98.

2005-11-08  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/winsock/tests/sock.c:
	Added last error code for XP SP1.

2005-11-08  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/dmloader/loader.c:
	Add some checks and fix some stream leaks.

2005-11-08  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/rpc.c:
	We shouldn't pass the application name into CreateProcess because the
	value stored in the registry could include arguments.

2005-11-08  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/swapchain.c:
	Fixed an error in Swapchain_GetFrontBufferData.

2005-11-08  Mike McCormack <mike@codeweavers.com>

	* programs/winemenubuilder/winemenubuilder.c:
	Extract the executable name for msi advertised shortcuts.

2005-11-08  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Fix a problem spotted by Dmitry and another one stopping correctly
	formatted lnk files from being generated.

2005-11-07  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/shlwapi/reg.c, dlls/shlwapi/shlwapi.spec:
	Semi-stub implementation for SHRegGetValue(A|W).

2005-11-07  James Hawkins <truiken@gmail.com>

	* include/winerror.h:
	Define the setupapi hresult errors.

2005-11-07  Peter Lemenkov <petro@mail.ru>

	* include/wininet.h:
	Added some missing definitions in wininet.h.

2005-11-07  Huw Davies <huw@codeweavers.com>

	* include/xmldom.idl, include/xmldomdid.h:
	Add IXMLDOMParseError.

2005-11-07  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/brsfolder.c:
	More robust code for querying ShellFolder attributes (some
	ShellFolders ignore the flag mask in GetAttributesOf).

2005-11-07  Alexandre Julliard <julliard@winehq.org>

	* dlls/setupapi/parser.c, dlls/setupapi/tests/.cvsignore,
	  dlls/setupapi/tests/Makefile.in, dlls/setupapi/tests/parser.c:
	Added a bunch of tests for the INF parser.

2005-11-07  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/enhmfdrv/graphics.c, dlls/gdi/font.c, dlls/gdi/gdi_private.h,
	  dlls/gdi/path.c, dlls/gdi/tests/metafile.c:
	First draft of ExtTextOut on an open path.

2005-11-07  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/dxdiagn/Makefile.in, dlls/dxdiagn/container.c,
	  dlls/dxdiagn/provider.c:
	- bug fixes on AddProp, AddContainer (stupid buffer overflows)
	- more complete container hierarchy
	- DXDiag_AddFileDescContainer service to fill dll info
	- almost complete DXDiag_InitDXDiagDirectXFilesContainer (for now)

2005-11-07  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/sysparams.c:
	Make SystemParametersInfoA( SPI_SETNONCLIENTMETRICS, ...) work by
	adding the needed non client metrics A->W conversions.

2005-11-07  Stefan Huehner <stefan@huehner.org>

	* dlls/secur32/secur32.c:
	Fix segfault when querying non-existent SecurityProvider.

2005-11-07  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/amstream/Makefile.in, dlls/amstream/amstream.c,
	  dlls/amstream/amstream_private.h, dlls/amstream/mediastream.c:
	Add stub implementation of IMediaStream interface.

2005-11-07  Vitaly Lipatov <lav@etersoft.ru>

	* dlls/atl/atl.spec, dlls/atl/atl_main.c:
	AtlAxWinInit dummy implementation.

2005-11-07  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ntdll/ntdll.spec, dlls/ntdll/rtlstr.c, include/winternl.h:
	Implement RtlInitAnsiStringEx.

2005-11-07  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/drawprim.c:
	Verify that the texture coordinate used in DrawStridedSlow is in range
	before trying to referencing the associated data.

2005-11-07  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Prevent SetFVF from clearing down the vertex declaration of the FVF is
	zero. This is required for Prince of Persia, The sands of time.

2005-11-07  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/resource.c:
	LdrAccessResource should pop 16 bytes off the stack since it is a
	WINAPI function.

2005-11-07  Marcus Meissner <marcus@jet.franken.de>

	* dlls/oleaut32/olepicture.c, dlls/oleaut32/tests/olepicture.c:
	Added support of loading of IPicture data from non-statable
	IStreams. Added testcases for this.

2005-11-07  James Hawkins <truiken@gmail.com>

	* dlls/hhctrl.ocx/hhctrl.c:
	Free an alloc'ed string.

2005-11-07  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/user/cursoricon.c:
	When creating black & white cursor icon, handle special case where
	hbmColor is null and hbmMask specify a bitmap having twice the height
	and formatted so the upper half is the icon AND bitmask and the lower
	one is the OR bitmask.

2005-11-07  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/d3d8/d3dcore_gl.h:
	Remove already included headers.

2005-11-05  Markus Amsler <markus.amsler@oribi.org>

	* dlls/gdi/driver.c, dlls/gdi/enhmetafile.c, dlls/gdi/font.c,
	  dlls/gdi/metafile.c, dlls/gdi/mfdrv/init.c, dlls/gdi/painting.c,
	  dlls/gdi/palette.c, dlls/gdi/path.c:
	Improve c2man Documented-Total count.

2005-11-05  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c, dlls/shell32/tests/shlfolder.c:
	- Move target folder initialization to a dedicated function.
	- Use this function in BindToObject (should be faster).
	- Special handling for FolderShortcut objects in Initialize method.
	- Removed a todo_wine from a no longer failing unit test.

2005-11-05  Davin McCall <davmac@davmac.org>

	* dlls/winmm/winealsa/audio.c:
	Avoid getting ahead of dsound mixer when using non-hw device. Also
	avoid using internal ALSA call to retrieve hardware play position.

2005-11-05  Kevin Koltzau <kevin@plop.org>

	* dlls/ntdll/thread.c:
	x86_64 references a named union, ensure unions are not nameless.

2005-11-05  Henning Gerhardt <henning.gerhardt@web.de>

	* dlls/commdlg/cdlg_De.rc:
	Update German resource file.

2005-11-05  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/winsock/socket.c, dlls/winsock/tests/sock.c:
	- Stricten cases for NT in a two tests.
	- WSAAddressToString[AW] don't fail on Win9x for those.
	- Modify it to pass new tests.

2005-11-05  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/msi/tests/db.c:
	Win9x returns MSIDBERROR_NOERROR.

2005-11-05  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/node.c, dlls/msxml3/nodelist.c, dlls/msxml3/tests/domdoc.c:
	Filter out CTEXT nodes when building element child lists.
	get_item and get_length should honour the filter.
	Add some '\n's to the tests so that libxml2 lists CTEXT nodes.

2005-11-05  Dimi Paun <dimi@lattica.com>

	* dlls/comctl32/listview.c:
	Validate the column index passed in by the caller.

2005-11-05  Marcus Meissner <marcus@jet.franken.de>

	* dlls/oleaut32/varformat.c:
	Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
	VARIANT_FormatDate.

2005-11-04  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Tidy up UpdateTexture and add support for updating cube textures.

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/win16.api, tools/winapi/win32.api:
	Update win16.api and win32.api.

2005-11-04  Markus Amsler <markus.amsler@oribi.org>

	* dlls/advapi32/advapi.c, dlls/advapi32/crypt.c, dlls/advapi32/eventlog.c,
	  dlls/advapi32/registry.c, dlls/advapi32/security.c,
	  dlls/advapi32/service.c:
	Improve c2man Documented-Total count.

2005-11-04  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/kernel/except.c:
	More verbose output when unhandled exception occurs.

2005-11-04  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c, dlls/shell32/tests/shelllink.c:
	Partially implement and test the shelllink object's
	IShellLinkDataList::CopyDataBlock and GetFlags methods.

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/winapi_parser.pm:
	volatile is legal (and used now!) in a typedef struct {}.

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/dbghelp/source.c, include/dbghelp.h, include/imagehlp.h,
	  tools/winapi/win32.api:
	Fix typo: PSYM_ENUMSOURCEFILES_CALLBACK instead of
	PSYM_ENUMSOURCFILES_CALLBACK.

2005-11-04  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/advapi32/tests/registry.c:
	- RegConnectRegistryA fails on Win9x when Remote Registry Service is
	not installed (WinReg.DLL is missing).
	- Test "\\" prefixed computer names too.

2005-11-04  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Use advapi32.CommandLineFromMsiDescriptor to get msi component paths.

2005-11-04  Mike McCormack <mike@codeweavers.com>

	* dlls/advapi32/advapi.c, dlls/advapi32/advapi32.spec:
	Implement advapi32.CommandLineFromMsiDescriptor. It's a wrapper for
	msi.MsiProvideComponentFromDescriptor.

2005-11-04  James Hawkins <truiken@gmail.com>

	* dlls/hhctrl.ocx/hhctrl.c:
	Pass HtmlHelp commands to doWinMain.

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* dlls/comctl32/string.c:
	Move functions in comctl32/string.c to remove function declaration.

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* tools/winapi/winapi_function.pm, tools/winapi/winapi_local.pm,
	  tools/winapi/winapi_parser.pm:
	__RPC_STUB is a calling convention as well (#defined as __stdcall).

2005-11-04  Vincent Béron <vberon@mecano.gme.usherb.ca>

	* include/wine/port.h:
	Fix warning about memmove re#definition.

2005-11-04  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/winsock/tests/sock.c:
	Make 4 WSAStringToAddress* tests don't fail on Win9x.

2005-11-04  Marcus Meissner <marcus@jet.franken.de>

	* dlls/oleaut32/tmarshal.c:
	Added support for VT_I8/VT_UI8 marshalling.

2005-11-04  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c:
	Add support for updating to D3DFMT_UNKNOWN surfaces and tidy up update
	surface a little.

2005-11-04  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tests/olefont.c:
	Add a test for Invoking an OleFont function.

2005-11-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/setupapi/install.c:
	Added support for optional section.ntx86 and section.nt in
	InstallHinfSection when current version is set to NT.

2005-11-03  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/defaulthandler.c:
	Implement OLE object notifications, making sure to cope with the case
	of the advise holder not being created because no notifications are
	needed.

2005-11-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* tools/wine.inf:
	Get rid of a double backslash.

2005-11-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/comctl32/string.c:
	Use Win32 APIs for string comparison.

2005-11-03  Vijay Kiran Kamuju <infyquest@gmail.com>

	* programs/winecfg/audio.c:
	Show detected audio drivers in autodetect.

2005-11-03  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/x11drv/winpos.c:
	Stricter check whether a window needs to be mapped on the screen.

2005-11-03  Kieran Clancy <n0dalus+wine@gmail.com>

	* dlls/ntdll/time.c:
	Added another CST (Australian Central Daylight Time) to TZ_INFO.

2005-11-03  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/oleaut32/tests/vartype.c, dlls/oleaut32/variant.c:
	Extend VarCmp() and add test cases.

2005-11-03  Kevin Koltzau <kevin@plop.org>

	* dlls/msvcrt/msvcrt.h, dlls/msvcrt/process.c, dlls/msvcrt/string.c,
	  dlls/msvcrt/tests/headers.c, dlls/msvcrt/thread.c,
	  include/msvcrt/process.h, include/msvcrt/stddef.h:
	Fix warnings and errors in 64bit.

2005-11-03  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Replaced tabs with spaces.

2005-11-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/commdlg/cdlg.h, dlls/commdlg/cdlg_Bg.rc, dlls/commdlg/cdlg_Cn.rc,
	  dlls/commdlg/cdlg_De.rc, dlls/commdlg/cdlg_En.rc,
	  dlls/commdlg/cdlg_Es.rc, dlls/commdlg/cdlg_Fi.rc,
	  dlls/commdlg/cdlg_Fr.rc, dlls/commdlg/cdlg_It.rc,
	  dlls/commdlg/cdlg_Nl.rc, dlls/commdlg/cdlg_No.rc,
	  dlls/commdlg/cdlg_Pl.rc, dlls/commdlg/cdlg_Pt.rc,
	  dlls/commdlg/cdlg_Ru.rc, dlls/commdlg/cdlg_Si.rc,
	  dlls/commdlg/cdlg_Sk.rc, dlls/commdlg/cdlg_Sv.rc,
	  dlls/commdlg/cdlg_Th.rc, dlls/commdlg/cdlg_Uk.rc,
	  dlls/commdlg/printdlg.c:
	Authors: Vijay Kiran Kamuju <infyquest@gmail.com>, Jonathan Ernst <Jonathan@ErnstFamily.ch>
	Display an error if no printer is installed.

2005-11-03  Marcus Meissner <marcus@jet.franken.de>

	* dlls/msvcrt/.cvsignore, dlls/msvcrt/Makefile.in, dlls/msvcrt/rsrc.rc:
	Specify a DLL version for msvcrt.dll.

2005-11-03  Stefan Huehner <stefan@huehner.org>

	* dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c,
	  dlls/msxml3/tests/domdoc.c:
	Add indexed access to attributes (nodemap) and childNodes
	(nodelist), with some testcases.

2005-11-03  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/tests/shlfolder.c:
	Added some more unit tests for FolderShortcut objects.

2005-11-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/comm.c:
	Fixed fd leaks (spotted by Cihan Altinay).

2005-11-03  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/msi/action.c, dlls/msi/appsearch.c, dlls/msi/msi.c,
	  dlls/version/info.c, dlls/version/install.c, dlls/version/ver16.c,
	  include/winver.h:
	Fix some wrong prototypes.

2005-11-03  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/dxdiagn/container.c, dlls/dxdiagn/provider.c:
	Fill provider with some empty containers.

2005-11-03  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shlexec.c, dlls/shell32/tests/shlexec.c:
	Invoke shortcuts through IContextMenu, rather than trying to access
	them directly.

2005-11-03  Mike McCormack <mike@codeweavers.com>

	* tools/wine.inf:
	Add the ContextMenuHandlers key for shortcuts so the new context menu
	code can work.

2005-11-03  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/editor.c, dlls/riched20/editstr.h, dlls/riched20/paint.c:
	Cache background color brush instead of recreating it at each screen
	update.

2005-11-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/winedbg/break.c:
	Fixed 'break NN' command (using dbghelp.SymEnumLines).

2005-11-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/wineconsole/dialog.c, programs/wineconsole/winecon_private.h,
	  programs/wineconsole/wineconsole.c:
	Fixed wineconsole startup when restoring registry settings.

2005-11-03  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/classes.c, dlls/msi/files.c,
	  dlls/msi/helpers.c:
	Remove some redundant null pointer checks.

2005-11-03  Alexandre Julliard <julliard@winehq.org>

	* dlls/shell32/shfldr_unixfs.c, dlls/shell32/shlfolder.c,
	  dlls/shell32/tests/shlfolder.c:
	Authors: Vitaliy Margolen <wine-patch@kievinfo.com>, Michael Jung <mjung@iss.tu-darmstadt.de>
	Set all capability flags supported by the shellfolder, disregarding
	the flag mask given to GetAttributesOf.
	Unit tests to demonstrate this behaviour.

2005-11-03  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y:
	Add missing semicolons that caused compile trouble on FreeBSD.

2005-11-03  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Pass the correct verb.
	Add a space between extra parameters.
	Wait for ShellExecute to complete.

2005-11-03  Steven Edwards <winehacker@gmail.com>

	* dlls/advpack/advpack.c, dlls/advpack/advpack.spec:
	Add a real stub for Advpack.extract.

2005-11-03  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/thread.c:
	Get rid of CPU id when copying context

2005-11-03  Raphael Junqueira <fenix@club-internet.fr>

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/drawprim.c,
	  dlls/d3d8/vshaderdeclaration.c:
	- defined D3DCOLOR_B macros to access byte values of D3DCOLOR
	- use D3DCOLOR macros instead of using shift + masks
	- fix a bug where diffuse.lpData checked instead of specular.lpData
	- implement color fixup on ARB VShader compilation code:
	->  on input parameters using swizzle
	-> add is_color parameter on vshader_program_add_param

2005-11-03  Hans Leidekker <hans@it.vu.nl>

	* dlls/advapi32/advapi32.spec, dlls/advapi32/service.c:
	Added stub for RegisterServiceCtrlHandlerEx{A,W}.

2005-11-03  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/riched20/caret.c, dlls/riched20/editor.c, dlls/riched20/editor.h,
	  dlls/riched20/paint.c, dlls/riched20/wrap.c:
	Added support for EM_REQUESTRESIZE message, EN_REQUESTRESIZE
	notification, and ENM_REQUESTRESIZE event mask.

2005-11-03  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/scroll.c:
	Scroll bar: Keep the caret blinking during scroll operations (only
	handle WM_SYSTIMER messages that belong to the scroll bar).

2005-11-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/dbghelp/dbghelp.spec, dlls/dbghelp/dbghelp_private.h,
	  dlls/dbghelp/source.c, dlls/dbghelp/symbol.c, include/dbghelp.h:
	Implemented SymEnumLines.

2005-11-03  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/wineconsole/dialog.c, programs/wineconsole/user.c,
	  programs/wineconsole/winecon_user.h:
	Now filling external leading in font cells.

2005-11-02  Huw Davies <huw@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	Don't call Release on a null ptr.

2005-11-02  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/tests/thread.c, dlls/ntdll/exception.c,
	  dlls/ntdll/ntdll_misc.h, dlls/ntdll/signal_i386.c,
	  dlls/ntdll/signal_powerpc.c, dlls/ntdll/signal_sparc.c,
	  dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c,
	  include/wine/server_protocol.h, server/protocol.def, server/thread.c,
	  server/thread.h, server/trace.c:
	Fixed Get/SetThreadContext to work properly on suspended threads.
	Added a test case.

2005-11-02  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/opengl32/wgl.c, dlls/shell32/shelllink.c:
	Correct WINAPI position for MSVC portability.

2005-11-02  Eric Pouech <eric.pouech@wanadoo.fr>

	* programs/wineconsole/dialog.c:
	Fixed crash in font browsing for raster fonts.

2005-11-02  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/variant.c:
	Fix a crash during +variant logging caused by a typo causing an array
	to be one element less than expected.

2005-11-02  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c, dlls/wined3d/surface.c,
	  include/wine/wined3d_interface.h:
	Implement D3DFMT_UNKNOWN surfaces, this seems to be used a lot in d3d8
	but I haven't found any d3d9 application that uses D3DFMT_UNKNOWN
	surfaces yet.

2005-11-02  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tmarshal.c:
	- Make sure to clean up properly on error.
	- Restrict the critical section to getting the channel buffer and
	adding a reference to it.

2005-11-02  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c:
	- Make wParamFlags in the paramdesc dumping function human readable.
	- Enums should be VT_I4 instead of VT_INT.
	- Trace the return value from the ITypeInfo_fnInvoke.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y, dlls/msi/tests/package.c:
	NULL and empty strings are the same in conditions.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/imm32/imm.c:
	Change a FIXME message to a comment.

2005-11-02  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/comctl32/tab.c:
	Avoid printing out a possibly uninitialized variable.

2005-11-02  Stefan Huehner <stefan@huehner.org>

	* dlls/msxml3/node.c, dlls/msxml3/tests/domdoc.c:
	Extend get_nodeName add testcases for it.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c, dlls/msi/msi.spec, include/msi.h:
	Stub implementation for MsiAdvertiseScriptA/W.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/create.c, dlls/msi/delete.c, dlls/msi/distinct.c,
	  dlls/msi/insert.c, dlls/msi/order.c, dlls/msi/record.c,
	  dlls/msi/select.c, dlls/msi/string.c, dlls/msi/table.c,
	  dlls/msi/update.c, dlls/msi/where.c:
	Create the +msidb debug channel for msi database code.

2005-11-02  Aric Stewart <aric@codeweavers.com>

	* dlls/msi/action.c:
	Force files to install if the REINSTALL property is set.

2005-11-02  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/resource.c:
	Make LdrAccessResource call an internal function to satisfy Shrinker.

2005-11-02  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/tests/om.c, server/named_pipe.c:
	Fix error returned when opening nonexistent pipes.

2005-11-02  Alexandre Julliard <julliard@winehq.org>

	* server/context_i386.c, server/context_powerpc.c, server/context_sparc.c,
	  server/context_x86_64.c, server/thread.c, server/thread.h:
	Moved the platform-independent part of the get/set_thread_context
	requests to a common file.

2005-11-02  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Added some comments to document unixfs.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/install.c, dlls/msi/tests/package.c:
	Fix parameter handling in MsiSetTargetPath, and add a test for it.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/files.c:
	Implement the RemoveFiles action.

2005-11-02  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ntdll/rtlstr.c:
	Minor fixes to rtl string functions.

2005-11-02  David Kredba <kredba@math.cas.cz>

	* dlls/commdlg/cdlg_Cs.rc, dlls/devenum/devenum.rc, dlls/hhctrl.ocx/Cs.rc,
	  dlls/hhctrl.ocx/hhctrl.rc, dlls/mpr/mpr_Cs.rc:
	Czech resources update.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c, dlls/msi/msi.spec, include/msi.h:
	Stub implementation for MsiGetFileHashA/W.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/files.c:
	Use an enumeration for file states.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Define NONAMELESSUNION and NONAMELESSSTRUCT for older compilers.

2005-11-02  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/comctl32/listview.c:
	Clear bLButtonDown flags if mouse is not down.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/riched20/reader.c, dlls/riched20/rtf.h:
	Convert all RTFPanic and RTFMsg calls to ERR calls.

2005-11-02  Rob Shearman <rob@codeweavers.com>

	* include/rpcndr.h:
	Add declarations for NdrAsyncClientCall, NdrAsyncStubCall and
	RpcMgmtEnableIdleCleanup.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* tools/winedump/lnk.c:
	Handle msi component identifiers without a feature guid.

2005-11-02  Mike McCormack <mike@codeweavers.com>

	* dlls/msxml3/node.c:
	Implement IXMLDOMNode::get_nodeName.

2005-11-02  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/oleaut.c:
	The PSDispatch PS class factory can manage both typelib marshalled and
	IDispatch, which is NDR marshalled, so we need a wrapper to call the
	appropriate CreateProxy or CreateStub function.

2005-11-02  Lionel Ulmer <lionel.ulmer@free.fr>

	* dlls/x11drv/settings.c, include/winuser.h:
	Add 'ENUM_...._SETTINGS' flag and make use of it in the X11DRV code.

2005-11-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/except.c, dlls/ntdll/exception.c,
	  include/wine/server_protocol.h, server/debugger.c,
	  server/protocol.def, server/thread.c:
	Don't send an extra signal when waiting for a debug event, just do a
	normal wait.  Return the debug event status directly as return value
	of the server call.

2005-11-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/thread.c, server/context_i386.c, server/context_powerpc.c,
	  server/context_sparc.c, server/context_x86_64.c:
	Don't send the incoming context to the server for get_thread_context,
	instead copy only the relevant fields of the return value on the
	client side.

2005-11-01  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/tests/om.c, server/named_pipe.c:
	Fix error returned when exceeding allowed instances.

2005-11-01  Martin Fuchs <martin-fuchs@gmx.net>

	* dlls/comctl32/string.c:
	Include config.h and port.h for strncasecmp() in MSVC port.

2005-11-01  Bernd Schmidt <bernds_cb1@t-online.de>

	* dlls/kernel/file.c:
	Implemented FindExSearchLimitToDirectories.

2005-11-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/msvcrt/msvcrt.spec:
	Fixed _wstrdate/_wstrtime parameters.

2005-11-01  Alexandre Julliard <julliard@winehq.org>

	* dlls/wininet/http.c:
	Authors: Marcus Meissner <marcus@jet.franken.de>, Walter Weiss <wjweiss@hotmail.com>
	Added handling of more HTTP standard headers and binary search lists.

2005-11-01  Marcus Meissner <marcus@jet.franken.de>

	* dlls/oleaut32/tests/vartype.c:
	SysReAllocString of same pointer returns TRUE.

2005-11-01  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/shfldr_unixfs.c:
	Fixed crash in unixfs shellfolder handling with winamp.

2005-11-01  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/amstream/amstream.c, dlls/amstream/main.c:
	Use a more standard indentation style.

2005-11-01  Vitaliy Margolen <wine-patch@kievinfo.com>

	* tools/wine.inf:
	Remove version information.

2005-11-01  Ulrich Czekalla <ulrich@codeweavers.com>

	* dlls/x11drv/clipboard.c:
	Improve handling of mapping between X and Windows formats.
	Add support for UTF8.

2005-11-01  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/tests/om.c, server/main.c, server/object.c, server/object.h,
	  server/winstation.c:
	- Use OBJ_CASE_INSENSITIVE in object lookup.
	- Remove case_sensitive flag from namespace.
	- Remove todo_wine from now succeeding tests.

2005-11-01  Davin McCall <davmac@davmac.org>

	* dlls/dsound/mixer.c:
	PhaseCancel subtracts secondary buffer from primary buffer, not the
	other way around.

2005-11-01  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/painting.c:
	ScrollWindowEx: Don't move the caret of child windows and hide it only
	if it's in the source or in the destination rectangle.

2005-11-01  Robert Shearman <rob@codeweavers.com>

	* dlls/shell32/shfldr.h, dlls/shell32/shfldr_desktop.c,
	  dlls/shell32/shfldr_fs.c, dlls/shell32/shlfolder.c:
	Convert SHELL32_BindToChild to Unicode and fix up the callers.

2005-11-01  Robert Shearman <rob@codeweavers.com>

	* dlls/ntdll/exception.c, dlls/ntdll/signal_i386.c:
	Make the call exception handler function more compatible with NT and
	with what Shrinker expects.

2005-10-31  Stefan Huehner <stefan@huehner.org>

	* programs/winetest/Makefile.in:
	Add msxml3,setupapi tests to winetest.

2005-10-31  Alexandre Julliard <julliard@winehq.org>

	* configure, configure.ac, programs/Makefile.in,
	  programs/eject/.cvsignore, programs/eject/Makefile.in,
	  programs/eject/eject.c:
	Added an 'eject' Winelib app that allows unmounting and ejecting a CD
	even if a Windows app has files open on it.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/rpcrt4/ndr_marshall.c:
	Marshal enums.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/msxml3/domdoc.c, dlls/msxml3/element.c, dlls/msxml3/node.c,
	  dlls/msxml3/nodelist.c, dlls/msxml3/nodemap.c:
	Actually print the IIDs.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/enhmetafile.c, include/wingdi.h:
	Implement playback of EMR_ALPHABLEND.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/freetype.c:
	Only select a bitmap font as a last resort if we can't find a font
	with the correct facename.

2005-10-31  Marcus Meissner <marcus@jet.franken.de>

	* server/mapping.c:
	Do not overflow the stackbased "nt" struct when reading non-conforming
	PE files.

2005-10-31  Alexandre Julliard <julliard@winehq.org>

	* DEVELOPERS-HINTS, configure, configure.ac, dlls/Makefile.in,
	  dlls/ttydrv/.cvsignore, dlls/ttydrv/Makefile.in,
	  dlls/ttydrv/bitmap.c, dlls/ttydrv/dc.c, dlls/ttydrv/graphics.c,
	  dlls/ttydrv/objects.c, dlls/ttydrv/palette.c, dlls/ttydrv/ttydrv.h,
	  dlls/ttydrv/ttydrv_main.c, dlls/ttydrv/winetty.drv.spec,
	  dlls/ttydrv/wnd.c:
	Get rid of the no longer used tty driver.

2005-10-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/user/driver.c:
	Default to the null driver instead of dying if the specified display
	driver couldn't be loaded.

2005-10-31  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/painting.c, dlls/user/tests/msg.c:
	Add the tests for behaviour of [In]validateRect and [In]validateRgn
	with hwnd set to 0, make them pass under Wine.

2005-10-31  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shdocvw/shdocvw_main.c:
	Only return SHDOCVW_ClassFactory if asked for CLSID_WebBrowser.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/oleaut32/usrmarshal.c:
	Deal with pExcepInfo == NULL.

2005-10-31  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Make sure to unregister all the classes that were registered when msi
	is unloaded, so we can register again cleanly.

2005-10-31  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/tests/shlexec.c:
	Add void to empty declaration list.

2005-10-31  Alexandre Julliard <julliard@winehq.org>

	* dlls/gdi/dc.c, dlls/gdi/driver.c:
	Default to an empty driver instead of dying if the specified display
	driver couldn't be loaded.

2005-10-31  Michael Jung <mjung@iss.tu-darmstadt.de>

	* configure, configure.ac, dlls/shdocvw/Makefile.in,
	  dlls/shdocvw/tests/.cvsignore, dlls/shdocvw/tests/Makefile.in,
	  dlls/shdocvw/tests/shortcut.c:
	Added initial tests for shdocvw's FolderShortcut related
	functionality.

2005-10-31  Marcus Meissner <meissner@suse.de>

	* dlls/ntdll/exception.c, dlls/ntdll/signal_i386.c:
	Added assembly implementation of EXC_CallHandler.

2005-10-31  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/install.c, dlls/msi/msipriv.h, dlls/msi/package.c,
	  dlls/msi/tests/package.c:
	Fix and test MsiGetProperty and MsiSetProperty.

2005-10-31  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c, dlls/msi/tests/.cvsignore, dlls/msi/tests/Makefile.in,
	  dlls/msi/tests/msi.c:
	Improve MsiUseFeatureEx and MsiGetFeatureState a little, add some
	simple test cases.

2005-10-31  James Hawkins <truiken@gmail.com>

	* dlls/wininet/internet.c, dlls/wininet/tests/http.c:
	Implement InternetCreateUrlW and test cases.

2005-10-31  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/dc.c, dlls/gdi/enhmfdrv/dc.c, dlls/gdi/enhmfdrv/init.c,
	  dlls/gdi/tests/.cvsignore, dlls/gdi/tests/Makefile.in,
	  dlls/gdi/tests/dc.c, dlls/gdi/tests/metafile.c:
	Fix handling of relative state indices in RestoreDC.
	Fix return value of SaveDC when writing to an emf.
	Before writing the EMR_EOF record we should ensure that we clear the
	state stack.

2005-10-31  Christian Costa <titan.costa@wanadoo.fr>

	* dlls/ddraw/direct3d_opengl.c, dlls/ddraw/light.c,
	  dlls/ddraw/opengl_private.h:
	Finish moving d3d[1..3] light code to use d3d7.

2005-10-31  Marcus Meissner <meissner@suse.de>

	* dlls/kernel/time.c:
	Define obsoleted CLK_TCK to CLOCKS_PER_SEC if not there.

2005-10-31  Hans Leidekker <hans@it.vu.nl>

	* dlls/odbccp32/odbccp32.c:
	Improve the implementation of SQLConfigDataSource, SQLConfigDriver,
	SQLInstallDriver{,Ex}, SQLInstallerError and
	SQLInstallTranslator{,Ex}.

2005-10-31  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/crypt32.spec,
	  dlls/crypt32/tests/cert.c:
	Implement CertSignSignature and CertVerifySignature(Ex).

2005-10-31  Robert Reif <reif@earthlink.net>

	* dlls/winmm/tests/wave.c:
	Add waveOutPause/waveOutRestart test.
	Tighten up play duration test when ending too soon.
	Set VirtualFree size to 0.

2005-10-31  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/shlwapi/tests/path.c:
	Stop PathIsValidCharW tests after 100 failing tests.

2005-10-31  Roderick Colenbrander <thunderbird2k@gmx.net>

	* dlls/d3d9/query.c:
	In case of D3D9 the CreateQuery call can be used to retrieve status  
	information. According to MSDN the 'ppQuery' parameter can be set to
	NULL to detect if a certain query Type is supported.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	Add a stub for the AllocateRegistrySpace action.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/database.c, dlls/msi/msi.c,
	  dlls/msi/package.c, include/msiquery.h:
	Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Add a read-only implementation of the SelectionTree control.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/classes.c:
	Simplify register_progid() and remove a fixed length buffer.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Handle MaskEdit masks containing dashes and other constant
	characters.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	Use msi_get_property_int() in a few more places.

2005-10-30  Alexandre Julliard <julliard@winehq.org>

	* dlls/winecrt0/crt0_private.h, dlls/winecrt0/delay_load.c,
	  dlls/winecrt0/dll_entry.c, dlls/winecrt0/dll_main.c,
	  dlls/winecrt0/drv_entry.c, dlls/winecrt0/exe_entry.c,
	  dlls/winecrt0/exe_wentry.c, dlls/winecrt0/init.c,
	  dlls/winecrt0/stub.c, include/winnt.h:
	Make all winecrt0 functions and variables hidden.

2005-10-30  Julien Cegarra <JulienC@psychologie-fr.org>

	* dlls/Makefile.in, dlls/winmm/Makefile.in, dlls/winmm/sound.drv.spec,
	  dlls/winmm/sound.spec:
	Correct name of sound.dll to sound.drv (WIN16).

2005-10-30  Kai Blin <blin@gmx.net>

	* dlls/secur32/Makefile.in, dlls/secur32/dispatcher.c,
	  dlls/secur32/secur32_priv.h:
	A dispatcher for running ntlm_auth.

2005-10-30  Michael Kaufmann <hallo@michael-kaufmann.ch>

	* dlls/user/scroll.c:
	Handle the left and right arrow keys.

2005-10-30  Christian Costa <titan.costa@wanadoo.fr>

	* include/wine/library.h:
	Remove no longer used wine_dbg_parse_options and wine_dbg_add_options
	prototypes.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/install.c, dlls/msi/msi.spec, include/msiquery.h:
	Add a stub implementation of msi.MsiSetMode.

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/classes.c:
	Remove unused package parameter of register_progid_base().

2005-10-30  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/dialog.c, dlls/msi/package.c:
	Use "static const" rather than "const static" as gcc -W complains
	about the former.

2005-10-30  Robert Reif <reif@earthlink.net>

	* dlls/msvcrt/msvcrt.spec, dlls/msvcrt/tests/time.c, dlls/msvcrt/time.c:
	Implement _wstrdate and _wstrtime with tests.

2005-10-30  Peter Beutner <p.beutner@gmx.net>

	* dlls/msvcrt/cppexcept.c:
	Fix exception handling for non CXX_EXCEPTIONs.

2005-10-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* server/console.c, server/event.c, server/handle.c, server/mailslot.c,
	  server/mapping.c, server/mutex.c, server/named_pipe.c,
	  server/object.c, server/object.h, server/process.c,
	  server/semaphore.c, server/timer.c, server/winstation.c:
	Pass object attributes to create_named_object & find_object.

2005-10-29  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/kernel/atom.c:
	Implemented local/global atom creation, deletion & lookup on top of
	ntdll.

2005-10-29  Juan Lang <juan_lang@yahoo.com>

	* dlls/wldap32/wldap32.spec:
	Export functions by ordinal, cryptnet.dll at least depends on it.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	Don't change the UI level during ExecuteAction.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c:
	Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
	versions.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/files.c,
	  dlls/msi/helpers.c:
	Remove the unused 1st parameter of ACTION_VerifyComponentForAction.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Explicitly check for MSICONDITION_TRUE being returned from
	MsiEvaluateCondition.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/files.c:
	Some installers don't call the CreateFolders action before the
	InstallFiles action as MSDN specifies, but it still seems to work, so
	make sure that we create component directories in the InstallFiles
	action anyway.

2005-10-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/header.c:
	Unify HEADER_GetItem[A/W] into one function.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y, dlls/msi/tests/package.c:
	Add a bunch of tests for MsiEvaluateCondition and make them pass.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Make enter and escape trigger the default and cancel buttons in
	dialogs.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/table.c:
	Deleted two buggy functions that incorrectly and inefficiently check
	whether a row already exists in a table, and replaced them with a call
	to an existing working function that does the same thing correctly.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	Remove an incorrect comment and check for 0 being an invalid file
	handle.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	Extract file directly to their target location, bypassing the need to
	use temporary files and move files.

2005-10-29  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/typelib.c, dlls/oleaut32/typelib.h:
	- Read DLL name from modules in MSFT typelibs.
	- A name offset of -1 for a parameter means that it has the same name
	as the function.
	- Print an error if a ReadName is attempted with an offset of -1,
	since this will read garbage.
	- Implement ITypeInfo_GetDllEntry.

2005-10-29  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/device.c, dlls/wined3d/stateblock.c,
	  dlls/wined3d/wined3d_private.h:
	Move the softwareVertexProcessing flag from the stateblock to the
	device because its state shouldn't be recorded in a stateblock.

2005-10-29  Robert Shearman <rob@codeweavers.com>

	* dlls/gdi/dc.c:
	Print an error if a DC is created with a bad device.

2005-10-29  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/driveui.c:
	Set list view's text directly - don't use fill_drives_list for that.
	Enable "Apply" button when text changes.

2005-10-29  Kevin Koltzau <kevin@plop.org>

	* dlls/msvcrt/console.c:
	Enable line editing for _cgets.

2005-10-29  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ole32/tests/stg_prop.c:
	Delete some temp files created by the ole32 tests.

2005-10-29  Thomas Weidenmueller <wine-patches@reactsoft.com>

	* dlls/msi/action.c:
	Passing NULL as the last two parameters to ReadFile is illegal and
	actually causes a crash on windows. The attached patch fixes this.

2005-10-29  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/urlmon/file.c, dlls/urlmon/tests/protocol.c:
	Report BINDSTATUS_SENDINGREQUEST in FileProtocol::Start.

2005-10-29  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c:
	Add an implementation for MsiGetShortcutTargetA/W.

2005-10-28  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/directory.c, dlls/ntdll/file.c, dlls/ntdll/ntdll_misc.h:
	Added an implementation of the FSCTL_DISMOUNT_VOLUME ioctl that
	attempts to unmount the Unix device.

2005-10-28  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ntdll/om.c, include/winternl.h:
	Fix NtQueryDirectoryObject prototype, documentation, and the
	definition of the structure it uses.

2005-10-28  Huw Davies <huw@codeweavers.com>

	* dlls/gdi/dc.c, dlls/gdi/tests/.cvsignore, dlls/gdi/tests/Makefile.in,
	  dlls/gdi/tests/mapping.c:
	xform can be NULL when setting the identity.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/install.c:
	Fix a memory leak.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Handle MSI advertised shortcuts in the shelllink object.

2005-10-28  Henning Gerhardt <henning.gerhardt@web.de>

	* programs/regedit/De.rc:
	Update the German resource file.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	Put the UI update code for cabinet file into a separate function.

2005-10-28  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/version/install.c:
	Correct the way that VerFindFileA checks for a file that is
	exclusively locked.

2005-10-28  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/tests/thread.c:
	Test CreateThread() for reception of NULL pointer to TID.

2005-10-28  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/user/tests/msg.c:
	Don't pass CreateThread() with a NULL pointer to TID as Win9x does not
	create a thread then.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.c:
	Return an error in MsiGetComponentPathW if passed a null component.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/cond.y:
	Fix error handling in MsiEvaluateCondition.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	Translate INVALID_HANDLE_VALUE to zero for cabinet handles.

2005-10-28  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/tests/console.c:
	Don't send a CTRL_C_EVENT signal to console if we are on Win9x and
	console signal handler is set to NULL.

2005-10-28  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/header.c:
	Unify HEADER_InsertItem[A/W] into one function.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/files.c:
	Fix a memory leak in the cabinet extracting code.

2005-10-28  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/cert.c, dlls/crypt32/encode.c, dlls/crypt32/protectdata.c:
	Use CryptMem functions for internal memory allocation.

2005-10-28  Michael Jung <mjung@iss.tu-darmstadt.de>

	* programs/regedit/De.rc:
	Added German resources for regedit's find dialog.

2005-10-28  James Hawkins <truiken@gmail.com>

	* dlls/wininet/internet.c:
	Correct parameter names for InternetSetFilePointer.

2005-10-28  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/oleaut32/variant.c:
	Handle VT_DECIMAL in VarCmp().

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msvcrt/wcs.c:
	Use the correct buffer - reported by Jesse Allen.

2005-10-28  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/kernel/tests/thread.c:
	Add a test for GetThreadExitCode.
	Use GetModuleHandleA as kernel32 should be present on every system.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Implement IContextMenu::QueryContextMenu and
	IContextMenu::InvokeCommand.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msi.spec:
	Fix MsiGetPropertyA/W spec declarations.

2005-10-28  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/files.c:
	Create component folders in the CreateFolders action.

2005-10-28  Vitaliy Margolen <wine-patch@kievinfo.com>

	* programs/winecfg/appdefaults.c:
	Define OS environment variable on WinNT versions.

2005-10-27  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/file.c, dlls/ntdll/sync.c, dlls/ntdll/virtual.c,
	  include/wine/server_protocol.h, server/event.c, server/handle.c,
	  server/handle.h, server/mailslot.c, server/mapping.c, server/mutex.c,
	  server/named_pipe.c, server/protocol.def, server/semaphore.c,
	  server/timer.c, server/trace.c, server/winstation.c:
	- Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
	inherit flag.
	- Pass DesiredAccess to the server when creating mailslot.

2005-10-27  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/mapi32/tests/Makefile.in, dlls/mapi32/tests/prop.c:
	Allow mapi32 tests to load and exit gracefully if mapi32.dll isn't
	installed.

2005-10-27  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/advapi32/tests/registry.c:
	Delete a temp file.

2005-10-27  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/wininet/internet.c:
	Add default implementation for max_conn_pre_*_server flag.
	Add stubs for the above flags in InternetSetOption.

2005-10-27  Phil Krylov <phil@newstar.rinet.ru>

	* dlls/gdi/clipping.c, dlls/gdi/dc.c, dlls/gdi/enhmfdrv/bitblt.c,
	  dlls/gdi/font.c:
	Fixed SetTextAlign(), SetBkMode(), SetROP2(), SetPolyFillMode(), and
	SetStretchBltMode() to assume that the corresponding DC driver
	functions return only a BOOL success flag, and therefore a proper
	return value should be generated by the main function. Fixed
	EMFDRV_StretchDIBits() to return a proper value (like
	MFDRV_StretchDIBits already does). Added comments about other cases of
	improper return values.

2005-10-27  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/user/input.c, dlls/user/listbox.c, dlls/user/message.c,
	  dlls/user/spy.c, include/winuser.h:
	Add some missing USER definitions, add a couple of FIXMEs for not
	implemented features.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/custom.c:
	If an action fails, print out its name as well as the error code.  Use
	%d for error codes so it's easy to match them up to something in
	winerror.h.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/action.h, dlls/msi/appsearch.c,
	  dlls/msi/classes.c, dlls/msi/custom.c, dlls/msi/format.c,
	  dlls/msi/helpers.c:
	Rename load_dynamic_stringW to msi_dup_record_field to better describe
	what it does, and replace a few instances with MSI_RecordGetString to
	avoid allocating memory.

2005-10-27  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/msg.c:
	Add test for undocumented 0x4D message sent on F1.

2005-10-27  Vijay Kiran Kamuju <infyquest@gmail.com>

	* dlls/msvcrt/tests/printf.c:
	Added a test case for %0f and %.0f.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/database.c, dlls/msi/msipriv.h, dlls/msi/table.c:
	Implement transforms.  This still includes some debugging code which
	can be enabled by setting debug_transform to 1 in the relevant
	places.

2005-10-27  Robert Lunnon <bobl@optushome.com.au>

	* dlls/wineps/init.c:
	Reorder header files to avoid name space collision with symbol
	PAGESIZE.

2005-10-27  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/Makefile.in, dlls/shell32/shfldr_unixfs.c,
	  dlls/shell32/tests/shlfolder.c:
	Implemented UnixFolder's IPersistPropertyBag::Load method.

2005-10-27  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/oleaut32/tests/vartype.c:
	Add tests for functionality implemented or corrected: multiplication,
	division, cast to double, cast to string.

2005-10-27  Robert Shearman <rob@codeweavers.com>

	* include/rpcproxy.h:
	Add the macros used in dlldata.c files.

2005-10-27  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tmarshal.c:
	There is no need to call IUnknown_QueryInterface since getting the
	correct object is handled by the proxy manager.

2005-10-27  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/shell32/iconcache.c:
	Remove iconcache pre-initialization hack, it's not necessary any
	more.

2005-10-27  Hans Leidekker <hans@it.vu.nl>

	* tools/wineinstall:
	Wine is beta software now.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	Tidy up the RegisterProduct action a little.

2005-10-27  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/d3d8/device.c:
	Release the OpenGL context when the device is released.

2005-10-27  Alexandre Julliard <julliard@winehq.org>

	* programs/winecfg/Bg.rc, programs/winecfg/De.rc, programs/winecfg/En.rc,
	  programs/winecfg/Fi.rc, programs/winecfg/Fr.rc,
	  programs/winecfg/Ja.rc, programs/winecfg/Nl.rc,
	  programs/winecfg/No.rc, programs/winecfg/Ru.rc,
	  programs/winecfg/driveui.c, programs/winecfg/resource.h:
	Get rid of the show dir symlink option.

2005-10-27  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/directory.c:
	Make show_dir_symlinks the default and get rid of the option.

2005-10-27  Alexandre Julliard <julliard@winehq.org>

	* server/fd.c:
	Make the unmount_device request take a handle to the device file
	itself instead of a handle to a file opened on the device.

2005-10-27  Robert Reif <reif@earthlink.net>

	* dlls/dxerr8/dxerr8.c, dlls/dxerr8/errors.dat, dlls/dxerr8/errors.h,
	  dlls/dxerr9/dxerr9.c, dlls/dxerr9/errors.dat, dlls/dxerr9/errors.h:
	Added more error codes to dxerr8 and dxerr9 which were extracted from
	MinGW win32api-3.3 file dxerr.c written by Filip Navara <xnavara@volny.cz>.

2005-10-27  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/kernel/tests/process.c:
	Test for argv handling.

2005-10-27  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/ntdll/nt.c, dlls/ntdll/ntdll.spec, include/winternl.h:
	Add stub implementation for NtAccessCheckAndAuditAlarm.

2005-10-27  Stefan Leichter <Stefan.Leichter@camLine.com>

	* include/advpub.h:
	Declare ExecuteCab and TranslateInfString.

2005-10-27  Juan Lang <juan_lang@yahoo.com>

	* dlls/crypt32/crypt32.spec, dlls/crypt32/main.c,
	  dlls/crypt32/tests/main.c, include/wincrypt.h:
	Implement CryptMem and undocumented I_Crypt*Tls functions, with tests.

2005-10-27  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/wined3d/vertexshader.c:
	Correct the number of parameters expected for the LRP function.

2005-10-27  Oliver Stieber <oliver_stieber@yahoo.co.uk>

	* dlls/d3d8/d3d8_private.h, dlls/d3d8/device.c, dlls/d3d8/indexbuffer.c,
	  dlls/d3d8/vertexbuffer.c:
	Changed index and vertex buffer so that internal references are
	counted separately to external ones.

2005-10-27  Jonathan Ernst <Jonathan@ErnstFamily.ch>

	* programs/regedit/Fr.rc:
	Updated French resources.

2005-10-27  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/shell32/shellord.c:
	Correctly handle flags parameter in SHAddToRecentDocs.

2005-10-27  Marcus Meissner <marcus@jet.franken.de>

	* aclocal.m4, configure:
	Print first line of LDD output only.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/msvcrt/wcs.c:
	Missing and zero precision specifiers are different.

2005-10-27  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/regsvr.c, include/ocidl.idl:
	Add IFontEventsDisp and IProvideMultipleClassInfo.

2005-10-27  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/comctl32/header.c:
	Unify HEADER_SetItem[A/W] into one function.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/shell32/shelllink.c:
	Add the IObjectWithSite interface.

2005-10-27  Mike McCormack <mike@codeweavers.com>

	* dlls/user/tests/menu.c:
	Add a currently failing test case for menus.

2005-10-27  Robert Reif <reif@earthlink.net>

	* dlls/dsound/dsound_private.h, dlls/dsound/duplex.c:
	Remove unused variable from IDirectSoundFullDuplexImpl.
	Move DirectSoundFullDuplexCreate to get rid of forward declarations.

2005-10-26  Alexandre Julliard <julliard@winehq.org>

	* dlls/kernel/file.c:
	In FindNextFileExW don't report directory symlinks that point to one
	of the parent directories, to avoid infinite recursions.

2005-10-26  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c, dlls/msi/msipriv.h, dlls/msi/msiquery.c,
	  dlls/msi/table.c:
	Create a stub function to apply a single table transform and call it
	where we need to apply transforms.

2005-10-26  Huw Davies <huw@codeweavers.com>

	* dlls/rpcrt4/cstub.c, dlls/rpcrt4/ndr_midl.c, dlls/rpcrt4/rpcrt4.spec,
	  include/rpcproxy.h:
	Stubs for NdrStubForwardingFunction and NdrCStdStubBuffer2_Release
	along with a few related defines.

2005-10-26  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/oleaut32/vartype.c:
	Implement complete VarDecDiv() for any valid DECIMAL.

2005-10-26  Alexandre Julliard <julliard@winehq.org>

	* dlls/ntdll/loader.c:
	Attach to implicitly loaded builtin dlls on process startup.

2005-10-26  Krzysztof Foltman <wdev@foltman.com>

	* programs/regedit/En.rc, programs/regedit/Pl.rc, programs/regedit/edit.c,
	  programs/regedit/framewnd.c, programs/regedit/main.h,
	  programs/regedit/resource.h, programs/regedit/treeview.c:
	- Added Find functions
	- Some refactoring that made Find functions possible
	- GetItemPath returns a heap-allocated string
	- subtree update put into a separate function UpdateExpandingTree
	- error() utility function made public
	- Find functions are grayed/ungrayed based on context (which fixes
	invalid 'grayed' flag in some localizations).
	- InvalidateRect to fix display glitches coming from using
	WM_SETREDRAW.
	- English and Polish resource updates (Find dialog box and Find menu
	options, string not found message).

2005-10-26  Huw Davies <huw@codeweavers.com>

	* dlls/oleaut32/tmarshal.c:
	Treat paramflags == 0 like PARAMFLAG_FIN.

2005-10-26  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/oleaut32/vartype.c:
	Implement complete VarDecMul() for any valid DECIMAL.

2005-10-26  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/action.c:
	Enumerate the substorage transforms for any patches that are passed on
	the command line with PATCH=.  Need to implement
	table_apply_transform() before this will do anything interesting.

2005-10-26  Michael Jung <mjung@iss.tu-darmstadt.de>

	* dlls/user/exticon.c, dlls/user/tests/resource.c:
	- Try LoadLibrary/LoadImage to extract icons from wine's built-in dlls
	if SearchPath fails to find the requested file in
	PrivateExtractIcons.
	- Some unit tests for PrivateExtractIcons.

2005-10-26  Michael Stefaniuc <mstefani@redhat.de>

	* dlls/oleaut32/variant.c:
	Handle VT_CY in VarDiv().

2005-10-26  Detlef Riekenberg <wine.dev@web.de>

	* dlls/version/info.c:
	Updated trace to support VERSIONED_PRINTER.

2005-10-26  Peter Beutner <p.beutner@gmx.net>

	* dlls/ntdll/cdrom.c:
	Proper implementation of IOCTL_{STORAGE,CDROM}_CHECK_VERIFY.

2005-10-26  Robert Shearman <rob@codeweavers.com>

	* dlls/ole32/defaulthandler.c:
	Implement a Stop function and use this to properly implement
	IOleObject_Close, IAdviseSink_OnClose and the destructor.

2005-10-26  Robert Shearman <rob@codeweavers.com>

	* dlls/oleaut32/tmarshal.c:
	- Forward IDispatch functions to the MIDL-generated proxy.
	- Remove special cases caused by previous marshaling of IDispatch &
	IUnknown that is no longer done.
	- Add error messages if an IUnknown or IDispatch method is called when
	it no longer should be.

2005-10-26  Alex Villacís Lasso <a_villacis@palosanto.com>

	* dlls/oleaut32/vartype.c:
	Implement complete VarBstrFromDec() for any valid DECIMAL, with
	internationalization support borrowed from VARIANT_BstrFromReal(). The
	decimal fix for VARIANT_BstrFromReal was encapsulated in a separate
	function and reused.

2005-10-26  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/user/tests/msg.c:
	Silently ignore WM_PAINT in msg tests.

2005-10-26  Vitaliy Margolen <wine-patch@kievinfo.com>

	* include/winternl.h:
	Add OBJECT_BASIC_INFORMATION to winternl.h.

2005-10-26  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/ntdll/file.c:
	Cosmetic changes to NtCreateNamedPipeFile change "oa" to  "attr".

2005-10-26  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/msipriv.h, dlls/msi/suminfo.c:
	Create an internal handle-free api for reading MSI database summary
	information.

2005-10-26  Mike McCormack <mike@codeweavers.com>

	* dlls/msi/dialog.c:
	Switch back to using IPicture to load images.  LoadImage did the
	resizing for us, but doesn't handle jpeg files and requires us writing
	a temp file, whereas IPicture handles jpeg files and can load directly
	from a stream.

2005-10-26  Dmitry Timoshkov <dmitry@codeweavers.com>

	* dlls/gdi/gdiobj.c, dlls/gdi/tests/gdiobj.c, include/wingdi.h:
	Add a test for GetCurrentObject, make it pass under Wine.

2005-10-26  Ivan Leo Puoti <ivanleo@gmail.com>

	* dlls/secur32/tests/Makefile.in, dlls/secur32/tests/main.c:
	Make secur32.dll tests load on nt 4.0.

2005-10-26  Hans Leidekker <hans@it.vu.nl>

	* dlls/odbccp32/odbccp32.c:
	Implement SQLInstallDriverManager.

2005-10-26  Stefan Huehner <stefan@huehner.org>

	* dlls/msxml3/domdoc.c, dlls/msxml3/tests/domdoc.c:
	Fix IXMLDOMDocument error handling.

2005-10-26  Eric Pouech <eric.pouech@wanadoo.fr>

	* dlls/msvcrt/undname.c:
	Previous fix incorrectly removed all test for strings starting with
	'?', this is only valid when undname is called with the 'NO_ARGUMENTS'
	flags.

2005-10-26  Stefan Leichter <Stefan.Leichter@camLine.com>

	* dlls/winspool/tests/info.c:
	Fix for GetPrinterDriverDirectoryA test.

2005-10-26  Vitaliy Margolen <wine-patch@kievinfo.com>

	* dlls/kernel/tests/path.c:
	Test for return value from CreateDirectory("c:").

2005-10-26  Jacek Caban <jack@itma.pwr.wroc.pl>

	* dlls/wininet/http.c, dlls/wininet/internet.h:
	Make functions static.

2005-10-26  Jan Nieuwenhuizen <janneke@gnu.org>

	* programs/notepad/main.c:
	Windows XP does not always include the executable file name on the
	command line.

2005-10-26  Jan Nieuwenhuizen <janneke@gnu.org>

	* programs/notepad/dialog.c:
	Need an explicit truncate command to shorten the length of a file.

2005-10-26  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* dlls/capi2032/cap20wxx.c:
	Fix gcc 4 warnings.

2005-10-26  Saulius Krasuckas <saulius.krasuckas@ieee.org>

	* dlls/gdi/tests/metafile.c:
	Link to {G|S}etRelAbs() during runtime as Win9x OSes miss them.

2005-10-26  Rein Klazes <wijn@wanadoo.nl>

	* dlls/user/tests/text.c, dlls/user/text.c:
	Fixed a lot of bugs in TEXT_TabbedTextOut. With the test cases used to
	find them.

2005-10-26  Alexandre Julliard <julliard@winehq.org>

	* ChangeLog, documentation/ChangeLog.ALPHA:
	Start a new ChangeLog file. Older changes moved to
	documentation/ChangeLog.ALPHA.

2005-10-25  Alexandre Julliard <julliard@winehq.org>

	* ANNOUNCE, ChangeLog, VERSION, configure:
	Release 0.9.

----------------------------------------------------------------
