Blob Blame History Raw
diff -up gnome-desktop-2.23.90/libgnome-desktop/gnome-rr-config.c.rr-leaks gnome-desktop-2.23.90/libgnome-desktop/gnome-rr-config.c
--- gnome-desktop-2.23.90/libgnome-desktop/gnome-rr-config.c.rr-leaks	2008-08-18 16:09:40.000000000 -0400
+++ gnome-desktop-2.23.90/libgnome-desktop/gnome-rr-config.c	2008-08-30 11:34:52.000000000 -0400
@@ -186,7 +186,7 @@ handle_start_element (GMarkupParseContex
 	
 	parser->configuration = g_new0 (GnomeRRConfig, 1);
 	parser->configuration->clone = FALSE;
-	parser->configuration->outputs = g_new0 (GnomeOutputInfo *, 1);
+	parser->configuration->outputs = NULL;
     }
     else if (strcmp (name, "monitors") == 0)
     {
@@ -656,6 +656,8 @@ outputs_free (GnomeOutputInfo **outputs)
 
     for (i = 0; outputs[i] != NULL; ++i)
 	output_free (outputs[i]);
+
+    g_free (outputs);
 }
 
 void
diff -up gnome-desktop-2.23.90/libgnome-desktop/gnome-rr.c.rr-leaks gnome-desktop-2.23.90/libgnome-desktop/gnome-rr.c
--- gnome-desktop-2.23.90/libgnome-desktop/gnome-rr.c.rr-leaks	2008-08-30 11:34:52.000000000 -0400
+++ gnome-desktop-2.23.90/libgnome-desktop/gnome-rr.c	2008-08-30 11:34:52.000000000 -0400
@@ -719,6 +719,11 @@ output_initialize (GnomeRROutput *output
 static void
 output_free (GnomeRROutput *output)
 {
+    g_free (output->clones);
+    g_free (output->modes);
+    g_free (output->possible_crtcs);
+    g_free (output->edid_data);
+    g_free (output->name);
     g_free (output);
 }