Cleanup: use "free_data" suffix when the argument isn't freed
Avoid API misuse that caused leaks in T90791 &
2788b0261c
.
This commit is contained in:
parent
e05db0c26b
commit
cea24b4b4a
|
@ -93,7 +93,7 @@ void BKE_gpencil_free_stroke(struct bGPDstroke *gps);
|
|||
bool BKE_gpencil_free_strokes(struct bGPDframe *gpf);
|
||||
void BKE_gpencil_free_frames(struct bGPDlayer *gpl);
|
||||
void BKE_gpencil_free_layers(struct ListBase *list);
|
||||
void BKE_gpencil_free(struct bGPdata *gpd, bool free_all);
|
||||
void BKE_gpencil_free_data(struct bGPdata *gpd, bool free_all);
|
||||
void BKE_gpencil_eval_delete(struct bGPdata *gpd_eval);
|
||||
void BKE_gpencil_free_layer_masks(struct bGPDlayer *gpl);
|
||||
void BKE_gpencil_tag(struct bGPdata *gpd);
|
||||
|
|
|
@ -56,7 +56,7 @@ void BKE_image_free_buffers(struct Image *image);
|
|||
void BKE_image_free_buffers_ex(struct Image *image, bool do_lock);
|
||||
void BKE_image_free_gputextures(struct Image *ima);
|
||||
/* call from library */
|
||||
void BKE_image_free(struct Image *image);
|
||||
void BKE_image_free_data(struct Image *image);
|
||||
|
||||
typedef void(StampCallback)(void *data, const char *propname, char *propvalue, int len);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ struct Object;
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
void BKE_key_free(struct Key *key);
|
||||
void BKE_key_free_data(struct Key *key);
|
||||
void BKE_key_free_nolib(struct Key *key);
|
||||
struct Key *BKE_key_add(struct Main *bmain, struct ID *id);
|
||||
void BKE_key_sort(struct Key *key);
|
||||
|
|
|
@ -473,7 +473,7 @@ void BKE_screen_view3d_shading_init(struct View3DShading *shading);
|
|||
/* screen */
|
||||
void BKE_screen_foreach_id_screen_area(struct LibraryForeachIDData *data, struct ScrArea *area);
|
||||
|
||||
void BKE_screen_free(struct bScreen *screen);
|
||||
void BKE_screen_free_data(struct bScreen *screen);
|
||||
void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL();
|
||||
|
||||
struct ScrEdge *BKE_screen_find_edge(const struct bScreen *screen,
|
||||
|
|
|
@ -131,7 +131,7 @@ static void greasepencil_free_data(ID *id)
|
|||
{
|
||||
/* Really not ideal, but for now will do... In theory custom behaviors like not freeing cache
|
||||
* should be handled through specific API, and not be part of the generic one. */
|
||||
BKE_gpencil_free((bGPdata *)id, true);
|
||||
BKE_gpencil_free_data((bGPdata *)id, true);
|
||||
}
|
||||
|
||||
static void greasepencil_foreach_id(ID *id, LibraryForeachIDData *data)
|
||||
|
@ -495,7 +495,7 @@ void BKE_gpencil_free_layers(ListBase *list)
|
|||
}
|
||||
|
||||
/** Free (or release) any data used by this grease pencil (does not free the gpencil itself). */
|
||||
void BKE_gpencil_free(bGPdata *gpd, bool free_all)
|
||||
void BKE_gpencil_free_data(bGPdata *gpd, bool free_all)
|
||||
{
|
||||
/* free layers */
|
||||
BKE_gpencil_free_layers(&gpd->layers);
|
||||
|
@ -518,7 +518,7 @@ void BKE_gpencil_free(bGPdata *gpd, bool free_all)
|
|||
*/
|
||||
void BKE_gpencil_eval_delete(bGPdata *gpd_eval)
|
||||
{
|
||||
BKE_gpencil_free(gpd_eval, true);
|
||||
BKE_gpencil_free_data(gpd_eval, true);
|
||||
BKE_libblock_free_data(&gpd_eval->id, false);
|
||||
BLI_assert(!gpd_eval->id.py_instance); /* Or call #BKE_libblock_free_data_py. */
|
||||
MEM_freeN(gpd_eval);
|
||||
|
|
|
@ -534,7 +534,7 @@ void BKE_image_free_buffers(Image *ima)
|
|||
}
|
||||
|
||||
/** Free (or release) any data used by this image (does not free the image itself). */
|
||||
void BKE_image_free(Image *ima)
|
||||
void BKE_image_free_data(Image *ima)
|
||||
{
|
||||
image_free_data(&ima->id);
|
||||
}
|
||||
|
|
|
@ -245,7 +245,7 @@ typedef struct WeightsArrayCache {
|
|||
} WeightsArrayCache;
|
||||
|
||||
/** Free (or release) any data used by this shapekey (does not free the key itself). */
|
||||
void BKE_key_free(Key *key)
|
||||
void BKE_key_free_data(Key *key)
|
||||
{
|
||||
shapekey_free_data(&key->id);
|
||||
}
|
||||
|
|
|
@ -728,7 +728,7 @@ void BKE_screen_area_map_free(ScrAreaMap *area_map)
|
|||
}
|
||||
|
||||
/** Free (or release) any data used by this screen (does not free the screen itself). */
|
||||
void BKE_screen_free(bScreen *screen)
|
||||
void BKE_screen_free_data(bScreen *screen)
|
||||
{
|
||||
screen_free_data(&screen->id);
|
||||
}
|
||||
|
|
|
@ -125,7 +125,7 @@ static void gpencil_undo_free_node(bGPundonode *undo_node)
|
|||
*/
|
||||
undo_node->gpd->adt = NULL;
|
||||
|
||||
BKE_gpencil_free(undo_node->gpd, false);
|
||||
BKE_gpencil_free_data(undo_node->gpd, false);
|
||||
MEM_freeN(undo_node->gpd);
|
||||
}
|
||||
|
||||
|
|
|
@ -755,7 +755,7 @@ static void undomesh_free_data(UndoMesh *um)
|
|||
#endif
|
||||
|
||||
if (me->key) {
|
||||
BKE_key_free(me->key);
|
||||
BKE_key_free_data(me->key);
|
||||
MEM_freeN(me->key);
|
||||
}
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@ bScreen *screen_add(Main *bmain, const char *name, const rcti *rect)
|
|||
void screen_data_copy(bScreen *to, bScreen *from)
|
||||
{
|
||||
/* free contents of 'to', is from blenkernel screen.c */
|
||||
BKE_screen_free(to);
|
||||
BKE_screen_free_data(to);
|
||||
|
||||
to->flag = from->flag;
|
||||
|
||||
|
|
|
@ -194,7 +194,7 @@ static void sequencer_free(SpaceLink *sl)
|
|||
SpaceSeq *sseq = (SpaceSeq *)sl;
|
||||
SequencerScopes *scopes = &sseq->scopes;
|
||||
|
||||
/* XXX if (sseq->gpd) BKE_gpencil_free(sseq->gpd); */
|
||||
/* XXX if (sseq->gpd) BKE_gpencil_free_data(sseq->gpd); */
|
||||
|
||||
if (scopes->zebra_ibuf) {
|
||||
IMB_freeImBuf(scopes->zebra_ibuf);
|
||||
|
|
Loading…
Reference in New Issue