From b3977cd1dc0cd2ac7d062b12f076281e775eed7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Thu, 20 Jun 2024 16:46:48 -0700 Subject: [PATCH] Wrap in idle instead --- src/Core/FlatpakBackend.vala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Core/FlatpakBackend.vala b/src/Core/FlatpakBackend.vala index 13932b057..12c994265 100644 --- a/src/Core/FlatpakBackend.vala +++ b/src/Core/FlatpakBackend.vala @@ -93,6 +93,7 @@ public class AppCenterCore.FlatpakBackend : Object { var job = jobs.pop (); job_type = job.operation; working = true; + set_actions_enabled (working); if (remove_inhibit_timeout != 0) { Source.remove (remove_inhibit_timeout); @@ -154,6 +155,7 @@ public class AppCenterCore.FlatpakBackend : Object { } working = false; + set_actions_enabled (working); } return true; @@ -240,9 +242,11 @@ public class AppCenterCore.FlatpakBackend : Object { ); reload_appstream_pool (); + } - // Need to set actions in this thread - notify["working"].connect (() => { + private void set_actions_enabled (bool working) { + // Make sure we run on the main thread + Idle.add_once (() => { var app = Application.get_default (); ((SimpleAction) app.lookup_action ("refresh")).set_enabled (!working && !Utils.is_running_in_guest_session ()); ((SimpleAction) app.lookup_action ("repair")).set_enabled (!working);