diff options
Diffstat (limited to 'composer')
-rw-r--r-- | composer/ChangeLog | 6 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 13 |
2 files changed, 10 insertions, 9 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 66ed6aa845..57451818fa 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,9 @@ +2002-09-05 Ettore Perazzoli <ettore@ximian.com> + + * e-msg-composer.c (composer_key_pressed): Don't chain the event + handler here -- that's just wrong! Also stop emission of the + signal when we catch Escape. + 2002-09-04 Jeffrey Stedfast <fejj@ximian.com> * e-msg-composer.c (create_composer): Make it so that the composer diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index b989aa8e1b..53de237e4b 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -2736,16 +2736,11 @@ composer_key_pressed (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { if (event->keyval == GDK_Escape) { do_exit (E_MSG_COMPOSER (widget)); - - return TRUE; /* Stop the event? is this TRUE or FALSE? */ + + gtk_signal_emit_stop_by_name (GTK_OBJECT (widget), "key-press-event"); + return TRUE; /* Handled. */ } - - /* Have to call parent's handler, or the widget wouldn't get any - key press events. Note that this is NOT done if the dialog - may have been destroyed. */ - if (GTK_WIDGET_CLASS (parent_class)->key_press_event) - return (* (GTK_WIDGET_CLASS (parent_class)->key_press_event)) (widget, event); - + return FALSE; /* Not handled. */ } |