aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/em-account-editor.c17
2 files changed, 7 insertions, 16 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 784825e1e1..1f6677f89d 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-22 Not Zed <NotZed@Ximian.com>
+
+ * em-account-editor.c (emae_receive_options_extra_item): dont
+ track containee widgets anymore, they are automagically destroyed
+ by the container if required.
+
2004-11-25 Radek Doulik <rodo@ximian.com>
* em-junk-filter.c (em_junk_sa_test_spamd): do not call gconf here
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 6021f8f34e..febdb2aa79 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -94,7 +94,6 @@
/* econfig item for the extra config hings */
struct _receive_options_item {
EMConfigItem item;
- GSList *widgets;
/* Only CAMEL_PROVIDER_CONF_ENTRYs GtkEntrys are stored here.
The auto-detect camel provider code will probably be removed */
@@ -1809,20 +1808,12 @@ emae_receive_options_extra_item(EConfig *ec, EConfigItem *eitem, struct _GtkWidg
GtkWidget *w, *l;
CamelProviderConfEntry *entries;
GtkWidget *depw;
- GSList *depl = NULL, *widgets = NULL, *n;
+ GSList *depl = NULL, *n;
EMAccountEditorService *service = &emae->priv->source;
int row, i;
GHashTable *extra;
CamelURL *url;
- /* Clean up any widgets we had setup before */
- if (item->widgets) {
- g_slist_foreach(item->widgets, (GFunc)gtk_widget_destroy, NULL);
- g_hash_table_destroy(item->extra_table);
- item->widgets = NULL;
- item->extra_table = NULL;
- }
-
if (emae->priv->source.provider == NULL
|| emae->priv->source.provider->extra_conf == NULL)
return NULL;
@@ -1876,7 +1867,6 @@ section:
g_hash_table_insert(extra, entries[i].name, w);
if (depw)
depl = g_slist_prepend(depl, w);
- widgets = g_slist_prepend(widgets, w);
row++;
break;
case CAMEL_PROVIDER_CONF_ENTRY:
@@ -1889,8 +1879,6 @@ section:
depl = g_slist_prepend(depl, w);
depl = g_slist_prepend(depl, l);
}
- widgets = g_slist_prepend(widgets, w);
- widgets = g_slist_prepend(widgets, l);
row++;
/* FIXME: this is another hack for exchange/groupwise connector */
g_hash_table_insert(item->extra_table, entries[i].name, w);
@@ -1900,7 +1888,6 @@ section:
gtk_table_attach((GtkTable *)parent, w, 0, 2, row, row+1, GTK_EXPAND|GTK_FILL, 0, 0, 0);
if (depw)
depl = g_slist_prepend(depl, w);
- widgets = g_slist_prepend(widgets, w);
row++;
break;
default:
@@ -1925,7 +1912,6 @@ section:
w = gtk_label_new("");
gtk_widget_hide(w);
gtk_table_attach((GtkTable *)parent, w, 0, 2, row, row+1, 0, 0, 0, 0);
- item->widgets = widgets;
return w;
}
@@ -2177,7 +2163,6 @@ emae_free_auto(EConfig *ec, GSList *items, void *data)
g_free(item->item.path);
if (item->extra_table)
g_hash_table_destroy(item->extra_table);
- g_slist_free(item->widgets);
g_free(item);
g_slist_free_1(l);
l = n;