aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2002-11-18 19:19:30 +0800
committerMichael Zucci <zucchi@src.gnome.org>2002-11-18 19:19:30 +0800
commitdbcfcb84f39fa67899eb9b8291e0c1f02aca3115 (patch)
treee6eb96ef3f09beb76c01356d6fda6ed47412d713
parent608dc6cd2ced6625b98c7245ec8f52084d257f8a (diff)
downloadgsoc2013-evolution-dbcfcb84f39fa67899eb9b8291e0c1f02aca3115.tar.gz
gsoc2013-evolution-dbcfcb84f39fa67899eb9b8291e0c1f02aca3115.tar.zst
gsoc2013-evolution-dbcfcb84f39fa67899eb9b8291e0c1f02aca3115.zip
Remove check for gtk_main_level(). as far as i can tell it serves no real
2002-11-18 Not Zed <NotZed@Ximian.com> * e-msg-composer.c (create_composer): Remove check for gtk_main_level(). as far as i can tell it serves no real purpose, and i think gtkmain is now redundant. (e_msg_composer_new_with_message): Same here. (destroy): moved some stuff into finalise, and made destroy mulitcall safe. svn path=/trunk/; revision=18819
-rw-r--r--composer/ChangeLog9
-rw-r--r--composer/e-msg-composer.c80
2 files changed, 53 insertions, 36 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog
index 467775cffe..a05743485f 100644
--- a/composer/ChangeLog
+++ b/composer/ChangeLog
@@ -1,3 +1,12 @@
+2002-11-18 Not Zed <NotZed@Ximian.com>
+
+ * e-msg-composer.c (create_composer): Remove check for
+ gtk_main_level(). as far as i can tell it serves no real purpose,
+ and i think gtkmain is now redundant.
+ (e_msg_composer_new_with_message): Same here.
+ (destroy): moved some stuff into finalise, and made destroy
+ mulitcall safe.
+
2002-11-13 Ettore Perazzoli <ettore@ximian.com>
* listener.h: Removed {BEGIN,END}_GNOME_DECLS.
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 22cc845e4b..17dd1fb466 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2314,6 +2314,34 @@ from_changed_cb (EMsgComposerHdrs *hdrs, void *data)
static void
composer_finalise (GObject *object)
{
+ EMsgComposer *composer;
+
+ composer = E_MSG_COMPOSER (object);
+
+ mail_config_signature_unregister_client ((MailConfigSignatureClient) sig_event_client, composer);
+
+ if (composer->extra_hdr_names) {
+ int i;
+
+ for (i = 0; i < composer->extra_hdr_names->len; i++) {
+ g_free (composer->extra_hdr_names->pdata[i]);
+ g_free (composer->extra_hdr_values->pdata[i]);
+ }
+ g_ptr_array_free (composer->extra_hdr_names, TRUE);
+ g_ptr_array_free (composer->extra_hdr_values, TRUE);
+ }
+
+ e_msg_composer_clear_inlined_table (composer);
+ g_hash_table_destroy (composer->inline_images);
+ g_hash_table_destroy (composer->inline_images_by_url);
+
+ g_free (composer->charset);
+ g_free (composer->mime_type);
+ g_free (composer->mime_body);
+
+ if (composer->redirect)
+ camel_object_unref (CAMEL_OBJECT (composer->redirect));
+
/* When destroy() is called, the contents of the window
* (including the remote editor control) will already have
* been destroyed, so we have to do this here.
@@ -2330,72 +2358,56 @@ destroy (GtkObject *object)
CORBA_Environment ev;
composer = E_MSG_COMPOSER (object);
-
- mail_config_signature_unregister_client ((MailConfigSignatureClient) sig_event_client, composer);
-
+
CORBA_exception_init (&ev);
if (composer->config_db) {
Bonobo_ConfigDatabase_sync (composer->config_db, &ev);
bonobo_object_release_unref (composer->config_db, NULL);
+ composer->config_db = NULL;
}
- composer->config_db = NULL;
- if (composer->uic)
+ if (composer->uic) {
bonobo_object_unref (BONOBO_OBJECT (composer->uic));
- composer->uic = NULL;
+ composer->uic = NULL;
+ }
/* FIXME? I assume the Bonobo widget will get destroyed
normally? */
- if (composer->address_dialog != NULL)
+ if (composer->address_dialog != NULL) {
gtk_widget_destroy (composer->address_dialog);
- if (composer->hdrs != NULL)
+ composer->address_dialog = NULL;
+ }
+ if (composer->hdrs != NULL) {
gtk_widget_destroy (composer->hdrs);
-
- if (composer->extra_hdr_names) {
- int i;
-
- for (i = 0; i < composer->extra_hdr_names->len; i++) {
- g_free (composer->extra_hdr_names->pdata[i]);
- g_free (composer->extra_hdr_values->pdata[i]);
- }
- g_ptr_array_free (composer->extra_hdr_names, TRUE);
- g_ptr_array_free (composer->extra_hdr_values, TRUE);
+ composer->hdrs = NULL;
}
- e_msg_composer_clear_inlined_table (composer);
- g_hash_table_destroy (composer->inline_images);
- g_hash_table_destroy (composer->inline_images_by_url);
-
- g_free (composer->charset);
- g_free (composer->mime_type);
- g_free (composer->mime_body);
-
- CORBA_exception_init (&ev);
-
if (composer->persist_stream_interface != CORBA_OBJECT_NIL) {
Bonobo_Unknown_unref (composer->persist_stream_interface, &ev);
CORBA_Object_release (composer->persist_stream_interface, &ev);
+ composer->persist_stream_interface = CORBA_OBJECT_NIL;
}
if (composer->persist_file_interface != CORBA_OBJECT_NIL) {
Bonobo_Unknown_unref (composer->persist_file_interface, &ev);
CORBA_Object_release (composer->persist_file_interface, &ev);
+ composer->persist_file_interface = CORBA_OBJECT_NIL;
}
if (composer->editor_engine != CORBA_OBJECT_NIL) {
Bonobo_Unknown_unref (composer->editor_engine, &ev);
CORBA_Object_release (composer->editor_engine, &ev);
+ composer->editor_engine = CORBA_OBJECT_NIL;
}
CORBA_exception_free (&ev);
- if (composer->redirect)
- camel_object_unref (CAMEL_OBJECT (composer->redirect));
-
- if (composer->editor_listener)
+ if (composer->editor_listener) {
bonobo_object_unref (composer->editor_listener);
+ composer->editor_listener = NULL;
+ }
if (GTK_OBJECT_CLASS (parent_class)->destroy != NULL)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
@@ -2761,8 +2773,6 @@ create_composer (int visible_mask)
CORBA_Environment ev;
int vis;
- g_return_val_if_fail (gtk_main_level () > 0, NULL);
-
#warning " does win_name need qualifying? "
composer = g_object_new (E_TYPE_MSG_COMPOSER, "win_name", _("Compose a message"), NULL);
@@ -3385,8 +3395,6 @@ e_msg_composer_new_with_message (CamelMimeMessage *message)
XEvolution *xev;
int len, i;
- g_return_val_if_fail (gtk_main_level () > 0, NULL);
-
postto = camel_medium_get_header (CAMEL_MEDIUM (message), "X-Evolution-PostTo");
new = create_composer (postto ? E_MSG_COMPOSER_VISIBLE_MASK_POST : E_MSG_COMPOSER_VISIBLE_MASK_MAIL);