[gdi] bug reading/writing metafiles on sparc
Phil Krylov
phil at newstar.rinet.ru
Thu Apr 13 13:39:57 CDT 2006
On Thu, 13 Apr 2006 11:58:02 -0400
Eric Frias <efrias at syncad.com> wrote:
> Due to little-endian/big-endian differences, winelib on Sparc can't read
> windows metafiles generated on a PC (or on Wine on x86), and conversely
> PCs can't read metafiles created on a Sparc. It looks like there are a
> few ways this could be fixed, and I wanted to make sure we don't go
> about it the wrong way (and that nobody else is working on it).
>
> I think the right thing to do is make the on-disk and in-memory formats
> always be little-endian. We would only convert the data to big-endian
> format when it is generated or used. GetMetaFileBitsEx and
> SetMetaFileBitsEx would return & take the raw data in little-endian format.
I have submitted a patch that fixes creation of on-disk _enhanced_ metafiles
a few days ago:
http://article.gmane.org/gmane.comp.emulators.wine.patches/23393
It byteswaps EMF records just for writing to disk. Adding
byteswapping for reading from disk seems very easy - just feed the file
content to the same byteswapper functions. I think it is a bit more clean
than your approach.
-- Ph.
More information about the wine-devel
mailing list