Module: wine Branch: master Commit: decc86add9bca24dc7b1680018feddde50405856 URL: http://source.winehq.org/git/wine.git/?a=commit;h=decc86add9bca24dc7b1680018...
Author: Nikolay Sivov bunglehead@gmail.com Date: Fri Sep 25 03:32:18 2009 +0400
comctl32/monthcal: Don't redraw if date didn't change on MCM_SETTODAY.
---
dlls/comctl32/monthcal.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c index aa4b35c..5cbd9aa 100644 --- a/dlls/comctl32/monthcal.c +++ b/dlls/comctl32/monthcal.c @@ -158,6 +158,12 @@ int MONTHCAL_MonthLength(int month, int year) } }
+/* compares timestamps using date part only */ +static inline BOOL MONTHCAL_IsDateEqual(const SYSTEMTIME *first, const SYSTEMTIME *second) +{ + return (first->wYear == second->wYear) && (first->wMonth == second->wMonth) && + (first->wDay == second->wDay); +}
/* make sure that time is valid */ static int MONTHCAL_ValidateTime(SYSTEMTIME time) @@ -1093,6 +1099,9 @@ MONTHCAL_SetToday(MONTHCAL_INFO *infoPtr, SYSTEMTIME *today) TRACE("%p\n", today);
if(!today) return FALSE; + + if(MONTHCAL_IsDateEqual(today, &infoPtr->todaysDate)) return TRUE; + MONTHCAL_CopyTime(today, &infoPtr->todaysDate); InvalidateRect(infoPtr->hwndSelf, NULL, FALSE); return TRUE;