screenshot: Return an error when operation is blocked
Right now _createScreenshot() returns a tuple that indicates failure when a sender requests a screenshot operation before a previously started operation finished. However that doesn't work for the PickColor() method, as it uses a different return type than the other methods. Address this by returning an error instead, which works in any case; arguably trying to start multiple operations in parallel is an error by the caller more than it is a failed operation anyway. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288
This commit is contained in:
parent
4099c446da
commit
c8d91b2c30
@ -30,7 +30,9 @@ var ScreenshotService = class {
|
|||||||
|
|
||||||
let sender = invocation.get_sender();
|
let sender = invocation.get_sender();
|
||||||
if (this._screenShooter.has(sender) || lockedDown) {
|
if (this._screenShooter.has(sender) || lockedDown) {
|
||||||
invocation.return_value(GLib.Variant.new('(bs)', [false, '']));
|
invocation.return_error_literal(
|
||||||
|
Gio.IOErrorEnum, Gio.IOErrorEnum.BUSY,
|
||||||
|
'There is an ongoing operation for this sender');
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user