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.
This commit is contained in:
Niels De Graef 2019-02-12 09:34:06 +01:00 committed by Niels De Graef
parent eaacbb3289
commit b82fa2c610

View File

@ -231,7 +231,9 @@ get_session_proxy (GCancellable *cancellable,
if (!find_systemd_session (&session_id, &local_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; return NULL;
} }
@ -465,7 +467,9 @@ get_seat_id (GError **error)
if (!find_systemd_session (&session_id, &local_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; return NULL;
} }