aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--composer/ChangeLog6
-rw-r--r--composer/e-msg-composer.c13
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. */
}