diff options
author | Michael Natterer <mitch@imendio.com> | 2006-10-30 13:39:34 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2006-10-30 13:39:34 +0000 |
commit | a94e212d01db61a7021fc5c2abd0c02c8bd20bcb (patch) | |
tree | 933263cd7959a80ea270512e7bc827eacc3b6795 | |
parent | b863dba5ed5eaca3f9fa6750a3b23df370c51639 (diff) | |
download | gtk+-a94e212d01db61a7021fc5c2abd0c02c8bd20bcb.tar.gz |
consume the Escape key only if we actually cancel a drag. Fixes bug
2006-10-30 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c (gtk_range_key_press): consume the Escape key
only if we actually cancel a drag. Fixes bug #58389.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gtk/gtkrange.c | 11 |
2 files changed, 11 insertions, 5 deletions
@@ -1,3 +1,8 @@ +2006-10-30 Michael Natterer <mitch@imendio.com> + + * 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 <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_class_init): change left/right diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 2311241752..ec88c7409f 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 |