notificationDaemon: Fix auto-closing FDO notifications
We auto-close FDO notifications when the sender leaves the bus, given that the protocol was created without persistency in mind and any action will become invalid. However that broke when moving the public-facing implementation into a separate service, as we now track the (always running) service instead of the original sender. Fix that by forwarding the sender to the internal implementation via a private hint, just like we already do for the PID. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3204>
This commit is contained in:
parent
f0b1cf5f8d
commit
9af81e44bc
@ -101,6 +101,7 @@ export const NotificationDaemon = class extends ServiceImplementation {
|
||||
params[6] = {
|
||||
...hints,
|
||||
'x-shell-sender-pid': new GLib.Variant('u', pid),
|
||||
'x-shell-sender': new GLib.Variant('s', sender),
|
||||
};
|
||||
|
||||
try {
|
||||
|
@ -161,7 +161,7 @@ class FdoNotificationDaemon {
|
||||
}
|
||||
this._notifications[id] = ndata;
|
||||
|
||||
let sender = invocation.get_sender();
|
||||
const sender = hints['x-shell-sender'];
|
||||
const pid = hints['x-shell-sender-pid'];
|
||||
|
||||
let source = this._getSource(appName, pid, ndata, sender, null);
|
||||
|
Loading…
x
Reference in New Issue
Block a user