Module: wine Branch: master Commit: 8cbb8cc38d01027407976a10b32a59f6a4cb705c URL: http://source.winehq.org/git/wine.git/?a=commit;h=8cbb8cc38d01027407976a10b3...
Author: Greg Geldorp ggeldorp@vmware.com Date: Sun Jan 2 15:41:22 2011 +0100
ole32/tests: Disable target device clipboard tests.
---
dlls/ole32/tests/clipboard.c | 72 ++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 34 deletions(-)
diff --git a/dlls/ole32/tests/clipboard.c b/dlls/ole32/tests/clipboard.c index d97426c..8a44f50 100644 --- a/dlls/ole32/tests/clipboard.c +++ b/dlls/ole32/tests/clipboard.c @@ -428,18 +428,21 @@ static HRESULT DataObjectImpl_CreateComplex(LPDATAOBJECT *lplpdataobj) InitFormatEtc(obj->fmtetc[1], cf_stream, TYMED_ISTREAM); InitFormatEtc(obj->fmtetc[2], cf_storage, TYMED_ISTORAGE); InitFormatEtc(obj->fmtetc[3], cf_another, TYMED_ISTORAGE|TYMED_ISTREAM|TYMED_HGLOBAL); - memset(&dm, 0, sizeof(dm)); - dm.dmSize = sizeof(dm); - dm.dmDriverExtra = 0; - lstrcpyW(dm.dmDeviceName, device_name); - obj->fmtetc[3].ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra); - obj->fmtetc[3].ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra; - obj->fmtetc[3].ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData); - obj->fmtetc[3].ptd->tdDeviceNameOffset = 0; - obj->fmtetc[3].ptd->tdPortNameOffset = 0; - obj->fmtetc[3].ptd->tdExtDevmodeOffset = obj->fmtetc[3].ptd->tdDriverNameOffset + sizeof(device_name); - lstrcpyW((WCHAR*)obj->fmtetc[3].ptd->tdData, device_name); - memcpy(obj->fmtetc[3].ptd->tdData + sizeof(device_name), &dm, dm.dmSize + dm.dmDriverExtra); + if (0) /* Causes crashes on both Wine and Windows */ + { + memset(&dm, 0, sizeof(dm)); + dm.dmSize = sizeof(dm); + dm.dmDriverExtra = 0; + lstrcpyW(dm.dmDeviceName, device_name); + obj->fmtetc[3].ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra); + obj->fmtetc[3].ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra; + obj->fmtetc[3].ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData); + obj->fmtetc[3].ptd->tdDeviceNameOffset = 0; + obj->fmtetc[3].ptd->tdPortNameOffset = 0; + obj->fmtetc[3].ptd->tdExtDevmodeOffset = obj->fmtetc[3].ptd->tdDriverNameOffset + sizeof(device_name); + lstrcpyW((WCHAR*)obj->fmtetc[3].ptd->tdData, device_name); + memcpy(obj->fmtetc[3].ptd->tdData + sizeof(device_name), &dm, dm.dmSize + dm.dmDriverExtra); + }
InitFormatEtc(obj->fmtetc[4], cf_global, TYMED_HGLOBAL); InitFormatEtc(obj->fmtetc[5], cf_another, TYMED_HGLOBAL); @@ -1192,31 +1195,32 @@ static void test_flushed_getdata(void)
InitFormatEtc(fmt, cf_another, 0xffff); hr = IDataObject_GetData(get, &fmt, &med); - ok(hr == DV_E_FORMATETC || - broken(hr == S_OK), /* win9x, winme & nt4 */ - "got %08x\n", hr); - if(SUCCEEDED(hr)) ReleaseStgMedium(&med); - - InitFormatEtc(fmt, cf_another, 0xffff); - memset(&dm, 0, sizeof(dm)); - dm.dmSize = sizeof(dm); - dm.dmDriverExtra = 0; - lstrcpyW(dm.dmDeviceName, device_name); - fmt.ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra); - fmt.ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra; - fmt.ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData); - fmt.ptd->tdDeviceNameOffset = 0; - fmt.ptd->tdPortNameOffset = 0; - fmt.ptd->tdExtDevmodeOffset = fmt.ptd->tdDriverNameOffset + sizeof(device_name); - lstrcpyW((WCHAR*)fmt.ptd->tdData, device_name); - memcpy(fmt.ptd->tdData + sizeof(device_name), &dm, dm.dmSize + dm.dmDriverExtra); - - hr = IDataObject_GetData(get, &fmt, &med); ok(hr == S_OK, "got %08x\n", hr); - ok(med.tymed == TYMED_ISTORAGE, "got %x\n", med.tymed); if(SUCCEEDED(hr)) ReleaseStgMedium(&med);
- HeapFree(GetProcessHeap(), 0, fmt.ptd); + if (0) /* Causes crashes on both Wine and Windows */ + { + InitFormatEtc(fmt, cf_another, 0xffff); + memset(&dm, 0, sizeof(dm)); + dm.dmSize = sizeof(dm); + dm.dmDriverExtra = 0; + lstrcpyW(dm.dmDeviceName, device_name); + fmt.ptd = HeapAlloc(GetProcessHeap(), 0, FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra); + fmt.ptd->tdSize = FIELD_OFFSET(DVTARGETDEVICE, tdData) + sizeof(device_name) + dm.dmSize + dm.dmDriverExtra; + fmt.ptd->tdDriverNameOffset = FIELD_OFFSET(DVTARGETDEVICE, tdData); + fmt.ptd->tdDeviceNameOffset = 0; + fmt.ptd->tdPortNameOffset = 0; + fmt.ptd->tdExtDevmodeOffset = fmt.ptd->tdDriverNameOffset + sizeof(device_name); + lstrcpyW((WCHAR*)fmt.ptd->tdData, device_name); + memcpy(fmt.ptd->tdData + sizeof(device_name), &dm, dm.dmSize + dm.dmDriverExtra); + + hr = IDataObject_GetData(get, &fmt, &med); + ok(hr == S_OK, "got %08x\n", hr); + ok(med.tymed == TYMED_ISTORAGE, "got %x\n", med.tymed); + if(SUCCEEDED(hr)) ReleaseStgMedium(&med); + + HeapFree(GetProcessHeap(), 0, fmt.ptd); + }
IDataObject_Release(get);