Skip to content

tiff: Fix TIFFFdOpen (undocumented) requiring HANDLE instead of FILE* on Windows

Amy spark requested to merge lsegovia/krita:work/amyspark/tiff-fd-windows into master

@szaman in !1648 (merged) carried over the semantics from the TIFF export plugin to fix Krita being unable to read TIFFs content URIs.

What we didn't know was that LibTIFF on Windows expects HANDLEs, not FILE*, when accessing files via descriptors. This is an upstream issue: https://gitlab.com/libtiff/libtiff/-/issues/173

This made reading files on Windows impossible, failing with no clear error except for a "not enough data for header" line in the error log.

Test Plan

Build Krita and check that you can still read TIFF files on Android.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.

Merge request reports