summaryrefslogtreecommitdiff
path: root/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch')
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
new file mode 100644
index 000000000000..0b86979ce732
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.10-m-lua-scripting-fix-object-refcounting.patch
@@ -0,0 +1,32 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/7908b8d7be2a2992c57cd549054eda7ce46e4b44
+
+From 13b85bd4a25ab374f5e5e90b7288e6987996856e Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Tue, 24 May 2022 11:35:15 +0200
+Subject: [PATCH] m-lua-scripting: fix object refcounting
+
+7908b8d7be2a2992c57cd549054eda7ce46e4b44 ("m-lua-scripting: allow
+converting GValue holding NULL objects to Lua") accidentally added a second
+refcount. As a result, the objects are never freeded.
+
+Remove the second refcount to fix this.
+---
+ modules/module-lua-scripting/wplua/value.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/module-lua-scripting/wplua/value.c b/modules/module-lua-scripting/wplua/value.c
+index e31ae4a..a7927dc 100644
+--- a/modules/module-lua-scripting/wplua/value.c
++++ b/modules/module-lua-scripting/wplua/value.c
+@@ -317,7 +317,7 @@ wplua_gvalue_to_lua (lua_State *L, const GValue *v)
+ case G_TYPE_INTERFACE: {
+ GObject *object = g_value_dup_object (v);
+ if (object)
+- wplua_pushobject (L, g_value_dup_object (v));
++ wplua_pushobject (L, object);
+ else
+ lua_pushnil (L);
+ break;
+--
+2.35.1
+