wine
16 years agoexplorer.exe: Create the top-level message window along with the desktop window.
Alexandre Julliard [Wed, 25 Jun 2008 12:49:33 +0000 (14:49 +0200)] 
explorer.exe: Create the top-level message window along with the desktop window.

16 years agoserver: Also return the top-level message window in the get_desktop_window request.
Alexandre Julliard [Wed, 25 Jun 2008 12:26:14 +0000 (14:26 +0200)] 
server: Also return the top-level message window in the get_desktop_window request.

16 years agouser32: Add support for a top-level message parent window in parallel to the desktop...
Alexandre Julliard [Wed, 25 Jun 2008 12:26:06 +0000 (14:26 +0200)] 
user32: Add support for a top-level message parent window in parallel to the desktop window.

16 years agouser32: Register the builtin 'Message' window class.
Alexandre Julliard [Wed, 25 Jun 2008 12:19:34 +0000 (14:19 +0200)] 
user32: Register the builtin 'Message' window class.

16 years agoserver: Add support for a top-level message parent window in parallel to the desktop...
Alexandre Julliard [Wed, 25 Jun 2008 12:43:39 +0000 (14:43 +0200)] 
server: Add support for a top-level message parent window in parallel to the desktop window.

16 years agoserver: Use a unicode_str to represent atom names.
Alexandre Julliard [Wed, 25 Jun 2008 12:03:08 +0000 (14:03 +0200)] 
server: Use a unicode_str to represent atom names.

16 years agogdi32: Return the correct value from GetTextFace.
Dan Hipschman [Mon, 23 Jun 2008 19:04:48 +0000 (12:04 -0700)] 
gdi32: Return the correct value from GetTextFace.

16 years agorichedit: Tests for undo coalescing.
Dylan Smith [Mon, 23 Jun 2008 23:52:01 +0000 (19:52 -0400)] 
richedit: Tests for undo coalescing.

Tests for undo coalescing from previous patches sent as suggested by
Alex Villacís Lasso.

16 years agorichedit: bCaretAtEnd should not be reset from rewrapping text.
Dylan Smith [Mon, 23 Jun 2008 21:09:58 +0000 (17:09 -0400)] 
richedit: bCaretAtEnd should not be reset from rewrapping text.

The bCaretAtEnd value in ME_TextEditor is used to identify that the
caret is at the end of a wrapped line instead of the start of the next
line in the paragraph since both these positions correspond to the
same position in the document. The bCaretAtEnd value was previously
being set back to FALSE whenever the window was resized.

16 years agorichedit: Trailing spaces should not affect alignment shift length.
Dylan Smith [Mon, 23 Jun 2008 21:09:53 +0000 (17:09 -0400)] 
richedit: Trailing spaces should not affect alignment shift length.

16 years agorichedit: Allow cursor to move over trailing spaces in wrapped lines.
Dylan Smith [Mon, 23 Jun 2008 21:09:44 +0000 (17:09 -0400)] 
richedit: Allow cursor to move over trailing spaces in wrapped lines.

16 years agorichedit: Revert patch that introduced a test that fails on all platforms.
Alex Villacís Lasso [Tue, 24 Jun 2008 18:25:52 +0000 (13:25 -0500)] 
richedit: Revert patch that introduced a test that fails on all platforms.

16 years agoinetmib1: Support the MIB2 IP address table.
Juan Lang [Wed, 21 May 2008 03:57:51 +0000 (20:57 -0700)] 
inetmib1: Support the MIB2 IP address table.

16 years agoinetmib1: Support the MIB2 ICMP statistics.
Juan Lang [Wed, 21 May 2008 03:55:52 +0000 (20:55 -0700)] 
inetmib1: Support the MIB2 ICMP statistics.

16 years agoinetmib1: Support the MIB2 IP statistics.
Juan Lang [Wed, 21 May 2008 03:55:20 +0000 (20:55 -0700)] 
inetmib1: Support the MIB2 IP statistics.

16 years agoinetmib1: Support the MIB2 interface table.
Juan Lang [Wed, 21 May 2008 03:54:34 +0000 (20:54 -0700)] 
inetmib1: Support the MIB2 interface table.

16 years agoinetmib1: Support querying the MIB2 number of interfaces.
Juan Lang [Wed, 21 May 2008 03:53:17 +0000 (20:53 -0700)] 
inetmib1: Support querying the MIB2 number of interfaces.

16 years agoinetmib1: Implement SnmpExtensionQuery.
Juan Lang [Wed, 21 May 2008 03:52:39 +0000 (20:52 -0700)] 
inetmib1: Implement SnmpExtensionQuery.

16 years agoinetmib1: Add initialization function for getting the MIB2 number of interfaces.
Juan Lang [Wed, 21 May 2008 03:52:00 +0000 (20:52 -0700)] 
inetmib1: Add initialization function for getting the MIB2 number of interfaces.

16 years agoinetmib1: Add a mechanism for initializing supported OIDs, and use it in SnmpExtensio...
Juan Lang [Wed, 21 May 2008 03:51:30 +0000 (20:51 -0700)] 
inetmib1: Add a mechanism for initializing supported OIDs, and use it in SnmpExtensionInit.

16 years agoinetmib1: Improve SnmpExtensionQuery stub.
Juan Lang [Wed, 21 May 2008 03:50:45 +0000 (20:50 -0700)] 
inetmib1: Improve SnmpExtensionQuery stub.

16 years agoinetmib1: Improve SnmpExtensionInit stub.
Juan Lang [Wed, 21 May 2008 03:50:21 +0000 (20:50 -0700)] 
inetmib1: Improve SnmpExtensionInit stub.

16 years agoinetmib1: Add tests for SnmpExtensionQuery.
Juan Lang [Wed, 21 May 2008 03:49:56 +0000 (20:49 -0700)] 
inetmib1: Add tests for SnmpExtensionQuery.

16 years agoinetmib1: Add stub for SnmpExtensionQuery.
Juan Lang [Wed, 21 May 2008 03:49:04 +0000 (20:49 -0700)] 
inetmib1: Add stub for SnmpExtensionQuery.

16 years agoinetmib1: Add tests for SnmpExtensionInit.
Juan Lang [Wed, 21 May 2008 03:48:37 +0000 (20:48 -0700)] 
inetmib1: Add tests for SnmpExtensionInit.

16 years agoinetmib1: Add stub for SnmpExtensionInit.
Juan Lang [Wed, 21 May 2008 03:47:58 +0000 (20:47 -0700)] 
inetmib1: Add stub for SnmpExtensionInit.

16 years agoinetmib1: Add stub dll.
Juan Lang [Wed, 21 May 2008 03:47:42 +0000 (20:47 -0700)] 
inetmib1: Add stub dll.

16 years agowinemine: Increased buffer size for player names.
Dylan Smith [Tue, 24 Jun 2008 18:09:54 +0000 (14:09 -0400)] 
winemine: Increased buffer size for player names.

Player names can be 31 characters long in Windows, so winemine should
now be able to read any of the player names in the registry created from
the minesweeper in the native Windows.

16 years agowinemine: The number of mines should be visible before first choice.
Dylan Smith [Tue, 24 Jun 2008 18:09:50 +0000 (14:09 -0400)] 
winemine: The number of mines should be visible before first choice.

There were a few lines of code that I removed that explicitly kept the
number of mines and the timer unlit before the game started.  This isn't
consistent with Windows, so I don't know what the purpose was for doing
this.  In fact, it prevents the number of mines from being shown ahead
of time, which is useful information.

16 years agowinemine: Middle click drag should move the box highlighting.
Dylan Smith [Tue, 24 Jun 2008 18:09:46 +0000 (14:09 -0400)] 
winemine: Middle click drag should move the box highlighting.

The correct behaviour was intended, but the wrong check was made for
wParam on the WM_MOUSEMOVE event.

16 years agowinemine: Set mines after first choice.
Dylan Smith [Tue, 24 Jun 2008 18:09:42 +0000 (14:09 -0400)] 
winemine: Set mines after first choice.

The first choice never is on a mine in Windows.  This can be tested by
making a custom game with as many mines as possible, and then playing
the start of many games, and the first choice will never be on a mine.

This is done to make the game reasonable, since after the first choice
there will at least be some information given to make the next choice.

16 years agowinemine: Adding flag before the game starts shouldn't start the timer.
Dylan Smith [Tue, 24 Jun 2008 18:09:38 +0000 (14:09 -0400)] 
winemine: Adding flag before the game starts shouldn't start the timer.

The game only starts when the player left clicks on a box to test it for
a mine, not when a flag is added. Manually tested against Windows XP.

16 years agowinemine: Beginner mode should have one more row and column.
Dylan Smith [Tue, 24 Jun 2008 18:09:34 +0000 (14:09 -0400)] 
winemine: Beginner mode should have one more row and column.

Windows uses a 9x9 instead of 8x8 board for beginner mode.

16 years agonetapi32: tests/access: Don't clutter up standalone Windows boxes.
Kai Blin [Tue, 24 Jun 2008 17:29:19 +0000 (19:29 +0200)] 
netapi32: tests/access: Don't clutter up standalone Windows boxes.

On Windows XP (and newer), calling NetUserChangePassword with a NULL
domainname parameter creates a user home directory, iff the machine is
not member of a domain.  As we don't want to clutter up the folder
containing the home directories, specify \\127.0.0.1 as domainname to
access the local samdb.

16 years agowinhlp32: Updated Korean resource.
Hwang YunSong(황윤성) [Wed, 25 Jun 2008 00:55:42 +0000 (09:55 +0900)] 
winhlp32: Updated Korean resource.

16 years agod3d9: Use color_match() in fog_with_shader_test().
H. Verbeet [Tue, 24 Jun 2008 22:32:08 +0000 (00:32 +0200)] 
d3d9: Use color_match() in fog_with_shader_test().

16 years agowined3d: Explicitly enable depth buffer writing in depth_blt().
H. Verbeet [Tue, 24 Jun 2008 22:32:00 +0000 (00:32 +0200)] 
wined3d: Explicitly enable depth buffer writing in depth_blt().

This prevents conflicts with WINED3DRS_ZWRITEENABLE.

16 years agomsi: Add another MsiGetFileVersionTest.
James Hawkins [Wed, 25 Jun 2008 02:26:20 +0000 (21:26 -0500)] 
msi: Add another MsiGetFileVersionTest.

16 years agourlmon: Fix a few test failures in IE7.
James Hawkins [Tue, 24 Jun 2008 21:53:51 +0000 (16:53 -0500)] 
urlmon: Fix a few test failures in IE7.

16 years agomscms: Only check the first three characters of the color space name.
James Hawkins [Tue, 24 Jun 2008 21:26:32 +0000 (16:26 -0500)] 
mscms: Only check the first three characters of the color space name.

16 years agomshtml: Forward HTMLSelectElement's IDispatch functions to IDispatchEx implementation.
Jacek Caban [Tue, 24 Jun 2008 20:25:19 +0000 (15:25 -0500)] 
mshtml: Forward HTMLSelectElement's IDispatch functions to  IDispatchEx implementation.

16 years agomshtml: Added IHTMLSelectElement::get_type implementation.
Jacek Caban [Tue, 24 Jun 2008 20:24:59 +0000 (15:24 -0500)] 
mshtml: Added IHTMLSelectElement::get_type implementation.

16 years agomshtml: Added IHTMLInputElement::put_disabled implementation.
Jacek Caban [Tue, 24 Jun 2008 20:24:42 +0000 (15:24 -0500)] 
mshtml: Added IHTMLInputElement::put_disabled implementation.

16 years agomshtml: Added IHTMLElement::put_title implementation.
Jacek Caban [Tue, 24 Jun 2008 20:24:06 +0000 (15:24 -0500)] 
mshtml: Added IHTMLElement::put_title implementation.

16 years agomshtml: Added IHTMLElement::get_title implementation.
Jacek Caban [Tue, 24 Jun 2008 20:23:46 +0000 (15:23 -0500)] 
mshtml: Added IHTMLElement::get_title implementation.

16 years agomshtml: Added IHTMLSelectElement::put_onchange implementation.
Jacek Caban [Tue, 24 Jun 2008 20:23:30 +0000 (15:23 -0500)] 
mshtml: Added IHTMLSelectElement::put_onchange implementation.

16 years agomshtml: Return NULL instead of empty string in IHTMLSelectElement::get_value.
Jacek Caban [Tue, 24 Jun 2008 20:23:12 +0000 (15:23 -0500)] 
mshtml: Return NULL instead of empty string in  IHTMLSelectElement::get_value.

16 years agomshtml: Added IHTMLSelectElement::put_value implementation.
Jacek Caban [Tue, 24 Jun 2008 20:22:54 +0000 (15:22 -0500)] 
mshtml: Added IHTMLSelectElement::put_value implementation.

16 years agoquartz: Make the memory allocator emit more warnings and fix race condition.
Maarten Lankhorst [Mon, 23 Jun 2008 19:08:10 +0000 (12:08 -0700)] 
quartz: Make the memory allocator emit more warnings and fix race condition.

16 years agoquartz: Create thread after connection is made.
Maarten Lankhorst [Tue, 24 Jun 2008 15:52:52 +0000 (08:52 -0700)] 
quartz: Create thread after connection is made.

16 years agoquartz: Remove dead code from DSoundRender.
Maarten Lankhorst [Mon, 23 Jun 2008 20:52:51 +0000 (13:52 -0700)] 
quartz: Remove dead code from DSoundRender.

16 years agoquartz: Handle case where ReceiveConnection is called on an already connected pin.
Maarten Lankhorst [Sun, 22 Jun 2008 07:57:47 +0000 (00:57 -0700)] 
quartz: Handle case where ReceiveConnection is called on an already connected pin.

16 years agoshlwapi/tests: Fix another test on Vista.
Paul Vriens [Tue, 24 Jun 2008 17:09:57 +0000 (19:09 +0200)] 
shlwapi/tests: Fix another test on Vista.

16 years agoshlwapi/tests: Fix a test on Vista.
Paul Vriens [Tue, 24 Jun 2008 17:01:33 +0000 (19:01 +0200)] 
shlwapi/tests: Fix a test on Vista.

16 years agoadvapi32: Fix lsa tests for domain members.
Kai Blin [Tue, 24 Jun 2008 13:32:34 +0000 (15:32 +0200)] 
advapi32: Fix lsa tests for domain members.

For a domain member, the domain info contains meaningful implementation.
It makes no sense to check for the standalone case only.

16 years agoinclude: Undefine a custom DECL_WINELIB_DBT_TYPE_AW macro at the end of the file.
Dmitry Timoshkov [Tue, 24 Jun 2008 13:10:19 +0000 (22:10 +0900)] 
include: Undefine a custom DECL_WINELIB_DBT_TYPE_AW macro at the end of the file.

16 years agoinclude: Remove a semicolon from a DECL_WINELIB_TYPE_AW use.
Dmitry Timoshkov [Tue, 24 Jun 2008 13:09:48 +0000 (22:09 +0900)] 
include: Remove a semicolon from a DECL_WINELIB_TYPE_AW use.

16 years agomshtml: Initialize variables in a couple structs.
Zac Brown [Tue, 24 Jun 2008 00:41:18 +0000 (17:41 -0700)] 
mshtml: Initialize variables in a couple structs.

16 years agokernel32: Fix return values of GetConsoleCursorInfo.
Paul Vriens [Tue, 24 Jun 2008 10:23:07 +0000 (12:23 +0200)] 
kernel32: Fix return values of GetConsoleCursorInfo.

16 years agokernel32/tests: Add some tests for GetConsoleCursorInfo.
Paul Vriens [Tue, 24 Jun 2008 10:21:57 +0000 (12:21 +0200)] 
kernel32/tests: Add some tests for GetConsoleCursorInfo.

16 years agoshell32/tests: Skip some tests if functions are not available.
Paul Vriens [Tue, 24 Jun 2008 10:08:26 +0000 (12:08 +0200)] 
shell32/tests: Skip some tests if functions are not available.

16 years agouser32: Make test_SetForegroundWindow() the last message test.
Dmitry Timoshkov [Tue, 24 Jun 2008 08:48:08 +0000 (17:48 +0900)] 
user32: Make test_SetForegroundWindow() the last message test.

16 years agokernel32: Add locale script tag resources.
Zhangrong Huang [Mon, 23 Jun 2008 16:29:06 +0000 (00:29 +0800)] 
kernel32: Add locale script tag resources.

16 years agogdi32: Perform correct glyph scaling even if font metrics haven't been cached yet.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:15:48 +0000 (16:15 +0900)] 
gdi32: Perform correct glyph scaling even if font metrics haven't been cached yet.

16 years agogdi32: Add a test for outline text metrics.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:13:31 +0000 (16:13 +0900)] 
gdi32: Add a test for outline text metrics.

16 years agogdi32: Indent a block of code using 4 spaces instead of 5.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:13:07 +0000 (16:13 +0900)] 
gdi32: Indent a block of code using 4 spaces instead of 5.

16 years agogdi32: Scale outline font metrics.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:12:50 +0000 (16:12 +0900)] 
gdi32: Scale outline font metrics.

16 years agogdi32: Don't return cached glyph metrics if a custom transformation was requested.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:12:32 +0000 (16:12 +0900)] 
gdi32: Don't return cached glyph metrics if a custom transformation was requested.

16 years agogdi32: Don't cache glyph metrics if they have a custom transformation.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:12:14 +0000 (16:12 +0900)] 
gdi32: Don't cache glyph metrics if they have a custom transformation.

16 years agogdi32: Apply the custom transform to a glyph only if it's not an identity one.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:11:57 +0000 (16:11 +0900)] 
gdi32: Apply the custom transform to a glyph only if it's not an identity one.

16 years agogdi32: Perform the world transform separately from font scaling.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:11:40 +0000 (16:11 +0900)] 
gdi32: Perform the world transform separately from font scaling.

16 years agogdi32: Font scaling transform is performed separately.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:11:21 +0000 (16:11 +0900)] 
gdi32: Font scaling transform is performed separately.

16 years agogdi32: Don't forget to update the glyph advance in the case of a custom transformation.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:11:05 +0000 (16:11 +0900)] 
gdi32: Don't forget to update the glyph advance in the case of a custom transformation.

16 years agogdi32: Initialize otmMacAscent, otmMacDescent, otmMacLineGap in outline text metrics.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:10:47 +0000 (16:10 +0900)] 
gdi32: Initialize otmMacAscent, otmMacDescent, otmMacLineGap in outline text metrics.

16 years agogdi32: Perform font height scaling with higher precision.
Dmitry Timoshkov [Tue, 24 Jun 2008 07:10:27 +0000 (16:10 +0900)] 
gdi32: Perform font height scaling with higher precision.

16 years agogdi32: Make GetOutlineTextMetrics set tmDigitizedAspectX/Y to real values as GetTextM...
Dmitry Timoshkov [Tue, 24 Jun 2008 07:10:08 +0000 (16:10 +0900)] 
gdi32: Make GetOutlineTextMetrics set tmDigitizedAspectX/Y to real values as GetTextMetrics does.

16 years agowininet: InternetCrackUrlW: For URLs that have no urlpath, native clears lpszUrlPath.
Dan Kegel [Tue, 24 Jun 2008 04:42:51 +0000 (21:42 -0700)] 
wininet: InternetCrackUrlW: For URLs that have no urlpath, native clears lpszUrlPath.

16 years agomsi: Add tests for MsiGetUserInfo.
James Hawkins [Tue, 24 Jun 2008 04:08:54 +0000 (23:08 -0500)] 
msi: Add tests for MsiGetUserInfo.

16 years agomsi: Reimplement MsiGetUserInfo.
James Hawkins [Tue, 24 Jun 2008 04:08:06 +0000 (23:08 -0500)] 
msi: Reimplement MsiGetUserInfo.

16 years agomsi: Handle the machine context in MsiQueryFeatureState.
James Hawkins [Tue, 24 Jun 2008 04:07:11 +0000 (23:07 -0500)] 
msi: Handle the machine context in MsiQueryFeatureState.

16 years agomsi: Handle the user managed context in MsiQueryFeatureState.
James Hawkins [Tue, 24 Jun 2008 04:06:37 +0000 (23:06 -0500)] 
msi: Handle the user managed context in MsiQueryFeatureState.

16 years agomsi: Add more tests for MsiQueryFeatureState.
James Hawkins [Tue, 24 Jun 2008 04:06:04 +0000 (23:06 -0500)] 
msi: Add more tests for MsiQueryFeatureState.

16 years agomsi: Create the SourceList key in msi_publish_sourcelist.
James Hawkins [Tue, 24 Jun 2008 04:05:25 +0000 (23:05 -0500)] 
msi: Create the SourceList key in msi_publish_sourcelist.

16 years agomsi: Fix the published location of the upgrade code for the machine context.
James Hawkins [Tue, 24 Jun 2008 04:04:46 +0000 (23:04 -0500)] 
msi: Fix the published location of the upgrade code for the machine context.

16 years agomsi: Open the local user data product key for the machine context.
James Hawkins [Tue, 24 Jun 2008 04:04:04 +0000 (23:04 -0500)] 
msi: Open the local user data product key for the machine context.

16 years agomsi: Test the PublishProduct action with the machine context.
James Hawkins [Tue, 24 Jun 2008 04:03:29 +0000 (23:03 -0500)] 
msi: Test the PublishProduct action with the machine context.

16 years agomsi: Publish the UpgradeCode in PublishProduct.
James Hawkins [Tue, 24 Jun 2008 04:02:54 +0000 (23:02 -0500)] 
msi: Publish the UpgradeCode in PublishProduct.

16 years agomsi: Publish media disks whether the drive type is removable or not.
James Hawkins [Tue, 24 Jun 2008 04:02:16 +0000 (23:02 -0500)] 
msi: Publish media disks whether the drive type is removable or not.

16 years agomsi: Publish a few more product properties.
James Hawkins [Tue, 24 Jun 2008 04:01:44 +0000 (23:01 -0500)] 
msi: Publish a few more product properties.

16 years agomsi: Allow checking a REG_MULTI_SZ string.
James Hawkins [Tue, 24 Jun 2008 04:01:08 +0000 (23:01 -0500)] 
msi: Allow checking a REG_MULTI_SZ string.

16 years agomsi: Squash the package code property.
James Hawkins [Tue, 24 Jun 2008 04:00:21 +0000 (23:00 -0500)] 
msi: Squash the package code property.

16 years agomsi: Factor out publishing the product properties.
James Hawkins [Tue, 24 Jun 2008 03:59:41 +0000 (22:59 -0500)] 
msi: Factor out publishing the product properties.

16 years agomsi: Don't publish the product to an invalid location.
James Hawkins [Tue, 24 Jun 2008 03:59:03 +0000 (22:59 -0500)] 
msi: Don't publish the product to an invalid location.

16 years agomsi: Don't set an invalid install property in PublishProduct.
James Hawkins [Tue, 24 Jun 2008 03:58:24 +0000 (22:58 -0500)] 
msi: Don't set an invalid install property in PublishProduct.

16 years agomsi: Factor out publishing the product source list.
James Hawkins [Tue, 24 Jun 2008 03:57:36 +0000 (22:57 -0500)] 
msi: Factor out publishing the product source list.

16 years agomsi: Factor out publishing icon files.
James Hawkins [Tue, 24 Jun 2008 03:56:56 +0000 (22:56 -0500)] 
msi: Factor out publishing icon files.

16 years agoshell32: Populate comment column in Control Panel.
Owen Rudge [Mon, 23 Jun 2008 17:54:20 +0000 (18:54 +0100)] 
shell32: Populate comment column in Control Panel.

16 years agoshell32: Ensure the correct applet is loaded in multi-applet control panels.
Owen Rudge [Mon, 23 Jun 2008 17:54:11 +0000 (18:54 +0100)] 
shell32: Ensure the correct applet is loaded in multi-applet control panels.

16 years agoshell32: Register Control Panel namespace folder.
Owen Rudge [Mon, 23 Jun 2008 17:54:00 +0000 (18:54 +0100)] 
shell32: Register Control Panel namespace folder.

16 years agowine.inf: Add cplfile (control panel applet) association.
Owen Rudge [Mon, 23 Jun 2008 17:53:48 +0000 (18:53 +0100)] 
wine.inf: Add cplfile (control panel applet) association.