From 26c66ab1b9806d097bd1080240435cb37642f141 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Oct 2014 14:17:56 -0400 Subject: [PATCH] Clarify g_propagate_error docs I just ran into a bug that was caused by having src being a persistent GError* that was not cleared after propagating it. --- glib/gerror.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glib/gerror.c b/glib/gerror.c index db31692..4eed58e 100644 --- a/glib/gerror.c +++ b/glib/gerror.c @@ -604,6 +604,10 @@ g_set_error_literal (GError **err, * * If @dest is %NULL, free @src; otherwise, moves @src into *@dest. * The error variable @dest points to must be %NULL. + * + * Note that @src is no longer valid after this call. If you want + * to keep using the same GError*, you need to set it to %NULL + * after calling this function on it. */ void g_propagate_error (GError **dest, -- 2.7.4