summarylogtreecommitdiffstats
path: root/lilv-0.24.8-fix_translations.patch
diff options
context:
space:
mode:
Diffstat (limited to 'lilv-0.24.8-fix_translations.patch')
-rw-r--r--lilv-0.24.8-fix_translations.patch56
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,