diff options
Diffstat (limited to 'lilv-0.24.8-fix_translations.patch')
-rw-r--r-- | lilv-0.24.8-fix_translations.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/lilv-0.24.8-fix_translations.patch b/lilv-0.24.8-fix_translations.patch new file mode 100644 index 000000000000..1f7593dd6a7c --- /dev/null +++ b/lilv-0.24.8-fix_translations.patch @@ -0,0 +1,56 @@ +From b3438131f4bff67d56243bac85371c03a86bf53b Mon Sep 17 00:00:00 2001 +From: David Robillard <d@drobilla.net> +Date: Sun, 17 May 2020 20:49:46 +0200 +Subject: [PATCH] Make lilv_world_get() use translations + +--- + NEWS | 6 ++++++ + src/world.c | 20 ++++++++++++++++++++ + wscript | 2 +- + 3 files changed, 27 insertions(+), 1 deletion(-) + +diff --git a/NEWS b/NEWS +index b2f881c..c1c06f7 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,9 @@ ++lilv (0.24.9) unstable; ++ ++ * Make lilv_world_get() use translations ++ ++ -- David Robillard <d@drobilla.net> Sun, 17 May 2020 18:44:04 +0000 ++ + lilv (0.24.8) stable; + + * Allow passing strings for URIs in Python API when unambiguous +diff --git a/src/world.c b/src/world.c +index 22d165a..65cffd4 100644 +--- a/src/world.c ++++ b/src/world.c +@@ -240,6 +240,26 @@ lilv_world_get(LilvWorld* world, + const LilvNode* predicate, + const LilvNode* object) + { ++ if (!object) { ++ // TODO: Improve performance (see lilv_plugin_get_one) ++ SordIter* stream = sord_search(world->model, ++ subject ? subject->node : NULL, ++ predicate ? predicate->node : NULL, ++ NULL, ++ NULL); ++ ++ LilvNodes* nodes = ++ lilv_nodes_from_stream_objects(world, stream, SORD_OBJECT); ++ ++ if (nodes) { ++ LilvNode* value = lilv_node_duplicate(lilv_nodes_get_first(nodes)); ++ lilv_nodes_free(nodes); ++ return value; ++ } ++ ++ return NULL; ++ } ++ + SordNode* snode = sord_get(world->model, + subject ? subject->node : NULL, + predicate ? predicate->node : NULL, |