aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog7
-rw-r--r--shell/e-shell-settings-dialog.c14
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;