since: 2.64


g_task_propagate_value (
  GTask* task,
  GValue* value,
  GError** error


Gets the result of task as a GValue, and transfers ownership of that value to the caller. As with g_task_return_value(), this is a generic low-level method; g_task_propagate_pointer() and the like will usually be more useful for C code.

If the task resulted in an error, or was cancelled, then this will instead set error and return FALSE.

Since this method transfers ownership of the return value (or error) to the caller, you may only call it once.

Available since: 2.64



Type: GValue

Return location for the GValue.

The argument will be set by the function.
The data is owned by the caller of the function.

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE if task succeeded, FALSE on error.