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:
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);