summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher James Halse Rogers <raof@ubuntu.com>2019-08-19 18:06:11 +1000
committerRichard Hughes <richard@hughsie.com>2019-08-19 13:05:13 +0100
commit1ce26daa5bc786869dac6ba309b698480ef31bac (patch)
tree973868bafb1618785e35a8e831b1519a231eb674
parent513bfa4783d0a630c226ee40638ab346c0d1c229 (diff)
downloadcolord-1ce26daa5bc786869dac6ba309b698480ef31bac.tar.gz
tests: Fix cd-sensor-dummy
`g_autoptr(GTask) task` will be unreffed when it leaves scope. If we want it to be available in 2 seconds' time in the idle callback we'll need to explicitly transfer ownership.
-rw-r--r--src/sensors/dummy/cd-sensor-dummy.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/sensors/dummy/cd-sensor-dummy.c b/src/sensors/dummy/cd-sensor-dummy.c
index cd031ce..437bddf 100644
--- a/src/sensors/dummy/cd-sensor-dummy.c
+++ b/src/sensors/dummy/cd-sensor-dummy.c
@@ -41,8 +41,9 @@ cd_sensor_dummy_get_private (CdSensor *sensor)
}
static gboolean
-cd_sensor_get_ambient_wait_cb (GTask *task)
+cd_sensor_get_ambient_wait_cb (GTask *unowned_task)
{
+ g_autoptr(GTask) task = unowned_task;
CdColorXYZ *sample = NULL;
sample = cd_color_xyz_new ();
@@ -55,8 +56,9 @@ cd_sensor_get_ambient_wait_cb (GTask *task)
}
static gboolean
-cd_sensor_get_sample_wait_cb (GTask *task)
+cd_sensor_get_sample_wait_cb (GTask *unowned_task)
{
+ g_autoptr(GTask) task = unowned_task;
CdSensor *sensor = CD_SENSOR (g_task_get_source_object (task));
CdSensorDummyPrivate *priv = cd_sensor_dummy_get_private (sensor);
CdColorXYZ *sample = NULL;
@@ -101,9 +103,9 @@ cd_sensor_get_sample_async (CdSensor *sensor,
/* just complete in idle */
if (cap != CD_SENSOR_CAP_AMBIENT)
- g_timeout_add_seconds (2, (GSourceFunc) cd_sensor_get_sample_wait_cb, task);
+ g_timeout_add_seconds (2, (GSourceFunc) cd_sensor_get_sample_wait_cb, g_steal_pointer(&task));
else
- g_timeout_add_seconds (2, (GSourceFunc) cd_sensor_get_ambient_wait_cb, task);
+ g_timeout_add_seconds (2, (GSourceFunc) cd_sensor_get_ambient_wait_cb, g_steal_pointer(&task));
}
CdColorXYZ *