aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r--mail/em-folder-view.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index ab3de6d597..ff53fa4eb0 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -129,6 +129,7 @@ struct _EMFolderViewPrivate {
guint seen_id;
guint setting_notify_id;
int nomarkseen:1;
+ int destroyed:1;
CamelObjectHookID folder_changed_id;
@@ -221,6 +222,8 @@ emfv_destroy (GtkObject *o)
EMFolderView *emfv = (EMFolderView *) o;
struct _EMFolderViewPrivate *p = emfv->priv;
+ p->destroyed = TRUE;
+
if (p->seen_id) {
g_source_remove(p->seen_id);
p->seen_id = 0;
@@ -2221,9 +2224,10 @@ emfv_format_popup_event(EMFormatHTMLDisplay *efhd, GdkEventButton *event, const
static void
emfv_gui_folder_changed(CamelFolder *folder, void *dummy, EMFolderView *emfv)
{
- emfv_enable_menus(emfv);
-
- g_signal_emit(emfv, signals[EMFV_LOADED], 0);
+ if (!emfv->priv->destroyed) {
+ emfv_enable_menus(emfv);
+ g_signal_emit(emfv, signals[EMFV_LOADED], 0);
+ }
g_object_unref(emfv);
}