diff -up gdm-2.20.0/gui/gdmuser.c.pixbuf-ref gdm-2.20.0/gui/gdmuser.c --- gdm-2.20.0/gui/gdmuser.c.pixbuf-ref 2007-10-01 15:27:00.000000000 -0400 +++ gdm-2.20.0/gui/gdmuser.c 2007-10-01 15:28:29.000000000 -0400 @@ -142,6 +142,9 @@ gdm_user_alloc (const gchar *logname, img = gdk_pixbuf_loader_get_pixbuf (loader); + if (img != NULL) + g_object_ref (img); + /* if we have a defface, force all faces to be this size */ if (img != NULL && defface != NULL) { GdkPixbuf *scaled; @@ -155,9 +158,6 @@ gdm_user_alloc (const gchar *logname, } } - if (img != NULL) - g_object_ref (G_OBJECT (img)); - g_object_unref (G_OBJECT (loader)); /* read the "done" bit, but don't check */