aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/mail-accounts.c14
-rw-r--r--mail/mail-callbacks.c2
3 files changed, 22 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 195ff4ac99..ef8fd20b02 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,12 @@
+2002-06-28 Jeffrey Stedfast <fejj@ximian.com>
+
+ Fixes bug #27055.
+
+ * mail-accounts.c (account_add_finished): Unref the main accounts widget.
+ (account_add_clicked): Ref the main accounts widget.
+ (account_edit_finished): Unref the main accounts widget.
+ (account_edit_clicked): Ref the main accounts widget.
+
2002-06-27 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (storage_remove_folder): Recursively delete
diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c
index 7805e47715..18b9e6e925 100644
--- a/mail/mail-accounts.c
+++ b/mail/mail-accounts.c
@@ -131,7 +131,11 @@ account_add_finished (GtkWidget *widget, gpointer user_data)
MailAccountsTab *prefs = user_data;
prefs->druid = NULL;
- mail_accounts_load (prefs);
+
+ if (!GTK_OBJECT_DESTROYED (prefs))
+ mail_accounts_load (prefs);
+
+ gtk_object_unref ((GtkObject *) prefs);
}
static void
@@ -145,6 +149,7 @@ account_add_clicked (GtkButton *button, gpointer user_data)
GTK_SIGNAL_FUNC (account_add_finished), prefs);
gtk_widget_show (prefs->druid);
+ gtk_object_ref ((GtkObject *) prefs);
} else {
gdk_window_raise (prefs->druid->window);
}
@@ -156,7 +161,11 @@ account_edit_finished (GtkWidget *widget, gpointer user_data)
MailAccountsTab *prefs = user_data;
prefs->editor = NULL;
- mail_accounts_load (prefs);
+
+ if (!GTK_OBJECT_DESTROYED (prefs))
+ mail_accounts_load (prefs);
+
+ gtk_object_unref ((GtkObject *) prefs);
}
static void
@@ -187,6 +196,7 @@ account_edit_clicked (GtkButton *button, gpointer user_data)
GTK_SIGNAL_FUNC (account_edit_finished),
prefs);
gtk_widget_show (prefs->editor);
+ gtk_object_ref ((GtkObject *) prefs);
}
} else {
gdk_window_raise (prefs->editor->window);
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index eb85f92402..d58fd7ebfd 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -75,8 +75,8 @@
struct post_send_data {
CamelFolder *folder;
- gchar *uid;
guint32 flags, set;
+ char *uid;
};
static void