• Michael Stahl's avatar
    vcl: fix "sgv" import filter on 64-bit MSVC · af8509fa
    Michael Stahl yazdı
    This filter reads entire structs at a time from the SvStream, including
    structs that are derived from other structs.  This happens to work fine
    with GCC by chance, but MSVC AMD64 by default aligns structs to 8 bytes,
    and that means if sizeof(super-stuct) = 20 then 4 bytes of padding are
    inserted and that ruins the import.
    
    This causes vcl_filters_test to go into an infinite loop reading
    SaveAsPicture.sgv.
    
    Fix this by reading each member of the structs separately, which also
    means that the filter doesn't need to byte-swap every member on
    big-endian platforms since SvStream methods already do that.
    
    Change-Id: I237725dbcde5232006728179e645776fcb79cac3
    af8509fa
sgvmain.hxx 13.8 KB