dbusService: Don't double-wrap remote errors

Returning a GLib.Error from a method invocation will encode the
error when sent over the wire. In case the error itself is already
an encoded remote error, just passing it on will result in double
wrapping.

Avoid that by stripping any remote error information before
returning it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3159>
This commit is contained in:
Florian Müllner 2024-01-31 16:16:04 +01:00
parent 0c705aefc1
commit a5d33026f0

View File

@ -75,6 +75,7 @@ export class ServiceImplementation {
return false;
if (error instanceof GLib.Error) {
Gio.DBusError.strip_remote_error(error);
invocation.return_gerror(error);
} else {
let name = error.name;