summaryrefslogtreecommitdiff
path: root/amiga/bitmap.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-08-05 16:16:18 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-08-05 16:16:18 +0100
commit25f1acb504ee7de4690fb83ba4a39a75c8539273 (patch)
tree0af47a9874d79e975df03c9b2ffd8a3cec2f5c61 /amiga/bitmap.c
parent59af85e0b50f7343fe7c867cdb8cb868d7aac58f (diff)
downloadnetsurf-25f1acb504ee7de4690fb83ba4a39a75c8539273.tar.gz
netsurf-25f1acb504ee7de4690fb83ba4a39a75c8539273.tar.bz2
Don't re-layout if this has already been performed
Diffstat (limited to 'amiga/bitmap.c')
-rw-r--r--amiga/bitmap.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/amiga/bitmap.c b/amiga/bitmap.c
index d8f11b8ed..61d56033c 100644
--- a/amiga/bitmap.c
+++ b/amiga/bitmap.c
@@ -480,25 +480,27 @@ struct BitMap *ami_bitmap_get_palettemapped(struct bitmap *bitmap,
bitmap->dto = NULL;
}
- if(bitmap->dto == NULL)
+ if(bitmap->dto == NULL) {
bitmap->dto = ami_datatype_object_from_bitmap(bitmap);
- SetDTAttrs(bitmap->dto, NULL, NULL,
- PDTA_Screen, scrn,
- PDTA_ScaleQuality, nsoption_bool(scale_quality),
- TAG_DONE);
+ SetDTAttrs(bitmap->dto, NULL, NULL,
+ PDTA_Screen, scrn,
+ PDTA_ScaleQuality, nsoption_bool(scale_quality),
+ TAG_DONE);
- if((bitmap->width != width) || (bitmap->height != height)) {
- IDoMethod(bitmap->dto, PDTM_SCALE, width, height, 0);
+ if((bitmap->width != width) || (bitmap->height != height)) {
+ IDoMethod(bitmap->dto, PDTM_SCALE, width, height, 0);
+ }
+
+ if((DoDTMethod(bitmap->dto, 0, 0, DTM_PROCLAYOUT, 0, 1)) == 0)
+ return NULL;
}
- if(DoDTMethod(bitmap->dto, 0, 0, DTM_PROCLAYOUT, 0, 1)) {
- GetDTAttrs(bitmap->dto,
- PDTA_DestBitMap, &dtbm,
- PDTA_MaskPlane, &bitmap->native_mask,
- TAG_END);
- }
-
+ GetDTAttrs(bitmap->dto,
+ PDTA_DestBitMap, &dtbm,
+ PDTA_MaskPlane, &bitmap->native_mask,
+ TAG_END);
+
bitmap->nativebmwidth = width;
bitmap->nativebmheight = height;