[gtk/matthiasc/for-master] gtk-demo: Clean up memory handling in the weather demo
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] gtk-demo: Clean up memory handling in the weather demo
- Date: Sat, 20 Jun 2020 16:20:02 +0000 (UTC)
commit 3fab2b55ccd43111f0ab8f839d03de5ebd75beda
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jun 20 12:18:17 2020 -0400
gtk-demo: Clean up memory handling in the weather demo
gtk_weather_info_new was consuming the info, but not
the timestamp, which confused me. Make it not consume
either, and be more explicit about where the unrefs
happen.
demos/gtk-demo/listview_weather.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/demos/gtk-demo/listview_weather.c b/demos/gtk-demo/listview_weather.c
index c373e43686..4fa83721f4 100644
--- a/demos/gtk-demo/listview_weather.c
+++ b/demos/gtk-demo/listview_weather.c
@@ -70,7 +70,6 @@ gtk_weather_info_new (GDateTime *timestamp,
{
result->temperature = copy_from->temperature;
result->weather_type = copy_from->weather_type;
- g_object_unref (copy_from);
}
return result;
@@ -161,6 +160,7 @@ create_weather_model (void)
timestamp = g_date_time_new (utc, 2011, 1, 1, 0, 0, 0);
info = gtk_weather_info_new (timestamp, NULL);
g_list_store_append (store, info);
+ g_object_unref (info);
for (i = 0; lines[i] != NULL && *lines[i]; i++)
{
@@ -176,6 +176,7 @@ create_weather_model (void)
timestamp = new_timestamp;
info = gtk_weather_info_new (timestamp, info);
g_list_store_append (store, info);
+ g_object_unref (info);
}
info->temperature = parse_temperature (fields[1], info->temperature);
@@ -184,6 +185,7 @@ create_weather_model (void)
g_strfreev (fields);
}
+ g_date_time_unref (timestamp);
g_strfreev (lines);
g_bytes_unref (data);
g_time_zone_unref (utc);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]