summaryrefslogtreecommitdiff
path: root/gio/gpowerprofilemonitorportal.c
diff options
context:
space:
mode:
Diffstat (limited to 'gio/gpowerprofilemonitorportal.c')
-rw-r--r--gio/gpowerprofilemonitorportal.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gio/gpowerprofilemonitorportal.c b/gio/gpowerprofilemonitorportal.c
index bb1b4fd15..6bc251fd5 100644
--- a/gio/gpowerprofilemonitorportal.c
+++ b/gio/gpowerprofilemonitorportal.c
@@ -108,6 +108,7 @@ g_power_profile_monitor_portal_initable_init (GInitable *initable,
GPowerProfileMonitorPortal *ppm = G_POWER_PROFILE_MONITOR_PORTAL (initable);
GDBusProxy *proxy;
gchar *name_owner;
+ GVariant *power_saver_enabled_v = NULL;
if (!glib_should_use_portal ())
{
@@ -143,6 +144,12 @@ g_power_profile_monitor_portal_initable_init (GInitable *initable,
ppm->signal_id = g_signal_connect (proxy, "g-properties-changed",
G_CALLBACK (proxy_properties_changed), ppm);
+ power_saver_enabled_v = g_dbus_proxy_get_cached_property (proxy, "power-saver-enabled");
+ if (power_saver_enabled_v != NULL &&
+ g_variant_is_of_type (power_saver_enabled_v, G_VARIANT_TYPE_BOOLEAN))
+ ppm->power_saver_enabled = g_variant_get_boolean (power_saver_enabled_v);
+ g_clear_pointer (&power_saver_enabled_v, g_variant_unref);
+
ppm->proxy = g_steal_pointer (&proxy);
return TRUE;