From b82fa2c6107f4c3e8249bd61c98f6a002a09b311 Mon Sep 17 00:00:00 2001 From: Niels De Graef Date: Tue, 12 Feb 2019 09:34:06 +0100 Subject: [PATCH] meta-launcher: g_propagate_*_error takes ownership This means we need to make sure we don't accidentally free the provided source GError (which automatically happens with `g_autoptr`), so use `g_steal_pointer()`. This fixes an issue where, when launched in a bubblewrap environment (such as the one provided by Buildstream), mutter would give the following warning message: ``` mutter-WARNING **: 8:31:35:069: Can't initialize KMS backend: (null) ``` ... which isn't that useful when trying to debug the actual issue. --- src/backends/native/meta-launcher.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backends/native/meta-launcher.c b/src/backends/native/meta-launcher.c index a43c1cc3d..93a1ca2f1 100644 --- a/src/backends/native/meta-launcher.c +++ b/src/backends/native/meta-launcher.c @@ -231,7 +231,9 @@ get_session_proxy (GCancellable *cancellable, if (!find_systemd_session (&session_id, &local_error)) { - g_propagate_prefixed_error (error, local_error, "Could not get session ID: "); + g_propagate_prefixed_error (error, + g_steal_pointer (&local_error), + "Could not get session ID: "); return NULL; } @@ -465,7 +467,9 @@ get_seat_id (GError **error) if (!find_systemd_session (&session_id, &local_error)) { - g_propagate_prefixed_error (error, local_error, "Could not get session ID: "); + g_propagate_prefixed_error (error, + g_steal_pointer (&local_error), + "Could not get session ID: "); return NULL; }