aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog15
-rw-r--r--mail/mail-config.c3
2 files changed, 15 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 495728fdd7..663f8cb6fe 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,9 +1,22 @@
+2001-07-04 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-config.c (mail_config_set_show_preview): Revert Sam's changes.
+
+ Note: Uhm, g_hash_table_lookup_extended gives us a pointer to the
+ original value which we can just change to update the hash table
+ without the need to re-insert - it's already there!! Also, you
+ don't want to g_hash_table_insert the new value with the same key
+ without at least first removing the existing bucket. And, you
+ certainly don't want to g_free() the key after you insert it -
+ eek!!
+
2001-07-03 Sam Creasey <sammy@oh.verio.com>
+
* mail-config.c (mail_config_set_show_preview): Replace value in
config->preview_hash when it already exists. Old code never
re-inserted into the hash, just assigned to val -- it's an int
here, not a real pointer.
-
+
2001-07-03 Joe Shaw <joe@ximian.com>
* mail-callbacks.c (expunge_folder): Unset the message being displayed
diff --git a/mail/mail-config.c b/mail/mail-config.c
index 28cbca3f17..6a60a4855e 100644
--- a/mail/mail-config.c
+++ b/mail/mail-config.c
@@ -923,8 +923,7 @@ mail_config_set_show_preview (const char *uri, gboolean value)
config->preview_hash = g_hash_table_new (g_str_hash, g_str_equal);
if (g_hash_table_lookup_extended (config->preview_hash, dbkey, &key, &val)) {
- g_hash_table_insert (config->preview_hash, dbkey,
- GINT_TO_POINTER (value));
+ val = GINT_TO_POINTER (value);
g_free (dbkey);
} else {
g_hash_table_insert (config->preview_hash, dbkey,