summaryrefslogtreecommitdiff
path: root/gio
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-10-29 10:36:30 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-10-29 10:36:30 +0900
commit04c78d148a2f91f9b4592873c98677f6f20361ca (patch)
tree3785b0c9e1776f1d2b67d37c03fb1acff034fee1 /gio
parent96171dcc7c00290fd968decfcf5ca5fc61fc69eb (diff)
downloadglib-04c78d148a2f91f9b4592873c98677f6f20361ca.tar.gz
glib-04c78d148a2f91f9b4592873c98677f6f20361ca.tar.bz2
glib-04c78d148a2f91f9b4592873c98677f6f20361ca.zip
Imported Upstream version 2.69.3upstream/2.69.3
Diffstat (limited to 'gio')
-rw-r--r--gio/gpowerprofilemonitordbus.c4
-rw-r--r--gio/gpowerprofilemonitorportal.c7
-rw-r--r--gio/gsettingsschema.c4
-rwxr-xr-xgio/tests/memory-monitor-dbus.py.in4
-rwxr-xr-xgio/tests/memory-monitor-portal.py.in4
-rwxr-xr-xgio/tests/power-profile-monitor-portal.py.in16
6 files changed, 32 insertions, 7 deletions
diff --git a/gio/gpowerprofilemonitordbus.c b/gio/gpowerprofilemonitordbus.c
index 8bbfe3acc..cbd9f4aaa 100644
--- a/gio/gpowerprofilemonitordbus.c
+++ b/gio/gpowerprofilemonitordbus.c
@@ -116,7 +116,8 @@ ppd_proxy_cb (GObject *source_object,
}
active_profile_variant = g_dbus_proxy_get_cached_property (proxy, "ActiveProfile");
- if (g_variant_is_of_type (active_profile_variant, G_VARIANT_TYPE_STRING))
+ if (active_profile_variant != NULL &&
+ g_variant_is_of_type (active_profile_variant, G_VARIANT_TYPE_STRING))
{
active_profile = g_variant_get_string (active_profile_variant, NULL);
power_saver_enabled = g_strcmp0 (active_profile, "power-saver") == 0;
@@ -126,6 +127,7 @@ ppd_proxy_cb (GObject *source_object,
g_object_notify (G_OBJECT (dbus), "power-saver-enabled");
}
}
+ g_clear_pointer (&active_profile_variant, g_variant_unref);
dbus->signal_id = g_signal_connect (G_OBJECT (proxy), "g-properties-changed",
G_CALLBACK (ppd_properties_changed_cb), dbus);
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;
diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
index ec0caf655..3b5ba0d56 100644
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -1857,10 +1857,10 @@ g_settings_schema_key_get_range (GSettingsSchemaKey *key)
* @key: a #GSettingsSchemaKey
* @value: the value to check
*
- * Checks if the given @value is of the correct type and within the
+ * Checks if the given @value is within the
* permitted range for @key.
*
- * It is a programmer error if @value is not of the correct type -- you
+ * It is a programmer error if @value is not of the correct type — you
* must check for this first.
*
* Returns: %TRUE if @value is valid for @key
diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in
index e8ac28faf..bf3291847 100755
--- a/gio/tests/memory-monitor-dbus.py.in
+++ b/gio/tests/memory-monitor-dbus.py.in
@@ -99,11 +99,11 @@ try:
self.dbusmock.EmitWarning(100)
# Wait 2 seconds or until warning
- self.assertEventually(self.last_warning == 100, "'100' low-memory warning not received", 20)
+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20)
self.dbusmock.EmitWarning(255)
# Wait 2 seconds or until warning
- self.assertEventually(self.last_warning == 255, "'255' low-memory warning not received", 20)
+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20)
except ImportError as e:
@unittest.skip("Cannot import %s" % e.name)
diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in
index 36d5094d3..748cee850 100755
--- a/gio/tests/memory-monitor-portal.py.in
+++ b/gio/tests/memory-monitor-portal.py.in
@@ -117,11 +117,11 @@ try:
self.dbusmock.EmitWarning(100)
# Wait 2 seconds or until warning
- self.assertEventually(self.last_warning == 100, "'100' low-memory warning not received", 20)
+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20)
self.dbusmock.EmitWarning(255)
# Wait 2 seconds or until warning
- self.assertEventually(self.last_warning == 255, "'255' low-memory warning not received", 20)
+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20)
except ImportError as e:
@unittest.skip("Cannot import %s" % e.name)
diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in
index 960a62232..09e9a450d 100755
--- a/gio/tests/power-profile-monitor-portal.py.in
+++ b/gio/tests/power-profile-monitor-portal.py.in
@@ -28,6 +28,7 @@ try:
import dbusmock
from gi.repository import GLib
from gi.repository import Gio
+ from gi.repository import GObject
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
@@ -65,12 +66,16 @@ try:
try:
self.xdp = subprocess.Popen([XDG_DESKTOP_PORTAL_PATH])
except FileNotFoundError:
+ self.p_mock.terminate()
+ self.p_mock.wait()
raise unittest.SkipTest("xdg-desktop-portal not available")
try:
self.wait_for_bus_object('org.freedesktop.portal.Desktop',
'/org/freedesktop/portal/desktop')
except:
+ self.p_mock.terminate()
+ self.p_mock.wait()
raise
# subprocess.Popen(['gdbus', 'monitor', '--session', '--dest', 'org.freedesktop.portal.Desktop'])
@@ -116,6 +121,17 @@ try:
self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1))
self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10)
+ def test_power_profile_power_saver_enabled_portal_default(self):
+ '''power-saver-enabled property default value'''
+
+ self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1))
+
+ # Create a new power profile monitor and check its property value is
+ # correct by default.
+ new_power_profile_monitor = GObject.new(GObject.type_from_name('GPowerProfileMonitorPortal'))
+ new_power_profile_monitor.init()
+ self.assertTrue(new_power_profile_monitor.get_power_saver_enabled())
+
except ImportError as e:
@unittest.skip("Cannot import %s" % e.name)
class TestPowerProfileMonitorPortal(unittest.TestCase):