X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-msg-edit-window.c;h=1a1c242b04d135a136100e820c4974753550570b;hp=d0df0ea41a3c044deb641ef18c6497f0667ed25b;hb=e6e3a7f147bca7c03f0cc4964b6ad141049bb1d5;hpb=1f6375ad6e5dd08dac82311056e01bfe434bac9b diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index d0df0ea..1a1c242 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -546,6 +546,11 @@ modest_msg_edit_window_finalize (GObject *obj) } if (priv->draft_msg != NULL) { + TnyHeader *header = tny_msg_get_header (priv->draft_msg); + if (TNY_IS_HEADER (header)) { + ModestWindowMgr *mgr = modest_runtime_get_window_mgr (); + modest_window_mgr_unregister_header (mgr, header); + } g_object_unref (priv->draft_msg); priv->draft_msg = NULL; } @@ -3016,3 +3021,33 @@ modest_msg_edit_window_set_sent (ModestMsgEditWindow *window, } +void +modest_msg_edit_window_set_draft (ModestMsgEditWindow *window, + TnyMsg *draft) +{ + ModestMsgEditWindowPrivate *priv; + TnyHeader *header = NULL; + + g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window)); + g_return_if_fail ((draft == NULL)||(TNY_IS_MSG (draft))); + + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); + ModestWindowMgr *mgr = modest_runtime_get_window_mgr (); + + if (priv->draft_msg != NULL) { + header = tny_msg_get_header (priv->draft_msg); + if (TNY_IS_HEADER (header)) { + modest_window_mgr_unregister_header (mgr, header); + } + g_object_unref (priv->draft_msg); + } + + if (draft != NULL) { + g_object_ref (draft); + header = tny_msg_get_header (draft); + if (TNY_IS_HEADER (header)) + modest_window_mgr_register_header (mgr, header); + } + + priv->draft_msg = draft; +}