GAsyncInitable: partially revert the init_finish changes

g_async_initable_real_init_finish() was previously handling all
GSimpleAsyncResults, even if they weren't created by
g_async_initable_real_init_async(), and libnm-glib accidentally relied
on that behavior. So remove the g_simple_async_result_is_valid()
check.
This commit is contained in:
Dan Winship 2012-07-17 09:12:39 -04:00
parent cd8ec3359b
commit d90ad18055

View File

@ -290,15 +290,16 @@ g_async_initable_real_init_finish (GAsyncInitable *initable,
GAsyncResult *res,
GError **error)
{
GSimpleAsyncResult *simple;
/* For backward compatibility we have to process GSimpleAsyncResults
* even if they aren't tagged from g_async_initable_real_init_async.
*/
if (G_IS_SIMPLE_ASYNC_RESULT (res))
{
GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
if (g_simple_async_result_propagate_error (simple, error))
return FALSE;
}
g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (initable),
g_async_initable_real_init_async),
FALSE);
simple = G_SIMPLE_ASYNC_RESULT (res);
if (g_simple_async_result_propagate_error (simple, error))
return FALSE;
return TRUE;
}