X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/1b114415f0123cc79ad9e3f003ec534f20a85ce4..82568fc97fa528e92f2de5e97717b542b921ccf3:/src/uobject/uobject.c diff --git a/src/uobject/uobject.c b/src/uobject/uobject.c index c3cc246..867390f 100644 --- a/src/uobject/uobject.c +++ b/src/uobject/uobject.c @@ -1,6 +1,6 @@ /* * upkg: tool for manipulating Unreal Tournament packages. - * Copyright © 2009-2012, 2015 Nick Bowler + * Copyright © 2009-2012, 2015, 2020 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -376,6 +376,12 @@ static unsigned long deserialize_property(UObject *uo, struct prop_head *head) if (rc != 0) return 0; g_object_set_property(G_OBJECT(uo), head->prop_name, &val); + + /* + * g_object_set_property increments refcount, + * release our reference. + */ + g_object_unref(g_value_get_object(&val)); break; case PROPERTY_FLOAT: if (head->size != 4 || priv->nbuf-len < head->size)