Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-06-29 16:55:28 +0400
committerTon Roosendaal <ton@blender.org>2006-06-29 16:55:28 +0400
commit0735bf0ae144b6cad1470c4e3d94bf4b4e10b13f (patch)
treea4d0c8fb0fc147c18025083fb79f5cde09113256 /source/blender
parent5eefa4982bd78f3b58f0e1953fa381603ce62710 (diff)
Bugfix, own collection while testing:
- When saving image from Image Window, the extension was not added (with the option 'add extensions' set, in Scene buttons output panel) - Same situation, after a save the data-block Image name was still the old one, also on 'reload' (in header and browsing menus). Confusing... so when saving image under new name now also renames the Image block.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/src/header_image.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/src/header_image.c b/source/blender/src/header_image.c
index ede2b6d51d6..832dab67845 100644
--- a/source/blender/src/header_image.c
+++ b/source/blender/src/header_image.c
@@ -176,14 +176,18 @@ static void replace_space_image(char *str) /* called from fileselect */
static void save_paint(char *name)
{
- char str[FILE_MAXDIR+FILE_MAXFILE];
Image *ima = G.sima->image;
+ int len;
+ char str[FILE_MAXDIR+FILE_MAXFILE];
if (ima && ima->ibuf) {
BLI_strncpy(str, name, sizeof(str));
BLI_convertstringcode(str, G.sce, G.scene->r.cfra);
+ if(G.scene->r.scemode & R_EXTENSION)
+ BKE_add_image_extension(str, G.scene->r.imtype);
+
if (saveover(str)) {
waitcursor(1);
if (BKE_write_ibuf(ima->ibuf, str, G.scene->r.imtype, G.scene->r.subimtype, G.scene->r.quality)) {
@@ -194,6 +198,12 @@ static void save_paint(char *name)
} else {
error("Couldn't write image: %s", str);
}
+
+ /* name image as how we saved it */
+ len= strlen(str);
+ while (len > 0 && str[len - 1] != '/' && str[len - 1] != '\\') len--;
+ rename_id(&ima->id, str+len);
+
waitcursor(0);
}
}
@@ -334,6 +344,7 @@ void do_image_buttons(unsigned short event)
char str[64];
save_image_filesel_str(str);
+ /* so it shows extension in file window */
if(G.scene->r.scemode & R_EXTENSION)
BKE_add_image_extension(name, G.scene->r.imtype);
@@ -726,6 +737,7 @@ static void do_image_imagemenu(void *arg, int event)
char str[64];
save_image_filesel_str(str);
+ /* so it shows an extension in filewindow */
if(G.scene->r.scemode & R_EXTENSION)
BKE_add_image_extension(name, G.scene->r.imtype);