2008/6/10 Paul Vriens paul.vriens.wine@gmail.com:
This 'fixes' the crash on win9x and NT4.
@@ -1130,11 +1130,15 @@ static void test_data_cache(void) hr = IOleCache_Uncache(pOleCache, 0xdeadbeef); ok(hr == OLE_E_NOCONNECTION, "IOleCache_Uncache with invalid value should return OLE_E_NOCONNECTION instead of 0x%x\n", hr);
- hr = IOleCache_Cache(pOleCache, NULL, 0, &dwConnection);
- ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL fmtetc should have returned E_INVALIDARG instead of 0x%08x\n", hr);
- /* Both tests crash on NT4 and below */
- if (0)
- {
hr = IOleCache_Cache(pOleCache, NULL, 0, &dwConnection);
ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL fmtetc should have returned E_INVALIDARG instead of 0x%08x\n", hr);
- hr = IOleCache_Cache(pOleCache, NULL, 0, NULL);
- ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL pdwConnection should have returned E_INVALIDARG instead of 0x%08x\n", hr);
hr = IOleCache_Cache(pOleCache, NULL, 0, NULL);
ok(hr == E_INVALIDARG, "IOleCache_Cache with NULL pdwConnection should have returned E_INVALIDARG instead of 0x%08x\n", hr);
}
for (fmtetc.cfFormat = CF_TEXT; fmtetc.cfFormat < CF_MAX; fmtetc.cfFormat++) {
This test was added in response to a real application doing exactly this, so I think the test does have value when run on Win 2000+. Therefore, I think a version check would be better than "if (0)".