Stop the drag if the grab is broken.

2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
	the grab is broken.
This commit is contained in:
Matthias Clasen 2005-06-26 06:39:19 +00:00 committed by Matthias Clasen
parent d45263d5fa
commit 5fb7f69dd8
4 changed files with 26 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2005-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
the grab is broken.
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't do
explicitly ungrab pointer and keyboard. We're unmapping
the grab window anyway.

View File

@ -1,5 +1,8 @@
2005-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
the grab is broken.
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't do
explicitly ungrab pointer and keyboard. We're unmapping
the grab window anyway.

View File

@ -1,5 +1,8 @@
2005-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
the grab is broken.
* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't do
explicitly ungrab pointer and keyboard. We're unmapping
the grab window anyway.

View File

@ -106,6 +106,8 @@ static gint gtk_hsv_motion (GtkWidget *widget,
GdkEventMotion *event);
static gint gtk_hsv_expose (GtkWidget *widget,
GdkEventExpose *event);
static gboolean gtk_hsv_grab_broken (GtkWidget *widget,
GdkEventGrabBroken *event);
static gboolean gtk_hsv_focus (GtkWidget *widget,
GtkDirectionType direction);
static void gtk_hsv_move (GtkHSV *hsv,
@ -177,6 +179,7 @@ gtk_hsv_class_init (GtkHSVClass *class)
widget_class->motion_notify_event = gtk_hsv_motion;
widget_class->expose_event = gtk_hsv_expose;
widget_class->focus = gtk_hsv_focus;
widget_class->grab_broken_event = gtk_hsv_grab_broken;
hsv_class->move = gtk_hsv_move;
@ -773,6 +776,20 @@ set_cross_grab (GtkHSV *hsv,
gdk_cursor_unref (cursor);
}
static gboolean
gtk_hsv_grab_broken (GtkWidget *widget,
GdkEventGrabBroken *event)
{
GtkHSV *hsv = GTK_HSV (widget);
HSVPrivate *priv;
priv = hsv->priv;
priv->mode = DRAG_NONE;
return TRUE;
}
/* Button_press_event handler for the HSV color selector */
static gint
gtk_hsv_button_press (GtkWidget *widget,