gtask: Check an error hasn’t been returned when calling g_task_return*()
These functions already check to see if a successful result has already been returned; expand them to also check to see if an error has been returned.
We can’t just check GTask.result_set, as that’s actually an indicator for whether the GTask.result member is filled — when g_task_propagate_*() is called, it’s cleared again. We need a new state bit.
Signed-off-by: Philip Withnall withnall@endlessm.com
Closes #1525 (closed)