• Debarshi Ray's avatar
    base-item: Use the correct stride value · c3ef33ea
    Debarshi Ray authored
    The stride with which the Cairo surface is created should be the same
    as the one with which data was written to it. The Cairo surface and its
    underlying memory buffer were being created based on the stride
    specified by Cairo, while data was being written to it based on a
    potentially smaller stride value, which could have caused visual
    GEGL_AUTO_ROWSTRIDE represents the product of the bytes per pixel of
    the Babl format with the requested width. This might not match the
    value specified by the Cairo surface because it might be more
    performant to have extra padding at the end of each row to satisfy
    alignment requirements, etc..
    There are no known bugs caused by this, possibly because a
    CAIRO_ARGB32 pixel has a nicely rounded length of 32 bits, which makes
    a mismatch unlikely. However, the possibility cannot be ruled out.
    There was a similar bug in gegl:pixbuf [1] where the stride with which
    a GdkPixbuf was created didn't match the one with which data was read
    from it.
    [1] GEGL commit aaf2477caec750
photos-base-item.c 134 KB