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