From 01cc7987c7af26c70269c81e9d344fd2e91a8793 Mon Sep 17 00:00:00 2001 From: Richard Wilson Date: Tue, 21 Feb 2006 22:29:17 +0000 Subject: [project @ 2006-02-21 22:29:17 by rjw] Fix broken decompression svn path=/import/netsurf/; revision=2088 --- riscos/bitmap.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'riscos/bitmap.c') diff --git a/riscos/bitmap.c b/riscos/bitmap.c index e482452c9..505b27ee5 100644 --- a/riscos/bitmap.c +++ b/riscos/bitmap.c @@ -181,6 +181,7 @@ struct bitmap *bitmap_create(int width, int height, bitmap_state state) default: LOG(("Invalid bitmap state")); assert(false); + return false; } /* link into our list of bitmaps at the head */ @@ -239,24 +240,24 @@ bool bitmap_initialise(struct bitmap *bitmap) osspriteop_area *sprite_area; osspriteop_header *sprite; + assert(!bitmap->sprite_area); + area_size = 16 + 44 + bitmap->width * bitmap->height * 4; switch (bitmap->state) { case BITMAP_CLEAR_MEMORY: bitmap->sprite_area = calloc(1, area_size); - if (!bitmap->sprite_area) - return false; - bitmap->state = BITMAP_READY; break; case BITMAP_ALLOCATE_MEMORY: bitmap->sprite_area = malloc(area_size); - if (!bitmap->sprite_area) - return false; - bitmap->state = BITMAP_READY; break; default: LOG(("Invalid bitmap state")); assert(false); + return false; } + if (!bitmap->sprite_area) + return false; + bitmap->state = BITMAP_READY; bitmap_direct_used += area_size; /* area control block */ @@ -607,6 +608,7 @@ void bitmap_decompress(struct bitmap *bitmap) } /* create the image memory/header to decompress to */ + bitmap->state = BITMAP_ALLOCATE_MEMORY; if (!bitmap_initialise(bitmap)) return; -- cgit v1.2.3