diff options
author | Srinivasa Ragavan <sragavan@src.gnome.org> | 2007-05-28 03:57:13 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2007-05-28 03:57:13 +0800 |
commit | bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3 (patch) | |
tree | 8992b6a37578309b1c6e234b29171d8977a83759 | |
parent | a395730704db9013c2306025d83cecf57419f842 (diff) | |
download | gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar.gz gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar.bz2 gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar.lz gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar.xz gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.tar.zst gsoc2013-evolution-bb74cfbbdd768524a9fee08b3dd081d11eb2b3b3.zip |
fix for bug #344966
svn path=/branches/gnome-2-18/; revision=33591
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-component.c | 20 |
2 files changed, 26 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 883f5c6462..02dfaffd9a 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2007-05-28 Srinivasa Ragavan <sragavan@novell.com> + + ** Fix for bug #334966 + + * mail-component.c: (view_changed), (view_changed_cb), (impl_quit), + (mail_component_init): Dont try and set the title on quit. + 2007-04-20 Srinivasa Ragavan <sragavan@novell.com> * em-composer-prefs.c: (signature_key_press): Fix for bug #353662 diff --git a/mail/mail-component.c b/mail/mail-component.c index 585c5b20fc..9aaae0aa79 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -501,6 +501,7 @@ view_on_url (GObject *emitter, const char *url, const char *nice_url, MailCompon static void view_changed(EMFolderView *emfv, EComponentView *component_view) { + MailComponent *mc = mail_component_peek (); EInfoLabel *el = g_object_get_data((GObject *)component_view, "info-label"); CORBA_Environment ev; @@ -621,14 +622,27 @@ view_changed_timeout(void *d) static void view_changed_cb(EMFolderView *emfv, EComponentView *component_view) { + MailComponent *mc = mail_component_peek (); void *v; EInfoLabel *el = g_object_get_data((GObject *)component_view, "info-label"); + v = g_object_get_data((GObject *)component_view, "view-changed-timeout"); + + if (mc->priv->quit_state != -1) { + if (v) { + g_source_remove(GPOINTER_TO_INT(v)); + g_object_set_data((GObject *)component_view, "view-changed-timeout", NULL); + g_object_unref (emfv); + g_object_unref (el); + } + + return; + + } /* This can get called 3 times every cursor move, so we don't need to/want to run it immediately */ /* NB: we should have a 'view' struct/object to manage this crap, but this'll do for now */ - v = g_object_get_data((GObject *)component_view, "view-changed-timeout"); if (v) { g_source_remove(GPOINTER_TO_INT(v)); } else { @@ -789,6 +803,9 @@ impl_quit(PortableServer_Servant servant, CORBA_Environment *ev) { MailComponent *mc = MAIL_COMPONENT(bonobo_object_from_servant(servant)); + if (mc->priv->quit_state == -1) + mc->priv->quit_state = MC_QUIT_START; + mail_config_prune_proxies (); switch (mc->priv->quit_state) { case MC_QUIT_START: { @@ -1141,6 +1158,7 @@ mail_component_init (MailComponent *component) component->priv = priv; priv->lock = g_mutex_new(); + priv->quit_state = -1; priv->base_directory = g_build_filename (g_get_home_dir (), ".evolution", NULL); #ifdef G_OS_WIN32 |