JDK-4842062 : Win32: when used, SM_CXDRAG and SM_CYDRAG should be reduced to a half
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_nt
  • CPU: x86
  • Submitted: 2003-04-03
  • Updated: 2003-05-25
  • Resolved: 2003-05-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 tigerFixed
Related Reports
Relates :  
Description

Name: agR10216			Date: 04/03/2003



In the fix for 4731797[Mouse click/drag zone is not read
correctly from Win32] (see the comments section) the
x-distance between the point of pressing the mouse and its
current position is compared to ::GetSystemMetrics(SM_CXDRAG),
while MSDN for GetSystemMetrics says about SM_CXDRAG, SM_CYDRAG:
"Width and height, in pixels, of a rectangle CENTERED on a
drag point to allow for limited movement of the mouse
pointer before a drag operation begins. This allows the user
to click and release the mouse button easily without
unintentionally starting a drag operation."
It implies that we should compare that x-distance to
::GetSystemMetrics(SM_CXDRAG)/2 instead of
::GetSystemMetrics(SM_CXDRAG). (The same for Y, of course.)

###@###.### 2003-04-03
======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b08
24-08-2004

WORK AROUND Name: agR10216 Date: 04/03/2003 ======================================================================
24-08-2004

SUGGESTED FIX Name: agR10216 Date: 04/07/2003 --- awt_Component.cpp Fri Apr 4 18:46:21 2003 *************** *** 2386,2393 **** if (!m_dragged) { int diffX = abs(x-lastClickX); int diffY = abs(y-lastClickY); ! if (diffX > ::GetSystemMetrics(SM_CXDRAG) || ! diffY > ::GetSystemMetrics(SM_CYDRAG)) { m_dragged = TRUE; } } --- 2386,2393 ---- if (!m_dragged) { int diffX = abs(x-lastClickX); int diffY = abs(y-lastClickY); ! if (diffX > ::GetSystemMetrics(SM_CXDRAG)/2 || ! diffY > ::GetSystemMetrics(SM_CYDRAG)/2) { m_dragged = TRUE; } } ###@###.### 2003-04-07 ======================================================================
07-04-2003

EVALUATION Commit to fix in Tiger. ###@###.### 2003-04-03
03-04-2003