diff options
Diffstat (limited to 'composer')
-rw-r--r-- | composer/ChangeLog | 7 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 23 |
2 files changed, 17 insertions, 13 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 2052a76666..8d7517011b 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,10 @@ +2002-04-08 Jeffrey Stedfast <fejj@ximian.com> + + * e-msg-composer.c (set_editor_text): No need to query for the + persist-stream interface here, just re-use + composer->persist_stream_interface - this might improve the speed + at which a reply action brings up the composer. + 2002-04-09 Not Zed <NotZed@Ximian.com> * e-msg-composer-hdrs.c (set_recipients_from_destv): Use decode diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index d269e705ff..9aad5b863f 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -882,28 +882,25 @@ set_editor_text (EMsgComposer *composer, const char *text) BonoboWidget *editor; CORBA_Environment ev; + g_return_if_fail (composer->persist_stream_interface != CORBA_OBJECT_NIL); + + persist = composer->persist_stream_interface; + editor = BONOBO_WIDGET (composer->editor); CORBA_exception_init (&ev); - persist = (Bonobo_PersistStream) bonobo_object_client_query_interface ( - bonobo_widget_get_server (editor), "IDL:Bonobo/PersistStream:1.0", &ev); - - g_return_if_fail (persist != CORBA_OBJECT_NIL); - stream = bonobo_stream_mem_create (text, strlen (text), - TRUE, FALSE); + stream = bonobo_stream_mem_create (text, strlen (text), TRUE, FALSE); Bonobo_PersistStream_load (persist, (Bonobo_Stream)bonobo_object_corba_objref (BONOBO_OBJECT (stream)), "text/html", &ev); if (ev._major != CORBA_NO_EXCEPTION) { /* FIXME. Some error message. */ return; } - if (ev._major != CORBA_SYSTEM_EXCEPTION) - CORBA_Object_release (persist, &ev); - Bonobo_Unknown_unref (persist, &ev); CORBA_exception_free (&ev); - bonobo_object_unref (BONOBO_OBJECT(stream)); + + bonobo_object_unref (BONOBO_OBJECT (stream)); } static void @@ -2736,7 +2733,7 @@ create_composer (void) gtk_widget_show (composer->editor); e_msg_composer_show_attachments (composer, FALSE); - + prepare_engine (composer); if (composer->editor_engine == CORBA_OBJECT_NIL) { e_activation_failure_dialog (GTK_WINDOW (composer), @@ -2749,12 +2746,12 @@ create_composer (void) } gtk_signal_connect (GTK_OBJECT (composer), "map", map_default_cb, NULL); - + if (am == NULL) { am = autosave_manager_new (); } autosave_manager_register (am, composer); - + return composer; } |