After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 599792 - Anjal composer's Send button doesn't work after pressed Save to Drafts button
Anjal composer's Send button doesn't work after pressed Save to Drafts button
Status: VERIFIED FIXED
Product: anjal
Classification: Deprecated
Component: mail
0.1
Other Linux
: Normal critical
: ---
Assigned To: Yan Li
anjal-maint
Depends on:
Blocks:
 
 
Reported: 2009-10-27 15:36 UTC by Yan Li
Modified: 2009-11-06 08:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to Evolution gnome-2-28 (4.08 KB, patch)
2009-10-27 17:29 UTC, Yan Li
committed Details | Review
Patch to Anjal (2.12 KB, patch)
2009-10-27 17:31 UTC, Yan Li
committed Details | Review
Patch for Evolution master branch (4.75 KB, patch)
2009-11-06 07:29 UTC, Yan Li
committed Details | Review

Description Yan Li 2009-10-27 15:36:40 UTC
This bug is first reported at Anjal Bugzilla: http://bugzilla.moblin.org/show_bug.cgi?id=6107

Write a new email, press "save draft" button first then press "send", mail
cannot be sent, no warning message.

This is due to Anjal's composer widget is not visible, and being destroyed by save_draft_done().
Comment 1 Yan Li 2009-10-27 17:29:40 UTC
Created attachment 146356 [details] [review]
Patch to Evolution gnome-2-28

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. 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 saving
draft, call e_msg_composer_request_close() before sending the
save-draft signal.
Comment 2 Yan Li 2009-10-27 17:31:48 UTC
Created attachment 146357 [details] [review]
Patch to Anjal

And the patch to Anjal.
Comment 3 Srinivasa Ragavan 2009-11-03 12:12:07 UTC
Seems fine to me Yan. But not that, we need to see how to fix this for Evo 3.0. I will be starting porting Anjal to 3.0 later this month I guess. Commit them to master and anjal-0-1 branch. Evo patches to just gnome-2-28. Check if these are valid for master of Evolution, if so commit there also. We can fix all of Anjal later on.
Comment 4 Yan Li 2009-11-04 03:24:54 UTC
I'm pushing it to gnome-2-28. But my patch changes API (adding a new func e_msg_composer_request_close()), is this OK for the 2-28 branch?
Comment 5 Srinivasa Ragavan 2009-11-04 11:28:15 UTC
Its ok.
Comment 6 Yan Li 2009-11-06 03:32:40 UTC
Comment on attachment 146356 [details] [review]
Patch to Evolution gnome-2-28

gnome-2-28 evolution patch committed.
Comment 7 Yan Li 2009-11-06 07:29:56 UTC
Created attachment 147080 [details] [review]
Patch for Evolution master branch

I've ported the patch to evolution master branch, please review. The major change from the patch for 2.28 is that e_msg_composer_is_exiting() (removed by 983bea9) has to be bring back, which is needed Anjal.
Comment 8 Yan Li 2009-11-06 07:31:44 UTC
Matthew, this patch has to bring back e_msg_composer_is_exiting(), which was removed in 983bea9 by you. It's still needed by Anjal.
Comment 9 Matthew Barnes 2009-11-06 08:25:59 UTC
Looks okay for the time being.
Comment 10 Yan Li 2009-11-06 08:40:24 UTC
Thank you Matthew, I'm committing it to master.
Comment 11 Yan Li 2009-11-06 08:49:07 UTC
Comment on attachment 146357 [details] [review]
Patch to Anjal

Anjal patch committed to both master and anjal-0-1.