diff options
| author | Matthias Melcher <github@matthiasm.com> | 2023-11-15 13:43:19 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2023-11-15 13:43:19 +0100 |
| commit | ee0637688d1a3ce176b9dbe1e9ae4c02d55e872a (patch) | |
| tree | 6adbc785356d7ca7e7acb4fc650492abdda7ddd4 | |
| parent | 36bd2afef56b97729f132f71cc88ebbdaa8705f5 (diff) | |
FLUID: Fixes generating default templates
| -rw-r--r-- | fluid/fluid.cxx | 12 | ||||
| -rw-r--r-- | fluid/template_panel.cxx | 4 |
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"); |
