mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-02 09:04:53 +02:00
gtask: Ensure to return 1 or 0 from getters rather than truthy ints
Since commit 290bb0dd, where various members of GTask were converted to a bitfield, some of the getters: • g_task_get_check_cancellable() • g_task_get_return_on_cancel() • g_task_get_completed() have been returning truthy ints (zero or an arbitrary non-zero integer) as boolean values, rather than the canonical boolean ints of 1 and 0. This broke the `yield` statement in Vala, whose generated C code compares `g_task_get_completed (…) != TRUE`. i.e. Whether the `completed` field has a value not equal to 1. Fix this by explicitly converting truthy ints to canonical boolean ints in all getters. Signed-off-by: Philip Withnall <withnall@endlessm.com> https://gitlab.gnome.org/GNOME/glib/issues/1636
This commit is contained in:
parent
33158c86c1
commit
ae381d795e
11
gio/gtask.c
11
gio/gtask.c
@ -1132,7 +1132,8 @@ g_task_get_check_cancellable (GTask *task)
|
|||||||
{
|
{
|
||||||
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
||||||
|
|
||||||
return task->check_cancellable;
|
/* Convert from a bit field to a boolean. */
|
||||||
|
return task->check_cancellable ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1149,7 +1150,8 @@ g_task_get_return_on_cancel (GTask *task)
|
|||||||
{
|
{
|
||||||
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
||||||
|
|
||||||
return task->return_on_cancel;
|
/* Convert from a bit field to a boolean. */
|
||||||
|
return task->return_on_cancel ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1952,7 +1954,8 @@ g_task_get_completed (GTask *task)
|
|||||||
{
|
{
|
||||||
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
g_return_val_if_fail (G_IS_TASK (task), FALSE);
|
||||||
|
|
||||||
return task->completed;
|
/* Convert from a bit field to a boolean. */
|
||||||
|
return task->completed ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2055,7 +2058,7 @@ g_task_get_property (GObject *object,
|
|||||||
switch ((GTaskProperty) prop_id)
|
switch ((GTaskProperty) prop_id)
|
||||||
{
|
{
|
||||||
case PROP_COMPLETED:
|
case PROP_COMPLETED:
|
||||||
g_value_set_boolean (value, task->completed);
|
g_value_set_boolean (value, g_task_get_completed (task));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user