1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
From 5db7918176ca45a24e9ea5b2a7bdbce898343059 Mon Sep 17 00:00:00 2001
From: Mario Zimmermann <mail@zisoft.de>
Date: Mon, 23 Jun 2025 13:36:33 +0200
Subject: [PATCH] use full metadata tag name for variable substitution
---
src/common/variables.c | 4 +---
src/gui/gtkentry.c | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/common/variables.c b/src/common/variables.c
index b8deed704af0..2746a7cf8647 100644
--- src/common/variables.c
+++ b/src/common/variables.c
@@ -953,9 +953,8 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
for(GList* iter = dt_metadata_get_list(); iter; iter = iter->next)
{
dt_metadata_t *metadata = (dt_metadata_t *)iter->data;
- gchar *prefix = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
gboolean found = FALSE;
- if(_has_prefix(variable, prefix))
+ if(_has_prefix(variable, metadata->tagname))
{
GList *res = dt_metadata_get(params->imgid, metadata->tagname, NULL);
if(res != NULL)
@@ -963,7 +962,6 @@ static char *_get_base_value(dt_variables_params_t *params, char **variable)
g_list_free_full(res, g_free);
found = TRUE;
}
- g_free(prefix);
if(found) break;
}
dt_pthread_mutex_unlock(&darktable.metadata_threadsafe);
diff --git a/src/gui/gtkentry.c b/src/gui/gtkentry.c
index b4acc9ccc8ad..db200eff47a9 100644
--- src/gui/gtkentry.c
+++ b/src/gui/gtkentry.c
@@ -291,7 +291,7 @@ void dt_gtkentry_variables_add_metadata(dt_metadata_t *metadata)
{
GtkTreeIter iter;
- gchar *varname = g_utf8_strup(dt_metadata_get_tag_subkey(metadata->tagname), -1);
+ gchar *varname = g_strdup(metadata->tagname);
gchar *description = g_strdup_printf("$(%s) - %s", varname, _("from metadata"));
gtk_list_store_append(_completion_model, &iter);
gtk_list_store_set(_completion_model, &iter,
|