diff options
Diffstat (limited to 'source/blender/blenkernel/intern/packedFile.c')
-rw-r--r-- | source/blender/blenkernel/intern/packedFile.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/packedFile.c b/source/blender/blenkernel/intern/packedFile.c index 49ad8d2ac67..0cdfda3be5d 100644 --- a/source/blender/blenkernel/intern/packedFile.c +++ b/source/blender/blenkernel/intern/packedFile.c @@ -402,7 +402,7 @@ there was an error or when the user desides to cancel the operation. */ -char * unpackFile(char * abs_name, char * local_name, PackedFile * pf, int how) +char *unpackFile(char * abs_name, char * local_name, PackedFile * pf, int how) { char menu[6 * (FILE_MAXDIR + FILE_MAXFILE + 100)]; char line[FILE_MAXDIR + FILE_MAXFILE + 100]; @@ -413,7 +413,7 @@ char * unpackFile(char * abs_name, char * local_name, PackedFile * pf, int how) if (pf != NULL) { if (how == PF_ASK) { - strcpy(menu, "UnPack file%t"); + sprintf(menu, "UnPack file%%t|Remove Pack %%x%d", PF_REMOVE); if (strcmp(abs_name, local_name)) { switch (checkPackedFile(local_name, pf)) { @@ -460,6 +460,9 @@ char * unpackFile(char * abs_name, char * local_name, PackedFile * pf, int how) case -1: case PF_KEEP: break; + case PF_REMOVE: + temp= abs_name; + break; case PF_USE_LOCAL: // if file exists use it if (BLI_exists(local_name)) { @@ -596,10 +599,10 @@ int unpackImage(Image * ima, int how) if (newname != NULL) { ret_value = RET_OK; freePackedFile(ima->packedfile); - ima->packedfile = 0; + ima->packedfile = NULL; strcpy(ima->name, newname); MEM_freeN(newname); - free_image_buffers(ima); + BKE_image_signal(ima, NULL, IMA_SIGNAL_RELOAD); } } |