Module: wine Branch: master Commit: ae608e6ec3c940e09fb709847454c3df501defde URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae608e6ec3c940e09fb7098474...
Author: Vincent Povirk vincent@codeweavers.com Date: Thu Mar 31 14:41:00 2011 -0500
comctl32: Validate the day of month when scrolling through years.
---
dlls/comctl32/datetime.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c index fd97fdd..abfef58 100644 --- a/dlls/comctl32/datetime.c +++ b/dlls/comctl32/datetime.c @@ -474,6 +474,9 @@ DATETIME_IncreaseField (DATETIME_INFO *infoPtr, int number, int delta) case TWODIGITYEAR: case FULLYEAR: date->wYear = wrap(date->wYear, delta, 1752, 9999); + if (date->wDay > MONTHCAL_MonthLength(date->wMonth, date->wYear)) + /* This can happen when moving away from a leap year. */ + date->wDay = MONTHCAL_MonthLength(date->wMonth, date->wYear); MONTHCAL_CalculateDayOfWeek(date, TRUE); break; case ONEDIGITMONTH: