### Method

# Gio Task propagate_value

since: 2.64

#### Declaration [src]

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

#### Description [src]

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

#### Parameters

`value`

  Type: `GValue`

  Return location for the `GValue`.

  The argument will be set by the function.
  The returned data is owned by the instance.

`error`

  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 be 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.