Module: wine Branch: master Commit: 96ed854d3553ef3917e2521fa68d5059dc54973e URL: http://source.winehq.org/git/wine.git/?a=commit;h=96ed854d3553ef3917e2521fa6...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Oct 5 14:03:33 2010 +0200
comctl32/datetime: Fix incorrect use of the ScreenToClient function.
---
dlls/comctl32/datetime.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c index 6204cd1..1ac6ba7 100644 --- a/dlls/comctl32/datetime.c +++ b/dlls/comctl32/datetime.c @@ -787,6 +787,7 @@ DATETIME_LButtonDown (DATETIME_INFO *infoPtr, INT x, INT y)
if (infoPtr->select == DTHT_MCPOPUP) { RECT rcMonthCal; + POINT pos; SendMessageW(infoPtr->hMonthCal, MCM_GETMINREQRECT, 0, (LPARAM)&rcMonthCal);
/* FIXME: button actually is only depressed during dropdown of the */ @@ -795,17 +796,16 @@ DATETIME_LButtonDown (DATETIME_INFO *infoPtr, INT x, INT y)
/* recalculate the position of the monthcal popup */ if(infoPtr->dwStyle & DTS_RIGHTALIGN) - infoPtr->monthcal_pos.x = infoPtr->calbutton.left - - (rcMonthCal.right - rcMonthCal.left); + pos.x = infoPtr->calbutton.left - (rcMonthCal.right - rcMonthCal.left); else /* FIXME: this should be after the area reserved for the checkbox */ - infoPtr->monthcal_pos.x = infoPtr->rcDraw.left; + pos.x = infoPtr->rcDraw.left;
- infoPtr->monthcal_pos.y = infoPtr->rcClient.bottom; - ClientToScreen (infoPtr->hwndSelf, &(infoPtr->monthcal_pos)); - SetWindowPos(infoPtr->hMonthCal, 0, infoPtr->monthcal_pos.x, - infoPtr->monthcal_pos.y, rcMonthCal.right - rcMonthCal.left, - rcMonthCal.bottom - rcMonthCal.top, 0); + pos.y = infoPtr->rcClient.bottom; + OffsetRect( &rcMonthCal, pos.x, pos.y ); + MapWindowPoints( infoPtr->hwndSelf, 0, (POINT *)&rcMonthCal, 2 ); + SetWindowPos(infoPtr->hMonthCal, 0, rcMonthCal.left, rcMonthCal.top, + rcMonthCal.right - rcMonthCal.left, rcMonthCal.bottom - rcMonthCal.top, 0);
if(IsWindowVisible(infoPtr->hMonthCal)) { ShowWindow(infoPtr->hMonthCal, SW_HIDE);