[gnome-control-center] about_me_destroy() frees the whole data structure and it tries to do the right thing by setting "me



commit 41586c16b9672d26f54d465d6571df39a8aee8c8
Author: Michal Schmidt <mschmidt redhat com>
Date:   Tue Mar 23 19:28:37 2010 +0100

    about_me_destroy() frees the whole data structure and it tries to do the
    right thing by setting "me = NULL" afterwards, but "me" in this case is
    not the global variable, but the local one which shadows it. So the
    global "me" remains non-NULL and when later about_me_focus_out() is
    called, it cannot know it should return early.
    
    It only makes sense for about_me_destroy() to operate on the global
    "me", so there's no point in passing it as a parameter.

 capplets/about-me/gnome-about-me.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/capplets/about-me/gnome-about-me.c b/capplets/about-me/gnome-about-me.c
index 9551917..755dba8 100644
--- a/capplets/about-me/gnome-about-me.c
+++ b/capplets/about-me/gnome-about-me.c
@@ -163,7 +163,7 @@ about_me_error (GtkWindow *parent, gchar *str)
 
 /********************/
 static void
-about_me_destroy (GnomeAboutMe *me)
+about_me_destroy (void)
 {
 	e_contact_address_free (me->addr1);
 	e_contact_address_free (me->addr2);
@@ -813,7 +813,7 @@ about_me_button_clicked_cb (GtkDialog *dialog, gint response_id, GnomeAboutMe *m
 			about_me_commit (me);
 		}
 
-		about_me_destroy (me);
+		about_me_destroy ();
 		gtk_main_quit ();
 	}
 }
@@ -855,7 +855,7 @@ about_me_setup_dialog (void)
 	gtk_container_add (GTK_CONTAINER (WID ("button-image")), me->image_chooser);
 
 	if (dialog == NULL) {
-		about_me_destroy (me);
+		about_me_destroy ();
 		return -1;
 	}
 
@@ -890,7 +890,7 @@ about_me_setup_dialog (void)
 			about_me_error (NULL, _("There was an error while trying to get the addressbook information\n" \
 						"Evolution Data Server can't handle the protocol"));
 			g_clear_error (&error);
-			about_me_destroy (me);
+			about_me_destroy ();
 			return -1;
 		}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]