diff options
-rw-r--r-- | ChangeLog | 18 | ||||
-rw-r--r-- | loaders/loader_gif.c | 4 |
2 files changed, 18 insertions, 4 deletions
@@ -2905,3 +2905,21 @@ Thu Apr 27 13:41:11 GMT 2000 Free up some RAM and close the filehandle when interrupted. +_______________________________________________ + +Thu Apr 27 13:43:49 GMT 2000 +(gilbertt) + +Actually, made the gif loader give back what it's got without changing im->h +to reflect, or reallocing the image data. The reason for this is that it +already told apps what the image size was in the first progressive loader +callback, and changing it afterwards can cause confusion. Also, an app can +still handle/display a half-loaded image, as the rest is just filled black, +and the programmer knows how much of the image he got, 'cos he interrupted +it from the callback. If the programmer wants to trim the image, he knows +where to trim it, but if he/she wants to display a part-loaded image, +that'll work sanely. + +I think this is more sane behaviour, having tested it in feh and +imlib2_view, but feel free to disagree ;-) + diff --git a/loaders/loader_gif.c b/loaders/loader_gif.c index 9ac00fe..fd5c1e9 100644 --- a/loaders/loader_gif.c +++ b/loaders/loader_gif.c @@ -150,10 +150,6 @@ load(ImlibImage *im, ImlibProgressFunction progress, char progress_granularity, if (progress && (((int) per) != last_per) && (((int) per) % progress_granularity == 0)) { last_per = (int) per; if (!(progress(im, (int) per, 0, last_y, w, i))) { - /* Early termination. Give back everything but - the current row, since it's incomplete. */ - im->data = (DATA32 *) realloc(im->data, sizeof(DATA32) * w * i); - im->h = i; DGifCloseFile(gif); for (i = 0; i < h; i++) { free(rows[i]); |