X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/d78fbc3a4f4bdef475f85b0c1ebeaddd74cce141..82568fc97fa528e92f2de5e97717b542b921ccf3:/src/uobject/uobject.c
diff --git a/src/uobject/uobject.c b/src/uobject/uobject.c
index 9c5bfa1..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-2011 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
@@ -16,6 +16,7 @@
* along with this program. If not, see .
*/
+#include
#include
#include
#include
@@ -375,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)