r1430 - in /unstable/evolution/debian: changelog patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch

yanli-guest at users.alioth.debian.org yanli-guest at users.alioth.debian.org
Mon Nov 30 09:43:30 UTC 2009


Author: yanli-guest
Date: Mon Nov 30 09:43:29 2009
New Revision: 1430

URL: http://svn.debian.org/wsvn/pkg-evolution/?sc=1&rev=1430
Log:
Added patches for fixing GNOME Bug #599792 and #596027

Added:
    unstable/evolution/debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch
    unstable/evolution/debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch
Modified:
    unstable/evolution/debian/changelog

Modified: unstable/evolution/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution/debian/changelog?rev=1430&op=diff
==============================================================================
--- unstable/evolution/debian/changelog (original)
+++ unstable/evolution/debian/changelog Mon Nov 30 09:43:29 2009
@@ -1,9 +1,16 @@
 evolution (2.28.1-3) UNRELEASED; urgency=low
 
-  * 02_empty-line_signature.patch: stolen from upstream git. Stop 
+  [ Josselin Mouette ]
+  * 02_empty-line_signature.patch: stolen from upstream git. Stop
     including an empty line in front of the signature.
 
- -- Josselin Mouette <joss at debian.org>  Sat, 28 Nov 2009 08:16:53 +0100
+  [ Yan Li ]
+  * debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch
+    - fixed GNOME Bug #599792
+  * debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch
+    - fixed GNOME Bug #596027
+
+ -- Yan Li <yanli at infradead.org>  Mon, 30 Nov 2009 16:40:50 +0800
 
 evolution (2.28.1-2) unstable; urgency=low
 

Added: unstable/evolution/debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution/debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch?rev=1430&op=file
==============================================================================
--- unstable/evolution/debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch (added)
+++ unstable/evolution/debian/patches/03_GNOME-Bug-599792-Anjal-composer-s-Send-button-doesn-t-work.patch Mon Nov 30 09:43:29 2009
@@ -1,0 +1,100 @@
+From 08150f6b0dc3d820f116613d3b1e461bba309c6c Mon Sep 17 00:00:00 2001
+Message-Id: <08150f6b0dc3d820f116613d3b1e461bba309c6c.1259034563.git.yanli at infradead.org>
+In-Reply-To: <50ffa65a7aee41c5fa319f64dd3bd3ffdd2be0b3.1259034563.git.yanli at infradead.org>
+References: <50ffa65a7aee41c5fa319f64dd3bd3ffdd2be0b3.1259034563.git.yanli at infradead.org>
+From: Yan Li <yanli at infradead.org>
+Date: Thu, 5 Nov 2009 15:16:41 +0800
+Subject: [PATCH] Bug #599792 - Anjal composer's Send button doesn't work after pressed Save Drafts button
+
+This is due to an old hack that hiding a composer means we're closing
+it so save_draft_done() destroys the composer after saved draft. But
+in Anjal, the composer widget is always hidden (since the editor is
+reparented to the tab), and will be wrongly destroyed by
+save_draft_done() when you clicked "Save Draft" button.
+
+This patch improved the old hack, by adding a new API
+e_msg_composer_request_close() that can be used to request closing a
+composer (so the old hack is no longer needed). Internally,
+composer->priv->application_exiting is used to store this exiting
+status.
+
+So by this we no longer use a composer's visibility to check whether
+we're to close it. When you no longer need a composer after saved
+draft, call e_msg_composer_request_close() before sending the
+save-draft signal.
+
+Signed-off-by: Yan Li <yanli at infradead.org>
+---
+ composer/e-composer-actions.c |    2 ++
+ composer/e-msg-composer.c     |    8 ++++++++
+ composer/e-msg-composer.h     |    1 +
+ mail/em-composer-utils.c      |    5 +----
+ 4 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c
+index 9ec3399..74b0a85 100644
+--- a/composer/e-composer-actions.c
++++ b/composer/e-composer-actions.c
+@@ -1,3 +1,4 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+ /*
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -91,6 +92,7 @@ action_close_cb (GtkAction *action,
+ 	switch (response) {
+ 		case GTK_RESPONSE_YES:
+ 			gtk_widget_hide (widget);
++			e_msg_composer_request_close (composer);
+ 			gtk_action_activate (ACTION (SAVE_DRAFT));
+ 			break;
+ 
+diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
+index 828a14e..64f565d 100644
+--- a/composer/e-msg-composer.c
++++ b/composer/e-msg-composer.c
+@@ -3928,6 +3928,14 @@ e_msg_composer_is_exiting (EMsgComposer *composer)
+ 	return composer->priv->application_exiting;
+ }
+ 
++void
++e_msg_composer_request_close (EMsgComposer *composer)
++{
++	g_return_val_if_fail (composer != NULL, FALSE);
++
++	composer->priv->application_exiting = TRUE;
++}
++
+ gboolean
+ e_msg_composer_request_close_all (void)
+ {
+diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h
+index e1eeede..93db807 100644
+--- a/composer/e-msg-composer.h
++++ b/composer/e-msg-composer.h
+@@ -137,6 +137,7 @@ void		e_msg_composer_add_message_attachments
+ 						 CamelMimeMessage *message,
+ 						 gboolean just_inlines);
+ 
++void		e_msg_composer_request_close	(EMsgComposer *composer);
+ gboolean	e_msg_composer_request_close_all(void);
+ EMsgComposer *	e_msg_composer_load_from_file	(const gchar *filename);
+ void		e_msg_composer_check_autosave	(GtkWindow *parent);
+diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
+index 1800d4c..fe7c34a 100644
+--- a/mail/em-composer-utils.c
++++ b/mail/em-composer-utils.c
+@@ -535,10 +535,7 @@ save_draft_done (CamelFolder *folder, CamelMimeMessage *msg, CamelMessageInfo *i
+ 		emcs->drafts_uid = g_strdup (appended_uid);
+ 	}
+ 
+-	/* This is kind of a hack, but the composer's CLOSE action
+-	 * hides the window before emitting the "save-draft" signal.
+-	 * We use that to determine whether to destroy the composer. */
+-	if (!GTK_WIDGET_VISIBLE (sdi->composer))
++	if (e_msg_composer_is_exiting (sdi->composer))
+ 		gtk_widget_destroy (GTK_WIDGET (sdi->composer));
+ 
+  done:
+-- 
+1.6.5.2
+

Added: unstable/evolution/debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/unstable/evolution/debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch?rev=1430&op=file
==============================================================================
--- unstable/evolution/debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch (added)
+++ unstable/evolution/debian/patches/04_GNOME-Bug-596027-In-Anjal-although-invalid-mail-address-wa.patch Mon Nov 30 09:43:29 2009
@@ -1,0 +1,124 @@
+From 50ffa65a7aee41c5fa319f64dd3bd3ffdd2be0b3 Mon Sep 17 00:00:00 2001
+Message-Id: <50ffa65a7aee41c5fa319f64dd3bd3ffdd2be0b3.1259034563.git.yanli at infradead.org>
+From: Yan Li <yanli at infradead.org>
+Date: Thu, 5 Nov 2009 11:50:34 +0800
+Subject: [PATCH] Bug #596027: In Anjal, although invalid mail address warning popup, mail's tab closed automatically
+
+A new field "mail_sent" is added to the Composer to indicate whether the
+mail is sent successfully or not. This is needed by Anjal to know
+whether it can destroy the composer or not.
+
+(backported from df1f9b3b33de886c5b9a63b0ee6e722bfea4b2e0 of master)
+
+Signed-off-by: Yan Li <yanli at infradead.org>
+---
+ composer/e-composer-private.c |    4 ++++
+ composer/e-composer-private.h |   11 +++++++++++
+ composer/e-msg-composer.c     |   14 ++++++++++++++
+ composer/e-msg-composer.h     |    3 +++
+ mail/em-composer-utils.c      |    3 +++
+ 5 files changed, 35 insertions(+), 0 deletions(-)
+
+diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
+index 9a506fa..e2260c4 100644
+--- a/composer/e-composer-private.c
++++ b/composer/e-composer-private.c
+@@ -1,3 +1,5 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
++
+ /*
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -274,6 +276,8 @@ e_composer_private_init (EMsgComposer *composer)
+ 			G_OBJECT (header), "visible",
+ 			G_OBJECT (action), "active");
+ 	}
++
++	priv->mail_sent = FALSE;
+ }
+ 
+ void
+diff --git a/composer/e-composer-private.h b/composer/e-composer-private.h
+index 49d9ae6..8803cf9 100644
+--- a/composer/e-composer-private.h
++++ b/composer/e-composer-private.h
+@@ -1,3 +1,5 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
++
+ /*
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -115,7 +117,16 @@ struct _EMsgComposerPrivate {
+ 
+ 	guint notify_id;
+ 
++	/* This send option is available only for Novell GroupWise and
++	   Microsoft Exchange accounts */
+ 	gboolean send_invoked;
++
++	/* The mail composed has been sent. This bit will be set when
++	  the mail passed sanity checking and is sent out, which
++	  indicates that the composer can be destroyed. This bit can
++	  be set/get by using API
++	  e_msg_composer_{set,get}_mail_sent(). */
++	gboolean mail_sent;
+ };
+ 
+ void		e_composer_private_init		(EMsgComposer *composer);
+diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
+index f18659e..828a14e 100644
+--- a/composer/e-msg-composer.c
++++ b/composer/e-msg-composer.c
+@@ -4186,3 +4186,17 @@ e_save_spell_languages (GList *spell_languages)
+ 		g_error_free (error);
+ 	}
+ }
++
++void e_msg_composer_set_mail_sent (EMsgComposer *composer, gboolean mail_sent)
++{
++	g_return_val_if_fail (composer != NULL, FALSE);
++
++	composer->priv->mail_sent = mail_sent;
++}
++
++gboolean e_msg_composer_get_mail_sent (EMsgComposer *composer)
++{
++	g_return_val_if_fail (composer != NULL, FALSE);
++
++	return composer->priv->mail_sent;
++}
+diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h
+index 434f330..e1eeede 100644
+--- a/composer/e-msg-composer.h
++++ b/composer/e-msg-composer.h
+@@ -158,6 +158,9 @@ gboolean	e_msg_composer_is_exiting	(EMsgComposer *composer);
+ GList *		e_load_spell_languages		(void);
+ void		e_save_spell_languages		(GList *spell_languages);
+ 
++void		e_msg_composer_set_mail_sent 	(EMsgComposer *composer, gboolean mail_sent);
++gboolean	e_msg_composer_get_mail_sent 	(EMsgComposer *composer);
++
+ G_END_DECLS
+ 
+ #endif /* E_MSG_COMPOSER_H */
+diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
+index 1484a1f..1800d4c 100644
+--- a/mail/em-composer-utils.c
++++ b/mail/em-composer-utils.c
+@@ -1,3 +1,5 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
++
+ /*
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -440,6 +442,7 @@ em_utils_composer_send_cb (EMsgComposer *composer, gpointer user_data)
+ 	camel_object_ref (mail_folder);
+ 
+ 	/* mail the message */
++	e_msg_composer_set_mail_sent (composer, TRUE);
+ 	info = camel_message_info_new(NULL);
+ 	camel_message_info_set_flags(info, CAMEL_MESSAGE_SEEN, ~0);
+ 
+-- 
+1.6.5.2
+




More information about the pkg-evolution-commits mailing list