From d3d7af92d7933b21c96d30d1dd25cae975401341 Mon Sep 17 00:00:00 2001 From: RSWilli Date: Fri, 19 Sep 2025 14:09:33 +0200 Subject: [PATCH] correctly borrow the promise answer --- pkg/gst/gst_promise.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/gst/gst_promise.go b/pkg/gst/gst_promise.go index 730a478..1910859 100644 --- a/pkg/gst/gst_promise.go +++ b/pkg/gst/gst_promise.go @@ -271,6 +271,9 @@ func (promise *Promise) GetReply() *Structure { if cret != nil { goret = UnsafeStructureFromGlibNone(unsafe.Pointer(cret)) + + // the returned Structure is borrowed, so keep the promise alive: + runtime.AddCleanup(goret, func(_ *Promise) {}, promise) } return goret