summaryrefslogtreecommitdiff
path: root/media-video/wireplumber/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-20 02:40:19 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-20 02:40:19 +0100
commit2d5fd1dd4910d46f935776f1f6f475de11367ef2 (patch)
tree42bc589da04de88a86fd2950f9c66360ee79328e /media-video/wireplumber/files
parent54eca75a4e3e380e1d386f4d235baeb7d4ff332e (diff)
gentoo auto-resync : 20:07:2022 - 02:40:19
Diffstat (limited to 'media-video/wireplumber/files')
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.11-dbus-reconnect-crash.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/media-video/wireplumber/files/wireplumber-0.4.11-dbus-reconnect-crash.patch b/media-video/wireplumber/files/wireplumber-0.4.11-dbus-reconnect-crash.patch
new file mode 100644
index 000000000000..6098ed11c302
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.11-dbus-reconnect-crash.patch
@@ -0,0 +1,45 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/eb406bdb2cbbcd49c55c71285f8f2eddb624d24b
+
+From eb406bdb2cbbcd49c55c71285f8f2eddb624d24b Mon Sep 17 00:00:00 2001
+From: George Kiagiadakis <george.kiagiadakis@collabora.com>
+Date: Wed, 13 Jul 2022 13:38:14 +0300
+Subject: [PATCH] dbus: fix crash when trying to reconnect
+
+When coming from on_sync_reconnect, data points to the WpDBus object
+instead of the activation transition.
+
+Fixes: #305
+--- a/lib/wp/dbus.c
++++ b/lib/wp/dbus.c
+@@ -58,14 +58,26 @@ wp_dbus_set_state (WpDbus *self, WpDBusState new_state)
+ static void
+ on_got_bus (GObject * obj, GAsyncResult * res, gpointer data)
+ {
+- WpTransition *transition = WP_TRANSITION (data);
+- WpDbus *self = wp_transition_get_source_object (transition);
++ WpTransition *transition;
++ WpDbus *self;
+ g_autoptr (GError) error = NULL;
+
++ if (WP_IS_TRANSITION (data)) {
++ // coming from wp_dbus_enable
++ transition = WP_TRANSITION (data);
++ self = wp_transition_get_source_object (transition);
++ } else {
++ // coming from on_sync_reconnect
++ transition = NULL;
++ self = WP_DBUS (data);
++ }
++
+ self->connection = g_dbus_connection_new_for_address_finish (res, &error);
+ if (!self->connection) {
+- g_prefix_error (&error, "Failed to connect to bus: ");
+- wp_transition_return_error (transition, g_steal_pointer (&error));
++ if (transition) {
++ g_prefix_error (&error, "Failed to connect to bus: ");
++ wp_transition_return_error (transition, g_steal_pointer (&error));
++ }
+ return;
+ }
+
+GitLab