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);
}