aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2007-05-28 03:57:13 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2007-05-28 03:57:13 +0800
commitbb74cfbbdd768524a9fee08b3dd081d11eb2b3b3 (patch)
tree8992b6a37578309b1c6e234b29171d8977a83759
parenta395730704db9013c2306025d83cecf57419f842 (diff)
downloadgsoc2013-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/ChangeLog7
-rw-r--r--mail/mail-component.c20
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