Vincent Povirk wrote:
Now on windows (with s/if(0)/if(1)/) I get lots of:
metafile.c:740: Test failed: unexpected EMF bits: got 01, expected 0xff
metafile.c:740: Test failed: unexpected EMF bits: got 00, expected 0xff
metafile.c:740: Test failed: unexpected EMF bits: got 00, expected 0xff
...
You, uh, do realize metafiles are a vector format, right? The data isn't really going to be all 1's.
Right. I thought, though, that the GetEnhMetaFileBits() function would return the bits as they are drawn by playing the metafile. Silly me. It returns the raw bits in the metafile itself. (The use of the term "bits" confused me.) That test is going to go away then.
If I comment out the for loop and initialize i to 1, the test succeeds on Windows.
There's one test that succeeds if there are exactly two BitBlt() records in the metafile. The test_BitBlt_record() function just increments i (through a pointer) every time it encounters a BitBlt() record. What happens when i is initialized to 0?
Chip