summaryrefslogtreecommitdiff
path: root/graphics/darktable/files/patch-git-5db7918176ca45a24e9ea5b2a7bdbce898343059
blob: cabdbe858e298629685b696270ffa7aa715438c0 (plain) (blame)
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,