Nikolay Sivov : comctl32/monthcal: Fix today date box painting.
Alexandre Julliard
julliard at winehq.org
Tue Sep 20 13:08:35 CDT 2011
Module: wine
Branch: master
Commit: 229d4e210999cb9b31baa7c66458cbd2a7d9706c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=229d4e210999cb9b31baa7c66458cbd2a7d9706c
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Sep 20 11:35:54 2011 +0400
comctl32/monthcal: Fix today date box painting.
---
dlls/comctl32/monthcal.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index dfa3d6e..762a792 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -987,14 +987,20 @@ static void MONTHCAL_PaintTodayTitle(const MONTHCAL_INFO *infoPtr, HDC hdc, cons
/* today mark + focus */
static void MONTHCAL_PaintFocusAndCircle(const MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
{
- if((infoPtr->minSel.wMonth == infoPtr->todaysDate.wMonth) &&
- (infoPtr->minSel.wYear == infoPtr->todaysDate.wYear) &&
- !(infoPtr->dwStyle & MCS_NOTODAYCIRCLE))
+ /* circle today date if only it's in fully visible month */
+ if (!(infoPtr->dwStyle & MCS_NOTODAYCIRCLE))
{
- MONTHCAL_CircleDay(infoPtr, hdc, &infoPtr->todaysDate);
+ INT i;
+
+ for (i = 0; i < MONTHCAL_GetCalCount(infoPtr); i++)
+ if (!MONTHCAL_CompareMonths(&infoPtr->todaysDate, &infoPtr->calendars[i].month))
+ {
+ MONTHCAL_CircleDay(infoPtr, hdc, &infoPtr->todaysDate);
+ break;
+ }
}
- if(!MONTHCAL_IsDateEqual(&infoPtr->focusedSel, &st_null))
+ if (!MONTHCAL_IsDateEqual(&infoPtr->focusedSel, &st_null))
{
RECT r;
MONTHCAL_GetDayRect(infoPtr, &infoPtr->focusedSel, &r, -1);
More information about the wine-cvs
mailing list