aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-10-12 10:42:00 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-10-12 10:42:00 +0800
commit2d89e54a1d42b95417f0ecf3631b272c35f9b231 (patch)
tree55ceac0a7e385aa6aea15288595635250c1a327a
parent567688b263b9dc5e5d3278c85f3b6f5ae981b8e1 (diff)
downloadgsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar.gz
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar.bz2
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar.lz
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar.xz
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.tar.zst
gsoc2013-evolution-2d89e54a1d42b95417f0ecf3631b272c35f9b231.zip
** See bug #67408.
2004-10-11 Not Zed <NotZed@Ximian.com> ** See bug #67408. * em-folder-view.c (emfv_gui_folder_changed): noop if we were destroyed. (emfv_destroy): set destroyed bit. svn path=/trunk/; revision=27544
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/em-folder-view.c10
2 files changed, 15 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index a57b5a45ed..2b0d00aa6f 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,13 @@
2004-10-11 Not Zed <NotZed@Ximian.com>
+ ** See bug #67408.
+
+ * em-folder-view.c (emfv_gui_folder_changed): noop if we were
+ destroyed.
+ (emfv_destroy): set destroyed bit.
+
+2004-10-11 Not Zed <NotZed@Ximian.com>
+
* mail-component.c (mc_startup): register the formatter types
before registering the formatter hook.
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);
}