Flip some more images

svn path=/trunk/; revision=17393
This commit is contained in:
Matthias Clasen 2007-03-06 04:16:24 +00:00
parent 21119b4805
commit 3bffda30fd
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-03-05 Matthias Clasen <mclasen@redhat.com>
* io-tga.c: (gdk_pixbuf__tga_stop_load): Flip rle-encoded
images even if they haven't been completely loaded. (#347106)
2007-02-27 Felix Riemann <friemann@svn.gnome.org>
* io-ico.c: (fill_info): Add image/x-ico to supported mime types.

View File

@ -504,8 +504,9 @@ static guint parse_rle_data_pseudocolor(TGAContext *ctx)
}
}
if (ctx->pbuf_bytes_done == ctx->pbuf_bytes)
if (ctx->pbuf_bytes_done == ctx->pbuf_bytes)
ctx->done = TRUE;
return n;
}
@ -657,8 +658,10 @@ static gboolean parse_rle_data(TGAContext *ctx, GError **err)
* perfect, but doing it during the rle decoding in place
* is considerably more work.
*/
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER))
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER)) {
pixbuf_flip_vertically (ctx->pbuf);
ctx->hdr->flags |= TGA_ORIGIN_UPPER;
}
}
@ -933,6 +936,13 @@ static gboolean gdk_pixbuf__tga_stop_load(gpointer data, GError **err)
TGAContext *ctx = (TGAContext *) data;
g_return_val_if_fail(ctx != NULL, FALSE);
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER) && ctx->run_length_encoded) {
pixbuf_flip_vertically (ctx->pbuf);
if (ctx->ufunc)
(*ctx->ufunc) (ctx->pbuf, 0, 0,
ctx->pbuf->width, ctx->pbuf->height,
ctx->udata);
}
if (ctx->hdr)
g_free (ctx->hdr);
if (ctx->cmap) {