SHA256
1
0
forked from pool/wireplumber
wireplumber/0001-si-standard-link-fix-crash-after-returning-a-link-error.patch
Antonio Larrosa ee9013bfde Accepting request 926162 from home:alarrosa:branches:multimedia:libs
- Add patch from upstream to fix a crash when there's a link error
  (glfo#pipewire/wireplumber#76):
  * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch

- Update to version 0.4.4:
  * Highlights:
    - Implemented linking nodes in passthrough mode, which enables
      encoded iec958 / dsd audio passthrough
    - Streams are now sent an error if it was not possible to link
      them to a target (#63)
    - When linking nodes where at least one of them has an
      unpositioned channel layout, the other one is not
      reconfigured to match the channel layout; it is instead
      linked with a best effort port matching logic
    - Output route switches automatically to the latest one that
      has become available (#69)
    - Policy now respects the 'node.exclusive' and 'node.passive'
      properties
    - Many other minor policy fixes for a smoother desktop usage
      experience
  * API:
    - Fixed an issue with the LocalModule() constructor not
      accepting nil as well as the properties table properly
    - Added WpClient.send_error(), WpSpaPod.fixate() and
    - WpSpaPod.filter() (both in C and Lua)
  * Misc:
    - Bumped meson version requirement to 0.56 to be able to use
      meson.project_{source,build}_root() and ease integration with
      pipewire's build system as a subproject
    - wireplumber.service is now an alias to

OBS-URL: https://build.opensuse.org/request/show/926162
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=5
2021-10-19 08:38:02 +00:00

37 lines
1.4 KiB
Diff

From 6e67000d5e42fc30e6f7ff3ec5544e0be8dcbf00 Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date: Sat, 16 Oct 2021 09:51:00 +0300
Subject: [PATCH] si-standard-link: fix crash after returning a link error
If one link fails, the activation transition will return, but then
other links will continue to call the callback and try to access
the now invalid activation transition. With this change, the callback
is bound to the lifetime of the transition and will stop being called
after the transition returns
Fixes #76
---
modules/module-si-standard-link.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules/module-si-standard-link.c b/modules/module-si-standard-link.c
index 5dda0581..95ec7ca5 100644
--- a/modules/module-si-standard-link.c
+++ b/modules/module-si-standard-link.c
@@ -310,9 +310,10 @@ create_links (WpSiStandardLink * self, WpTransition * transition,
/* activate to ensure it is created without errors */
self->n_async_ops_wait++;
- wp_object_activate (WP_OBJECT (link),
+ wp_object_activate_closure (WP_OBJECT (link),
WP_PIPEWIRE_OBJECT_FEATURES_MINIMAL, NULL,
- (GAsyncReadyCallback) on_link_activated, transition);
+ g_cclosure_new_object (
+ (GCallback) on_link_activated, G_OBJECT (transition)));
}
g_variant_iter_free (iter);
return self->node_links->len > 0;
--
GitLab