summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2023-11-15 13:43:19 +0100
committerMatthias Melcher <github@matthiasm.com>2023-11-15 13:43:19 +0100
commitee0637688d1a3ce176b9dbe1e9ae4c02d55e872a (patch)
tree6adbc785356d7ca7e7acb4fc650492abdda7ddd4
parent36bd2afef56b97729f132f71cc88ebbdaa8705f5 (diff)
FLUID: Fixes generating default templates
-rw-r--r--fluid/fluid.cxx12
-rw-r--r--fluid/template_panel.cxx4
2 files changed, 9 insertions, 7 deletions
diff --git a/fluid/fluid.cxx b/fluid/fluid.cxx
index 067bd16c5..96138234c 100644
--- a/fluid/fluid.cxx
+++ b/fluid/fluid.cxx
@@ -708,10 +708,10 @@ void save_template_cb(Fl_Widget *, void *) {
if (!c || !*c) return;
// Convert template name to filename_with_underscores
- char safename[FL_PATH_MAX], *safeptr;
- strlcpy(safename, c, sizeof(safename));
- for (safeptr = safename; *safeptr; safeptr ++) {
- if (isspace(*safeptr)) *safeptr = '_';
+ char savename[FL_PATH_MAX], *saveptr;
+ strlcpy(savename, c, sizeof(savename));
+ for (saveptr = savename; *saveptr; saveptr ++) {
+ if (isspace(*saveptr)) *saveptr = '_';
}
// Find the templates directory...
@@ -719,10 +719,10 @@ void save_template_cb(Fl_Widget *, void *) {
fluid_prefs.getUserdataPath(filename, sizeof(filename));
strlcat(filename, "templates", sizeof(filename));
- if (fl_access(filename, 0)) fl_mkdir(filename, 0777);
+ if (fl_access(filename, 0)) fl_make_path(filename);
strlcat(filename, "/", sizeof(filename));
- strlcat(filename, safename, sizeof(filename));
+ strlcat(filename, savename, sizeof(filename));
char *ext = filename + strlen(filename);
if (ext >= (filename + sizeof(filename) - 5)) {
diff --git a/fluid/template_panel.cxx b/fluid/template_panel.cxx
index d109acdba..14d974b54 100644
--- a/fluid/template_panel.cxx
+++ b/fluid/template_panel.cxx
@@ -216,12 +216,14 @@ void template_load() {
int num_files;
fluid_prefs.getUserdataPath(path, sizeof(path));
+ if (path[0] == 0) return;
strlcat(path, "templates", sizeof(path));
+ fl_make_path(path);
int sample_templates_generated = 0;
fluid_prefs.get("sample_templates_generated", sample_templates_generated, 0);
-
if (sample_templates_generated < 2) {
+
strcpy(filename, path);
strcat(filename, "/FLTK_License.fl");
FILE *f = fopen(filename, "wb");