diff --git a/dlls/oleaut32/tests/vartype.c b/dlls/oleaut32/tests/vartype.c index 6742fce2168..79b6b9312fe 100644 --- a/dlls/oleaut32/tests/vartype.c +++ b/dlls/oleaut32/tests/vartype.c @@ -3439,7 +3439,7 @@ static void test_VarDateFromStr(void) DFS("02.01.1970 00:00:00"); EXPECT_MISMATCH; lcid = MAKELCID(MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN),SORT_DEFAULT); DFS("02.01.1970"); EXPECT_DBL(25570.0); - DFS("02.01.1970 00:00:00"); todo_wine EXPECT_DBL(25570.0); + DFS("02.01.1970 00:00:00"); EXPECT_DBL(25570.0); } static void test_VarDateCopy(void) diff --git a/dlls/oleaut32/vartype.c b/dlls/oleaut32/vartype.c index 580209b7539..da1288d4a7c 100644 --- a/dlls/oleaut32/vartype.c +++ b/dlls/oleaut32/vartype.c @@ -7707,6 +7707,13 @@ HRESULT WINAPI VarDateFromStr(OLECHAR* strIn, LCID lcid, ULONG dwFlags, DATE* pd dp.dwCount -= 3; break; + case 0x1B: /* localized DDDTTT */ + if (!iDate) + { + hRet = DISP_E_TYPEMISMATCH; + break; + } + /* .. fall through .. */ case 0x18: /* DDDTTT */ if ((dp.dwFlags[0] & (DP_AM|DP_PM)) || (dp.dwFlags[1] & (DP_AM|DP_PM)) || (dp.dwFlags[2] & (DP_AM|DP_PM)))