mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-21 08:28:53 +02:00
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:
@@ -290,15 +290,16 @@ g_async_initable_real_init_finish (GAsyncInitable *initable,
|
|||||||
GAsyncResult *res,
|
GAsyncResult *res,
|
||||||
GError **error)
|
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;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user