diff options
Diffstat (limited to 'source/blender/blenkernel/intern/icons.c')
-rw-r--r-- | source/blender/blenkernel/intern/icons.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/icons.c b/source/blender/blenkernel/intern/icons.c index 09c189a8847..9effd25c142 100644 --- a/source/blender/blenkernel/intern/icons.c +++ b/source/blender/blenkernel/intern/icons.c @@ -125,25 +125,33 @@ struct PreviewImage* BKE_previewimg_create(void) prv_img = MEM_callocN(sizeof(PreviewImage), "img_prv"); - for (i=0; i<PREVIEW_MIPMAPS; ++i) { + for (i=0; i<NUM_ICON_SIZES; ++i) { prv_img->changed[i] = 1; prv_img->changed_timestamp[i] = 0; } return prv_img; } -void BKE_previewimg_free(PreviewImage **prv) +void BKE_previewimg_freefunc(void *link) { - if(prv && (*prv)) { + PreviewImage *prv = (PreviewImage *)link; + if (prv) { int i; - - for (i=0; i<PREVIEW_MIPMAPS;++i) { - if ((*prv)->rect[i]) { - MEM_freeN((*prv)->rect[i]); - (*prv)->rect[i] = NULL; + + for (i=0; i<NUM_ICON_SIZES;++i) { + if (prv->rect[i]) { + MEM_freeN(prv->rect[i]); + prv->rect[i] = NULL; } } - MEM_freeN((*prv)); + MEM_freeN(prv); + } +} + +void BKE_previewimg_free(PreviewImage **prv) +{ + if(prv && (*prv)) { + BKE_previewimg_freefunc(*prv); *prv = NULL; } } @@ -155,7 +163,7 @@ struct PreviewImage* BKE_previewimg_copy(PreviewImage *prv) if (prv) { prv_img = MEM_dupallocN(prv); - for (i=0; i < PREVIEW_MIPMAPS; ++i) { + for (i=0; i < NUM_ICON_SIZES; ++i) { if (prv->rect[i]) { prv_img->rect[i] = MEM_dupallocN(prv->rect[i]); } else { @@ -237,7 +245,7 @@ void BKE_icon_changed(int id) /* all previews changed */ if (prv) { int i; - for (i=0; i<PREVIEW_MIPMAPS; ++i) { + for (i=0; i<NUM_ICON_SIZES; ++i) { prv->changed[i] = 1; prv->changed_timestamp[i]++; } |