Vincent Povirk : comctl32: Use current month and year when checking day of month.
Alexandre Julliard
julliard at winehq.org
Fri Apr 1 09:40:59 CDT 2011
Module: wine
Branch: master
Commit: 4d1fca24be9730707b5fb8510dc19c03c14074e1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4d1fca24be9730707b5fb8510dc19c03c14074e1
Author: Vincent Povirk <vincent at codeweavers.com>
Date: Thu Mar 31 13:55:24 2011 -0500
comctl32: Use current month and year when checking day of month.
---
dlls/comctl32/datetime.c | 3 ++-
dlls/comctl32/tests/datetime.c | 9 +++++++++
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c
index 8269758..bc643eb 100644
--- a/dlls/comctl32/datetime.c
+++ b/dlls/comctl32/datetime.c
@@ -167,7 +167,8 @@ DATETIME_SetSystemTime (DATETIME_INFO *infoPtr, DWORD flag, const SYSTEMTIME *sy
if (flag == GDT_VALID) {
if (systime->wYear < 1601 || systime->wYear > 30827 ||
systime->wMonth < 1 || systime->wMonth > 12 ||
- systime->wDay < 1 || systime->wDay > 31 ||
+ systime->wDay < 1 ||
+ systime->wDay > MONTHCAL_MonthLength(systime->wMonth, systime->wYear) ||
systime->wHour > 23 ||
systime->wMinute > 59 ||
systime->wSecond > 59 ||
diff --git a/dlls/comctl32/tests/datetime.c b/dlls/comctl32/tests/datetime.c
index 8b902ba..d60ad54 100644
--- a/dlls/comctl32/tests/datetime.c
+++ b/dlls/comctl32/tests/datetime.c
@@ -600,6 +600,15 @@ static void test_dtm_set_and_get_system_time(void)
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
+ /* day invalid for current month */
+ st = ref;
+ st.wDay = 30;
+ st.wMonth = 2;
+ r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
+ expect(0, r);
+ r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
+ expect(GDT_VALID, r);
+ expect_systime(&ref, &getSt);
/* day of week isn't validated */
st = ref;
st.wDayOfWeek = 10;
More information about the wine-cvs
mailing list