Instead of doing this with a weakref, do it by connecting to the destroy

2002-07-16  Peter Williams  <peterw@ximian.com>

	* e-msg-composer.c (create_composer): Instead of doing this with a
	weakref, do it by connecting to the destroy signal. The weakref was
	not getting notified in certain conditions that I could never really
	pin down, and this caused problems at exit.

	* e-msg-composer-hdrs.c (create_headers): Reorder to create reply_to
	before from, because create_from_optionmenu causes from_changed to
	be called, which expects reply_to.entry to exist.

svn path=/trunk/; revision=17480
This commit is contained in:
Peter Williams
2002-07-16 20:05:02 +00:00
committed by Peter Williams
parent 9f421a0b1c
commit bc20187dc0
3 changed files with 24 additions and 9 deletions

View File

@ -1,3 +1,14 @@
2002-07-16 Peter Williams <peterw@ximian.com>
* e-msg-composer.c (create_composer): Instead of doing this with a
weakref, do it by connecting to the destroy signal. The weakref was
not getting notified in certain conditions that I could never really
pin down, and this caused problems at exit.
* e-msg-composer-hdrs.c (create_headers): Reorder to create reply_to
before from, because create_from_optionmenu causes from_changed to
be called, which expects reply_to.entry to exist.
2002-07-15 Radek Doulik <rodo@ximian.com>
* e-msg-composer.c (build_message): added save_html_object_data

View File

@ -364,14 +364,12 @@ create_headers (EMsgComposerHdrs *hdrs)
{
EMsgComposerHdrsPrivate *priv = hdrs->priv;
/*
* From:
*/
priv->from.label = gtk_label_new (_("From:"));
priv->from.entry = create_from_optionmenu (hdrs);
/*
* Reply-To:
*
* Create this before we call create_from_optionmenu,
* because that causes from_changed to be called, which
* expects the reply_to fields to be initialized.
*/
priv->reply_to.label = gtk_label_new (_("Reply-To:"));
priv->reply_to.entry = e_entry_new ();
@ -381,6 +379,12 @@ create_headers (EMsgComposerHdrs *hdrs)
"allow_newlines", FALSE,
NULL);
/*
* From:
*/
priv->from.label = gtk_label_new (_("From:"));
priv->from.entry = create_from_optionmenu (hdrs);
/*
* Subject:
*/

View File

@ -2695,9 +2695,9 @@ create_composer (void)
all_composers = g_slist_prepend (all_composers, composer);
gtk_object_weakref (GTK_OBJECT (composer),
msg_composer_destroy_notify,
composer);
gtk_signal_connect (GTK_OBJECT (composer), "destroy",
GTK_SIGNAL_FUNC (msg_composer_destroy_notify),
NULL);
gtk_window_set_default_size (GTK_WINDOW (composer),
DEFAULT_WIDTH, DEFAULT_HEIGHT);