diff options
author | Xavi92 <XaviDCR92@users.noreply.github.com> | 2022-05-11 09:12:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-11 11:12:30 +0200 |
commit | 99c076254abc6e2b03b784732a76a389e5a4f801 (patch) | |
tree | 18dedfffc850ff7d504d0cb94957fe275218a781 /main | |
parent | baa4a6a1eb4e98558acfef6e2a24c2c13d42db5c (diff) | |
download | dino-99c076254abc6e2b03b784732a76a389e5a4f801.tar.gz dino-99c076254abc6e2b03b784732a76a389e5a4f801.zip |
Inhibit idle and suspend during calls (#1233)
Diffstat (limited to 'main')
-rw-r--r-- | main/src/ui/call_window/call_window_controller.vala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/main/src/ui/call_window/call_window_controller.vala b/main/src/ui/call_window/call_window_controller.vala index 65e5ebd6..276fff98 100644 --- a/main/src/ui/call_window/call_window_controller.vala +++ b/main/src/ui/call_window/call_window_controller.vala @@ -22,6 +22,7 @@ public class Dino.Ui.CallWindowController : Object { private bool window_size_changed = false; private ulong[] call_window_handler_ids = new ulong[0]; private ulong[] bottom_bar_handler_ids = new ulong[0]; + private uint inhibit_cookie; public CallWindowController(CallWindow call_window, CallState call_state, StreamInteractor stream_interactor) { this.call_window = call_window; @@ -118,6 +119,19 @@ public class Dino.Ui.CallWindowController : Object { update_audio_device_choices(); update_video_device_choices(); + + var app = GLib.Application.get_default() as Application; + inhibit_cookie = app.inhibit(call_window, IDLE | SUSPEND, "Ongoing call"); + + if (inhibit_cookie == 0) { + warning("suspend inhibit request failed or unsupported"); + } + + call_window.destroy.connect(() => { + if (inhibit_cookie != 0) { + app.uninhibit(inhibit_cookie); + } + }); } private void invite_button_clicked() { |