diff --git a/shared/retro-error-private.h b/shared/retro-error-private.h index d15c548ee8c7c9fd92d463a790f2ebc4b86ad9b6..54c6cc3ca28e96095b180240363d63959219cdad 100644 --- a/shared/retro-error-private.h +++ b/shared/retro-error-private.h @@ -170,7 +170,7 @@ G_BEGIN_DECLS * ]| */ #define retro_try_propagate(try, catch, dest) \ - retro_try (try, catch, { g_propagate_error (dest, catch); return; }) + retro_try (try, catch, { g_propagate_error (dest, g_steal_pointer (&catch)); return; }) /** * retro_try_propagate_val: @@ -251,6 +251,6 @@ G_BEGIN_DECLS * ]| */ #define retro_try_propagate_val(try, catch, dest, val) \ - retro_try (try, catch, { g_propagate_error (dest, catch); return (val); }) + retro_try (try, catch, { g_propagate_error (dest, g_steal_pointer (&catch)); return (val); }) G_END_DECLS