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