Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-01-05 02:03:27 +02:00
parent f3faf4d4b6
commit cddf5f019f
22 changed files with 128 additions and 149 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/data/darktableconfig.xml.in b/data/darktableconfig.xml.in
index 83eadf8a35..39ed8d43d7 100644
index 4cd5497ab8..227493e754 100644
--- a/data/darktableconfig.xml.in
+++ b/data/darktableconfig.xml.in
@@ -1524,6 +1524,22 @@
@@ -26,15 +26,10 @@ index 83eadf8a35..39ed8d43d7 100644
<name>plugins/lighttable/layout</name>
<type>int</type>
diff --git a/src/common/import_session.c b/src/common/import_session.c
index e83ef4de62..4d0c4efa0c 100644
index 03d4212c5b..ed07369b7e 100644
--- a/src/common/import_session.c
+++ b/src/common/import_session.c
@@ -266,48 +266,42 @@ const char *dt_import_session_filename(struct dt_import_session_t *self, gboolea
char *pattern = _import_session_filename_pattern();
if(pattern == NULL)
{
- dt_print(DT_DEBUG_ALWAYS, "[import_session] Failed to get session filaname pattern.\n");
+ dt_print(DT_DEBUG_ALWAYS, "[import_session] Failed to get session filename pattern.\n");
@@ -266,44 +266,38 @@ const char *dt_import_session_filename(dt_import_session_t *self, const gboolean
return NULL;
}
@@ -52,7 +47,7 @@ index e83ef4de62..4d0c4efa0c 100644
- char *previous_fname = fname;
- if(g_file_test(fname, G_FILE_TEST_EXISTS) == TRUE)
{
- dt_print(DT_DEBUG_ALWAYS, "[import_session] File %s exists.\n", fname);
- dt_print(DT_DEBUG_ALWAYS, "[import_session] File %s exists", fname);
do
{
- /* file exists, yield a new filename */
@@ -61,7 +56,7 @@ index e83ef4de62..4d0c4efa0c 100644
result_fname = _import_session_filename_from_pattern(self, pattern);
- fname = g_build_path(G_DIR_SEPARATOR_S, path, result_fname, (char *)NULL);
- dt_print(DT_DEBUG_ALWAYS, "[import_session] Testing %s.\n", fname);
- dt_print(DT_DEBUG_ALWAYS, "[import_session] Testing %s", fname);
- /* check if same filename was yielded as before */
- if(strcmp(previous_fname, fname) == 0)
+ char *test_path = g_build_path(G_DIR_SEPARATOR_S, path, result_fname, (char *)NULL);
@@ -71,7 +66,7 @@ index e83ef4de62..4d0c4efa0c 100644
- g_free(previous_fname);
- g_free(fname);
- dt_control_log(_(
- "couldn't expand to a unique filename for session, please check your import session settings."));
- "couldn't expand to a unique filename for session, please check your import session settings"));
- return NULL;
+ dt_print(DT_DEBUG_ALWAYS, "[import_session] File %s exists, retrying.\n", test_path);
+ self->vp->retry_count++;
@@ -95,10 +90,10 @@ index e83ef4de62..4d0c4efa0c 100644
self->current_filename = result_fname;
diff --git a/src/common/variables.c b/src/common/variables.c
index 1474cc32e8..820f88414b 100644
index beb74b7f1c..23bce605c4 100644
--- a/src/common/variables.c
+++ b/src/common/variables.c
@@ -914,6 +914,14 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
@@ -1000,6 +1000,14 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
else if(_has_prefix(variable, "DARKTABLE.NAME")
|| _has_prefix(variable, "DARKTABLE_NAME"))
result = g_strdup(PACKAGE_NAME);
@@ -128,19 +123,10 @@ index 86052a9a3d..a5d616a94c 100644
const gchar *jobcode;
diff --git a/src/control/jobs/control_jobs.c b/src/control/jobs/control_jobs.c
index a9fab6f0ea..27bceab782 100644
index 62908d100c..28302da7b7 100644
--- a/src/control/jobs/control_jobs.c
+++ b/src/control/jobs/control_jobs.c
@@ -1566,7 +1566,7 @@ static int32_t dt_control_export_job_run(dt_job_t *job)
{
// IPTC character encoding not set by user, so we set the default utf8 here
settings->metadata_export = dt_util_dstrcat(settings->metadata_export,
- "\1%s\1%s",
+ "\1%s\1%s",
iptc_envelope_characterset,
"\x1b%G"); // ESC % G
}
@@ -2265,6 +2265,59 @@ void dt_control_write_sidecar_files()
@@ -2664,6 +2664,59 @@ void dt_control_write_sidecar_files()
FALSE));
}
@@ -200,15 +186,14 @@ index a9fab6f0ea..27bceab782 100644
static int _control_import_image_copy(const char *filename,
char **prev_filename,
char **prev_output,
@@ -2308,37 +2361,37 @@ static int _control_import_image_copy(const char *filename,
@@ -2707,37 +2760,37 @@ static int _control_import_image_copy(const char *filename,
g_free(basename);
}
- if(!g_file_set_contents(output, data, size, NULL))
+ if(!_copy_file(filename, output))
{
- dt_print(DT_DEBUG_CONTROL, "[import_from] failed to write file %s\n", output);
+ dt_print(DT_DEBUG_CONTROL, "[import_from] failed to copy file %s", filename);
dt_print(DT_DEBUG_CONTROL, "[import_from] failed to write file %s", output);
res = FALSE;
}
else
@@ -262,4 +247,4 @@ index a9fab6f0ea..27bceab782 100644
+ {
const dt_imgid_t imgid = dt_image_import(dt_import_session_film_id(session),
output, FALSE, FALSE);
if(!imgid) dt_control_log(_("error loading file `%s'"), output);
if(!dt_is_valid_imgid(imgid)) dt_control_log(_("error loading file `%s'"), output);