aboutsummaryrefslogtreecommitdiff
path: root/pd/src/g_readwrite.c
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2011-10-09 16:36:37 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2011-10-09 16:36:37 +0000
commit21c068f1916330e90f814bed461fe0821d1665ec (patch)
tree949b73696fff09a44b8d3eb01b70bae7174cbd14 /pd/src/g_readwrite.c
parentbf8ced1efe1a032342e864edc635fa4e2676670d (diff)
checked in pd-0.43-0.src.tar.gz
svn path=/trunk/; revision=15557
Diffstat (limited to 'pd/src/g_readwrite.c')
-rw-r--r--pd/src/g_readwrite.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pd/src/g_readwrite.c b/pd/src/g_readwrite.c
index 97b56c02..9f809759 100644
--- a/pd/src/g_readwrite.c
+++ b/pd/src/g_readwrite.c
@@ -704,7 +704,11 @@ static void canvas_savetofile(t_canvas *x, t_symbol *filename, t_symbol *dir)
{
/* if not an abstraction, reset title bar and directory */
if (!x->gl_owner)
+{
canvas_rename(x, filename, dir);
+ /* update window list in case Save As changed the window name */
+ canvas_updatewindowlist();
+}
post("saved to: %s/%s", dir->s_name, filename->s_name);
canvas_dirty(x, 0);
canvas_reload(filename, dir, &x->gl_gobj);
@@ -715,7 +719,7 @@ static void canvas_savetofile(t_canvas *x, t_symbol *filename, t_symbol *dir)
static void canvas_menusaveas(t_canvas *x)
{
t_canvas *x2 = canvas_getrootfor(x);
- sys_vgui("pdtk_canvas_saveas .x%lx \"%s\" \"%s\"\n", x2,
+ sys_vgui("pdtk_canvas_saveas .x%lx {%s} {%s}\n", x2,
x2->gl_name->s_name, canvas_getdir(x2)->s_name);
}
@@ -724,7 +728,8 @@ static void canvas_menusave(t_canvas *x)
t_canvas *x2 = canvas_getrootfor(x);
char *name = x2->gl_name->s_name;
if (*name && strncmp(name, "Untitled", 8)
- && (strlen(name) < 4 || strcmp(name + strlen(name)-4, ".pat")))
+ && (strlen(name) < 4 || strcmp(name + strlen(name)-4, ".pat")
+ || strcmp(name + strlen(name)-4, ".mxt")))
canvas_savetofile(x2, x2->gl_name, canvas_getdir(x2));
else canvas_menusaveas(x2);
}