From a94e212d01db61a7021fc5c2abd0c02c8bd20bcb Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 30 Oct 2006 13:39:34 +0000 Subject: [PATCH] consume the Escape key only if we actually cancel a drag. Fixes bug 2006-10-30 Michael Natterer * gtk/gtkrange.c (gtk_range_key_press): consume the Escape key only if we actually cancel a drag. Fixes bug #58389. --- ChangeLog | 5 +++++ gtk/gtkrange.c | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index ec505667e..7d99237ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-10-30 Michael Natterer + + * gtk/gtkrange.c (gtk_range_key_press): consume the Escape key + only if we actually cancel a drag. Fixes bug #58389. + 2006-10-30 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_class_init): change left/right diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 231124175..ec88c7409 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -1541,20 +1541,21 @@ static gboolean gtk_range_key_press (GtkWidget *widget, GdkEventKey *event) { - GtkRange *range = (GtkRange *)widget; + GtkRange *range = GTK_RANGE (widget); - if (event->keyval == GDK_Escape) + if (event->keyval == GDK_Escape && + range->layout->grab_location != MOUSE_OUTSIDE) { stop_scrolling (range); - update_slider_position (range, + update_slider_position (range, range->slide_initial_coordinate, range->slide_initial_coordinate); return TRUE; } - else - return GTK_WIDGET_CLASS (gtk_range_parent_class)->key_press_event (widget, event); + + return GTK_WIDGET_CLASS (gtk_range_parent_class)->key_press_event (widget, event); } static gint