diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 7 | ||||
-rw-r--r-- | shell/e-shell-settings-dialog.c | 14 |
2 files changed, 11 insertions, 10 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 5bc2c5ba7c..34db93b399 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,10 @@ +2007-10-02 Matthew Barnes <mbarnes@redhat.com> + + ** Fixes part of bug #469657 + + * shell/e-shell-settings-dialog.c: + Use destroy functions in GHashTables to simplify memory management. + 2007-09-27 Hiroyuki Ikezoe <poincare@ikezoe.net> ** Fix for bug #461195 diff --git a/shell/e-shell-settings-dialog.c b/shell/e-shell-settings-dialog.c index e503192034..e2c720355d 100644 --- a/shell/e-shell-settings-dialog.c +++ b/shell/e-shell-settings-dialog.c @@ -268,14 +268,6 @@ load_pages (EShellSettingsDialog *dialog) /* GtkObject methods. */ -static gboolean -destroy_type_entry (gpointer key, gpointer value, gpointer data) -{ - g_free (key); - - return TRUE; -} - static void impl_finalize (GObject *object) { @@ -285,7 +277,6 @@ impl_finalize (GObject *object) dialog = E_SHELL_SETTINGS_DIALOG (object); priv = dialog->priv; - g_hash_table_foreach_remove (priv->types, destroy_type_entry, NULL); g_hash_table_destroy (priv->types); g_free (priv); @@ -309,7 +300,10 @@ e_shell_settings_dialog_init (EShellSettingsDialog *dialog) EShellSettingsDialogPrivate *priv; priv = g_new (EShellSettingsDialogPrivate, 1); - priv->types = g_hash_table_new (g_str_hash, g_str_equal); + priv->types = g_hash_table_new_full ( + g_str_hash, g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) NULL); dialog->priv = priv; |