diff options
author | Even Rouault <even.rouault@spatialys.com> | 2019-07-09 13:56:18 +0200 |
---|---|---|
committer | Even Rouault <even.rouault@spatialys.com> | 2019-07-09 13:56:18 +0200 |
commit | a21714f0287174a693e40b7a6b6ad21bf5fd4f09 (patch) | |
tree | 634aca3f2ad54860e608f691648a6e2eebd395a2 | |
parent | 6662e2b388576dae8b2cddbbb5732a0663dcc1a6 (diff) | |
download | libtiff-git-a21714f0287174a693e40b7a6b6ad21bf5fd4f09.tar.gz |
TIFFWriteCheck(): call TIFFForceStrileArrayWriting() when needed (should have gone with eaeca6274ae71cdfaeb9f673b6fb0f3cfc0e6ce5) (master only)
-rw-r--r-- | libtiff/tif_write.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libtiff/tif_write.c b/libtiff/tif_write.c index 1bb84e7b..33e803c1 100644 --- a/libtiff/tif_write.c +++ b/libtiff/tif_write.c @@ -626,6 +626,20 @@ TIFFWriteCheck(TIFF* tif, int tiles, const char* module) if (tif->tif_scanlinesize == 0) return (0); tif->tif_flags |= TIFF_BEENWRITING; + + if( tif->tif_dir.td_stripoffset_entry.tdir_tag != 0 && + tif->tif_dir.td_stripoffset_entry.tdir_count == 0 && + tif->tif_dir.td_stripoffset_entry.tdir_type == 0 && + tif->tif_dir.td_stripoffset_entry.tdir_offset.toff_long8 == 0 && + tif->tif_dir.td_stripbytecount_entry.tdir_tag != 0 && + tif->tif_dir.td_stripbytecount_entry.tdir_count == 0 && + tif->tif_dir.td_stripbytecount_entry.tdir_type == 0 && + tif->tif_dir.td_stripbytecount_entry.tdir_offset.toff_long8 == 0 && + !(tif->tif_flags & TIFF_DIRTYDIRECT) ) + { + TIFFForceStrileArrayWriting(tif); + } + return (1); } |