summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Natterer <mitch@imendio.com>2006-10-30 13:39:34 +0000
committerMichael Natterer <mitch@src.gnome.org>2006-10-30 13:39:34 +0000
commita94e212d01db61a7021fc5c2abd0c02c8bd20bcb (patch)
tree933263cd7959a80ea270512e7bc827eacc3b6795
parentb863dba5ed5eaca3f9fa6750a3b23df370c51639 (diff)
downloadgtk+-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--ChangeLog5
-rw-r--r--gtk/gtkrange.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index ec505667e6..7d99237ca6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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