wine
15 years agojscript: Added some missing functions stubs.
Piotr Caban [Tue, 6 Oct 2009 11:11:25 +0000 (13:11 +0200)] 
jscript: Added some missing functions stubs.

15 years agojscript: Added Global.escape() implementation.
Piotr Caban [Tue, 6 Oct 2009 11:11:18 +0000 (13:11 +0200)] 
jscript: Added Global.escape() implementation.

15 years agontdll: Add stub for NtSetInformationThread(ThreadHideFromDebugger).
Andrey Turkin [Tue, 6 Oct 2009 09:34:48 +0000 (13:34 +0400)] 
ntdll: Add stub for NtSetInformationThread(ThreadHideFromDebugger).

15 years agontdll: Handle invalid pointers in NtQueryInformationProcess(ProcessDebugObjectHandle).
Andrey Turkin [Tue, 6 Oct 2009 09:34:21 +0000 (13:34 +0400)] 
ntdll: Handle invalid pointers in NtQueryInformationProcess(ProcessDebugObjectHandle).

15 years agowpp: Add error management callbacks.
Matteo Bruni [Tue, 29 Sep 2009 10:34:17 +0000 (12:34 +0200)] 
wpp: Add error management callbacks.

15 years agowpp: get_string() now can return NULL, handle it.
Matteo Bruni [Tue, 29 Sep 2009 10:06:24 +0000 (12:06 +0200)] 
wpp: get_string() now can return NULL, handle it.

15 years agowpp: Handle remaining memory allocation failures.
Matteo Bruni [Mon, 28 Sep 2009 19:32:39 +0000 (21:32 +0200)] 
wpp: Handle remaining memory allocation failures.

15 years agotests: Build all tests with strict prototypes.
Alexandre Julliard [Tue, 6 Oct 2009 11:34:37 +0000 (13:34 +0200)] 
tests: Build all tests with strict prototypes.

15 years agokernel32: Fix empty function prototypes.
Alexandre Julliard [Tue, 6 Oct 2009 10:56:33 +0000 (12:56 +0200)] 
kernel32: Fix empty function prototypes.

15 years agoinclude: Add support for building Wine with strict prototype checking.
Alexandre Julliard [Tue, 6 Oct 2009 10:30:49 +0000 (12:30 +0200)] 
include: Add support for building Wine with strict prototype checking.

15 years agomsvcrt: Use strict function prototypes.
Alexandre Julliard [Tue, 6 Oct 2009 10:18:50 +0000 (12:18 +0200)] 
msvcrt: Use strict function prototypes.

15 years agooleaut32: Use an assembly wrapper to implement DispCallFunc, and make it i386-only.
Alexandre Julliard [Tue, 6 Oct 2009 10:07:23 +0000 (12:07 +0200)] 
oleaut32: Use an assembly wrapper to implement DispCallFunc, and make it i386-only.

15 years agokernel32: Use call_entry_point to call functions with variable number of arguments.
Alexandre Julliard [Tue, 6 Oct 2009 10:05:36 +0000 (12:05 +0200)] 
kernel32: Use call_entry_point to call functions with variable number of arguments.

15 years agouser32: Fix a memory leak on a error patch (Smatch).
Michael Stefaniuc [Mon, 5 Oct 2009 22:53:24 +0000 (00:53 +0200)] 
user32: Fix a memory leak on a error patch (Smatch).

15 years agokernel32: Send debug strings to system-wide monitor.
Andrey Turkin [Mon, 5 Oct 2009 17:42:36 +0000 (21:42 +0400)] 
kernel32: Send debug strings to system-wide monitor.

15 years agokernel32: Always use ANSI version of OutputDebugString.
Andrey Turkin [Mon, 5 Oct 2009 17:42:22 +0000 (21:42 +0400)] 
kernel32: Always use ANSI version of OutputDebugString.

15 years agowined3d: Remove some unused code.
Henri Verbeet [Tue, 6 Oct 2009 07:05:57 +0000 (09:05 +0200)] 
wined3d: Remove some unused code.

15 years agowined3d: Move the SM1 opcode enum to shader_sm1.c.
Henri Verbeet [Tue, 6 Oct 2009 07:05:56 +0000 (09:05 +0200)] 
wined3d: Move the SM1 opcode enum to shader_sm1.c.

15 years agowined3d: Keep a reference to the vertex declaration initially captured by CreateState...
Henri Verbeet [Tue, 6 Oct 2009 07:05:55 +0000 (09:05 +0200)] 
wined3d: Keep a reference to the vertex declaration initially captured by CreateStateBlock() as well.

15 years agowined3d: Keep references to the textures initially captured by CreateStateBlock(...
Henri Verbeet [Tue, 6 Oct 2009 07:05:54 +0000 (09:05 +0200)] 
wined3d: Keep references to the textures initially captured by CreateStateBlock() as well.

15 years agod3d9: Make the individual stateblock tests responsible for checking data.
Henri Verbeet [Tue, 6 Oct 2009 07:05:53 +0000 (09:05 +0200)] 
d3d9: Make the individual stateblock tests responsible for checking data.

15 years agoschannel/tests: Fix crash on Win7.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
schannel/tests: Fix crash on Win7.

15 years agouser32/tests: Fix sysparams test failure on Win7.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
user32/tests: Fix sysparams test failure on Win7.

15 years agosecur32/tests: Add acceptable error code for Win7 ntlm test.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
secur32/tests: Add acceptable error code for Win7 ntlm test.

15 years agokernel32/tests: Add acceptable error codes for Win7 process test.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
kernel32/tests: Add acceptable error codes for Win7 process test.

15 years agoshlwapi/tests: Add acceptable error code for Win7 clist test.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
shlwapi/tests: Add acceptable error code for Win7 clist test.

15 years agocomctl32/tests: Fix misc test on Win7.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
comctl32/tests: Fix misc test on Win7.

15 years agontdll/tests: Fix atom tests on Win7.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
ntdll/tests: Fix atom tests on Win7.

15 years agokernel32/tests: Fix atom tests on Win7.
Ge van Geldorp [Sun, 16 Sep 2001 22:00:00 +0000 (00:00 +0200)] 
kernel32/tests: Fix atom tests on Win7.

15 years agosecur32: Test passing null authentication data to AcquireCredentialsHandle.
Hans Leidekker [Tue, 6 Oct 2009 07:05:05 +0000 (09:05 +0200)] 
secur32: Test passing null authentication data to AcquireCredentialsHandle.

15 years agodlls/msacm32: Avoid a sizeof()+cast in an ok() call.
Michael Stefaniuc [Tue, 6 Oct 2009 08:35:29 +0000 (10:35 +0200)] 
dlls/msacm32: Avoid a sizeof()+cast in an ok() call.

15 years agows2_32/tests: Use LONG instead of long.
Michael Stefaniuc [Tue, 6 Oct 2009 08:35:19 +0000 (10:35 +0200)] 
ws2_32/tests: Use LONG instead of long.

15 years agokernel32/tests: Use better types than long.
Michael Stefaniuc [Mon, 5 Oct 2009 22:53:32 +0000 (00:53 +0200)] 
kernel32/tests: Use better types than long.

15 years agoole32/tests: Add tests for IStorage::CopyTo with SNB exlusions.
Andrew Eikum [Mon, 5 Oct 2009 21:13:59 +0000 (16:13 -0500)] 
ole32/tests: Add tests for IStorage::CopyTo with SNB exlusions.

15 years agoole32: Use snbExclude in StorageImpl::CopyTo.
Andrew Eikum [Mon, 5 Oct 2009 21:13:55 +0000 (16:13 -0500)] 
ole32: Use snbExclude in StorageImpl::CopyTo.

15 years agoole32/tests: Add tests for IStorage::CopyTo.
Andrew Eikum [Mon, 5 Oct 2009 21:13:52 +0000 (16:13 -0500)] 
ole32/tests: Add tests for IStorage::CopyTo.

15 years agocomctl32/monthcal: Fix '&->&&' typo in focused day helper.
Nikolay Sivov [Mon, 5 Oct 2009 20:06:55 +0000 (00:06 +0400)] 
comctl32/monthcal: Fix '&->&&' typo in focused day helper.

15 years agoole32: Check source pointer in StringFromGUID2.
Nikolay Sivov [Mon, 5 Oct 2009 19:06:22 +0000 (23:06 +0400)] 
ole32: Check source pointer in StringFromGUID2.

15 years agocomctl32/monthcal: Fix parameter validation in MCM_SETCURSEL handler.
Nikolay Sivov [Mon, 5 Oct 2009 19:05:53 +0000 (23:05 +0400)] 
comctl32/monthcal: Fix parameter validation in MCM_SETCURSEL handler.

15 years agocomctl32/monthcal: Check date limits on prev/next month buttons and year UpDown control.
Nikolay Sivov [Mon, 5 Oct 2009 18:37:04 +0000 (22:37 +0400)] 
comctl32/monthcal: Check date limits on prev/next month buttons and year UpDown control.

15 years agocomctl32/monthcal: Remove today rectangle and focus drawing code from loops.
Nikolay Sivov [Mon, 5 Oct 2009 16:34:05 +0000 (20:34 +0400)] 
comctl32/monthcal: Remove today rectangle and focus drawing code from loops.

15 years agocomctl32/monthcal: Simplify WM_MOUSEMOVE handler.
Nikolay Sivov [Mon, 5 Oct 2009 16:32:15 +0000 (20:32 +0400)] 
comctl32/monthcal: Simplify WM_MOUSEMOVE handler.

15 years agocomctl32/monthcal: Check configured selection range max width in MCM_SETSELRANGE...
Nikolay Sivov [Mon, 5 Oct 2009 16:29:31 +0000 (20:29 +0400)] 
comctl32/monthcal: Check configured selection range max width in MCM_SETSELRANGE handler.

15 years agocomctl32/monthcal: Parameter fixes for MCM_SETSELRANGE handler: swap selection bounds...
Nikolay Sivov [Mon, 5 Oct 2009 16:26:43 +0000 (20:26 +0400)] 
comctl32/monthcal: Parameter fixes for MCM_SETSELRANGE handler: swap selection bounds, store day of week.

15 years agosti: Add aggregation tests for the IStillImageW interface.
Damjan Jovanovic [Mon, 5 Oct 2009 19:07:47 +0000 (21:07 +0200)] 
sti: Add aggregation tests for the IStillImageW interface.

15 years agosti: Add stubs for the IStillImageW interface.
Damjan Jovanovic [Mon, 5 Oct 2009 19:06:06 +0000 (21:06 +0200)] 
sti: Add stubs for the IStillImageW interface.

15 years agocomctl32: Ensure coordinates are valid during listview marquee selection.
Owen Rudge [Mon, 5 Oct 2009 17:07:45 +0000 (18:07 +0100)] 
comctl32: Ensure coordinates are valid during listview marquee selection.

15 years agodsound: Get rid of redundant NULL check.
Jörg Höhle [Sun, 4 Oct 2009 12:30:50 +0000 (14:30 +0200)] 
dsound: Get rid of redundant NULL check.

15 years agocmd: Fix copy option handling in batch mode.
Andrew Nguyen [Sat, 3 Oct 2009 22:00:59 +0000 (17:00 -0500)] 
cmd: Fix copy option handling in batch mode.

15 years agokernel32: Catch invalid memory accesses in resource enumeration handlers.
Andrey Turkin [Mon, 5 Oct 2009 12:17:56 +0000 (16:17 +0400)] 
kernel32: Catch invalid memory accesses in resource enumeration handlers.

15 years agowine.inf: Add the still image class key.
Damjan Jovanovic [Sun, 4 Oct 2009 09:21:39 +0000 (11:21 +0200)] 
wine.inf: Add the still image class key.

15 years agowinex11: Fix font metric cache filename generation.
Wim Lewis [Fri, 2 Oct 2009 22:23:34 +0000 (15:23 -0700)] 
winex11: Fix font metric cache filename generation.

Recognize Mac OS X's launchd pathnames as being local. Avoid
generating an invalid pathname if $DISPLAY contains slashes.
Don't include the screen number in the cache filename.

15 years agowinex11: Font metric cache file cleanups.
Wim Lewis [Fri, 2 Oct 2009 21:04:52 +0000 (14:04 -0700)] 
winex11: Font metric cache file cleanups.

15 years agowinmm: Correctly fill the yield-data parameter in mciGetYieldProc.
Eric Pouech [Sun, 4 Oct 2009 12:31:04 +0000 (14:31 +0200)] 
winmm: Correctly fill the yield-data parameter in mciGetYieldProc.

15 years agouser32: Don't use a static dc for icon blitting.
Alexandre Julliard [Mon, 5 Oct 2009 13:18:10 +0000 (15:18 +0200)] 
user32: Don't use a static dc for icon blitting.

15 years agouser32: Fixed CURSORICON_CreateIconFromBMI to preserve the alpha channel.
Joel Holdsworth [Mon, 29 Jun 2009 18:10:36 +0000 (19:10 +0100)] 
user32: Fixed CURSORICON_CreateIconFromBMI to preserve the alpha channel.

15 years agocomdlg32: Replaced file dialog house icon with the shell icon for desktop.
Joel Holdsworth [Sat, 3 Oct 2009 09:12:55 +0000 (10:12 +0100)] 
comdlg32: Replaced file dialog house icon with the shell icon for desktop.

15 years agowinebuild: Add support for PLATFORM_FREEBSD.
Gerald Pfeifer [Mon, 5 Oct 2009 00:24:57 +0000 (02:24 +0200)] 
winebuild: Add support for PLATFORM_FREEBSD.

15 years agowinecoreaudio: Accept up to 8 channels.
Jörg Höhle [Mon, 5 Oct 2009 08:34:24 +0000 (10:34 +0200)] 
winecoreaudio: Accept up to 8 channels.

15 years agowineoss: Fix the buffer size check for more than 2 channels.
Jörg Höhle [Sat, 3 Oct 2009 20:42:30 +0000 (22:42 +0200)] 
wineoss: Fix the buffer size check for more than 2 channels.

15 years agowinmm: Require at least 16 bytes in the WAVE fmt header for PlaySound.
Jörg Höhle [Sat, 3 Oct 2009 09:42:37 +0000 (11:42 +0200)] 
winmm: Require at least 16 bytes in the WAVE fmt header for PlaySound.

15 years agocomctl32/monthcal: Check range limits in MCM_SETCURSEL.
Nikolay Sivov [Sun, 4 Oct 2009 19:17:33 +0000 (23:17 +0400)] 
comctl32/monthcal: Check range limits in MCM_SETCURSEL.

15 years agocomctl32/monthcal: Use true date comparison on multiselection, not only the day is...
Nikolay Sivov [Sun, 4 Oct 2009 19:17:07 +0000 (23:17 +0400)] 
comctl32/monthcal: Use true date comparison on multiselection, not only the day is valuable.

15 years agocomctl32/monthcal: Handle mouse pointer followed focus rectangle more accurately.
Nikolay Sivov [Sun, 4 Oct 2009 19:16:41 +0000 (23:16 +0400)] 
comctl32/monthcal: Handle mouse pointer followed focus rectangle more accurately.

15 years agocomctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_VISIBLE flag, single calendar...
Nikolay Sivov [Sun, 4 Oct 2009 14:27:21 +0000 (18:27 +0400)] 
comctl32/monthcal: Implement MCM_GETMONTHRANGE for GMR_VISIBLE flag, single calendar control only.

15 years agocomctl32/monthcal: Drop exstyle parameter, it isn't used.
Nikolay Sivov [Sun, 4 Oct 2009 14:26:43 +0000 (18:26 +0400)] 
comctl32/monthcal: Drop exstyle parameter, it isn't used.

15 years agowinedbg: Properly manage Wine's dbghelp extensions for constant symbols which value...
Eric Pouech [Sat, 3 Oct 2009 11:15:49 +0000 (13:15 +0200)] 
winedbg: Properly manage Wine's dbghelp extensions for constant symbols which value is passed by ref.

15 years agodbghelp: Enhance support for constant values in dwarf debug information.
Eric Pouech [Sat, 3 Oct 2009 11:15:43 +0000 (13:15 +0200)] 
dbghelp: Enhance support for constant values in dwarf debug information.

15 years agomsvcrt: Added __uncaught_exception support.
Eric Pouech [Sat, 3 Oct 2009 11:13:37 +0000 (13:13 +0200)] 
msvcrt: Added __uncaught_exception support.

15 years agomsvideo: Pass the correct function address for 32->16 callbacks.
Alexandre Julliard [Mon, 5 Oct 2009 12:56:12 +0000 (14:56 +0200)] 
msvideo: Pass the correct function address for 32->16 callbacks.

15 years agoloader: Build the loader with -D__WINESRC__.
Alexandre Julliard [Mon, 5 Oct 2009 12:55:34 +0000 (14:55 +0200)] 
loader: Build the loader with -D__WINESRC__.

15 years agotools: Build all the tools with -D__WINESRC__.
Alexandre Julliard [Mon, 5 Oct 2009 12:55:25 +0000 (14:55 +0200)] 
tools: Build all the tools with -D__WINESRC__.

15 years agomsvcrt: Add an MSVCRT prefix to _wenviron.
Alexandre Julliard [Mon, 5 Oct 2009 12:55:09 +0000 (14:55 +0200)] 
msvcrt: Add an MSVCRT prefix to _wenviron.

15 years agouser32: DrawState always uses real icon size for drawing.
Wilfried Pasquazzo [Fri, 2 Oct 2009 21:55:26 +0000 (21:55 +0000)] 
user32: DrawState always uses real icon size for drawing.

15 years agouser32/tests: DrawState: New test case for correct drawing of icons.
Wilfried Pasquazzo [Fri, 2 Oct 2009 20:27:37 +0000 (20:27 +0000)] 
user32/tests: DrawState: New test case for correct drawing of icons.

15 years agokernel32/tests: Pass test on error code returned by Windows 7.
Dmitry Kislyuk [Mon, 5 Oct 2009 09:50:30 +0000 (04:50 -0500)] 
kernel32/tests: Pass test on error code returned by Windows 7.

15 years agowinealsa.drv: Fix dsoutput to work better with pulseaudio.
Maarten Lankhorst [Tue, 22 Sep 2009 17:35:57 +0000 (19:35 +0200)] 
winealsa.drv: Fix dsoutput to work better with pulseaudio.

Better underrun handling and checking return values now.

15 years agowinealsa.drv: Remove test for mmap in waveinit.
Maarten Lankhorst [Mon, 5 Oct 2009 07:27:27 +0000 (09:27 +0200)] 
winealsa.drv: Remove test for mmap in waveinit.

No longer needed since winealsa has fallbacks now for both.

15 years agowinealsa.drv: Add non-mmap support to dscapture.
Maarten Lankhorst [Mon, 5 Oct 2009 07:10:53 +0000 (09:10 +0200)] 
winealsa.drv: Add non-mmap support to dscapture.

15 years agowinealsa.drv: Small capture fixes.
Maarten Lankhorst [Tue, 22 Sep 2009 11:49:27 +0000 (13:49 +0200)] 
winealsa.drv: Small capture fixes.

Deadlock, off-by-one and forgetting to declare that we want MMAP
access, so accelerated mode wouldn't work at all but fail silently.

15 years agod3d8: Make the individual stateblock tests responsible for checking data.
Henri Verbeet [Mon, 5 Oct 2009 07:47:37 +0000 (09:47 +0200)] 
d3d8: Make the individual stateblock tests responsible for checking data.

15 years agod3d8: Always pass "struct event_data" to "event_fn" in the stateblock tests.
Henri Verbeet [Mon, 5 Oct 2009 07:47:36 +0000 (09:47 +0200)] 
d3d8: Always pass "struct event_data" to "event_fn" in the stateblock tests.

15 years agod3d9: Always pass "struct event_data" to "event_fn" in the stateblock tests.
Henri Verbeet [Mon, 5 Oct 2009 07:47:35 +0000 (09:47 +0200)] 
d3d9: Always pass "struct event_data" to "event_fn" in the stateblock tests.

15 years agod3d9: Remove useless typedefs from the stateblock tests.
Henri Verbeet [Mon, 5 Oct 2009 07:47:34 +0000 (09:47 +0200)] 
d3d9: Remove useless typedefs from the stateblock tests.

15 years agod3d9: Remove D3D9_RENDER_STATES from the stateblock tests.
Henri Verbeet [Mon, 5 Oct 2009 07:47:33 +0000 (09:47 +0200)] 
d3d9: Remove D3D9_RENDER_STATES from the stateblock tests.

15 years agows2_32/tests: fix failure on win98/me.
Mike Kaplinskiy [Mon, 5 Oct 2009 05:51:58 +0000 (01:51 -0400)] 
ws2_32/tests: fix failure on win98/me.

15 years agojscript: Query created ActiveXObject for IObjectWithSite interface.
Jacek Caban [Sun, 4 Oct 2009 20:01:27 +0000 (22:01 +0200)] 
jscript: Query created ActiveXObject for IObjectWithSite interface.

15 years agomshtml: Fixed typo in IHTMLElement2::get_scrollHeight.
Jacek Caban [Sun, 4 Oct 2009 20:00:17 +0000 (22:00 +0200)] 
mshtml: Fixed typo in IHTMLElement2::get_scrollHeight.

15 years agomshtml: Added IHTMLElement2::client[Top|Left] tests.
Jacek Caban [Sun, 4 Oct 2009 20:00:00 +0000 (22:00 +0200)] 
mshtml: Added IHTMLElement2::client[Top|Left] tests.

15 years agomshtml: Added IHTMLElement2::clientLeft implementation.
Jacek Caban [Sun, 4 Oct 2009 19:59:05 +0000 (21:59 +0200)] 
mshtml: Added IHTMLElement2::clientLeft implementation.

15 years agomshtml: Added IHTMLElement2::clientTop implementation.
Jacek Caban [Sun, 4 Oct 2009 19:58:38 +0000 (21:58 +0200)] 
mshtml: Added IHTMLElement2::clientTop implementation.

15 years agocomctl32/tests: Fix some test failures (MCM_GETSELRANGE).
Paul Vriens [Sat, 3 Oct 2009 13:21:59 +0000 (15:21 +0200)] 
comctl32/tests: Fix some test failures (MCM_GETSELRANGE).

15 years agocomctl32/tests: Fix some test failures (MCM_SETUNICODEFORMAT and MCM_GETUNICODEFORMAT).
Paul Vriens [Sat, 3 Oct 2009 13:10:40 +0000 (15:10 +0200)] 
comctl32/tests: Fix some test failures (MCM_SETUNICODEFORMAT and MCM_GETUNICODEFORMAT).

15 years agocomctl32/tests: Fix some test failures (MCM_SETCURSEL and MCM_GETCURSEL).
Paul Vriens [Sat, 3 Oct 2009 13:00:56 +0000 (15:00 +0200)] 
comctl32/tests: Fix some test failures (MCM_SETCURSEL and MCM_GETCURSEL).

15 years agocomctl32/tests: Fix some test failures (MCM_SETRANGE and MCM_GETRANGE).
Paul Vriens [Sat, 3 Oct 2009 12:51:09 +0000 (14:51 +0200)] 
comctl32/tests: Fix some test failures (MCM_SETRANGE and MCM_GETRANGE).

15 years agocomctl32/tests: Fix some test failures on older comctl32 versions.
Paul Vriens [Sat, 3 Oct 2009 12:44:34 +0000 (14:44 +0200)] 
comctl32/tests: Fix some test failures on older comctl32 versions.

15 years agoatl: Add missing prototypes.
Austin English [Sat, 3 Oct 2009 08:01:03 +0000 (03:01 -0500)] 
atl: Add missing prototypes.

15 years agojscript: Add missing prototype.
Austin English [Sat, 3 Oct 2009 08:02:43 +0000 (03:02 -0500)] 
jscript: Add missing prototype.

15 years agocomctl32: Add missing prototype.
Austin English [Sat, 3 Oct 2009 08:00:45 +0000 (03:00 -0500)] 
comctl32: Add missing prototype.

15 years agoole32: Remove useless comments.
Vincent Povirk [Fri, 2 Oct 2009 22:21:33 +0000 (17:21 -0500)] 
ole32: Remove useless comments.