unset the pressed button here. (gtk_notebook_grab_notify): stop reorder

2006-06-20  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
        button here.
        (gtk_notebook_grab_notify): stop reorder when the widget becomes
        shadowed. Fixes bug #335873
This commit is contained in:
Carlos Garnacho 2006-06-20 11:48:21 +00:00 committed by Carlos Garnacho
parent 847d09cc9f
commit 1cd8afc8ad
3 changed files with 23 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2006-06-20 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
button here.
(gtk_notebook_grab_notify): stop reorder when the widget becomes
shadowed. Fixes bug #335873
2006-06-18 Christian Persch <chpe@cvs.gnome.org> 2006-06-18 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area

View File

@ -1,3 +1,10 @@
2006-06-20 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
button here.
(gtk_notebook_grab_notify): stop reorder when the widget becomes
shadowed. Fixes bug #335873
2006-06-18 Christian Persch <chpe@cvs.gnome.org> 2006-06-18 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area

View File

@ -2592,6 +2592,8 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook)
if (!page) if (!page)
return; return;
priv->pressed_button = -1;
if (page->reorderable || page->detachable) if (page->reorderable || page->detachable)
{ {
if (!priv->during_detach) if (!priv->during_detach)
@ -2646,10 +2648,7 @@ gtk_notebook_button_release (GtkWidget *widget,
if (!priv->during_detach && if (!priv->during_detach &&
page->reorderable && page->reorderable &&
event->button == priv->pressed_button) event->button == priv->pressed_button)
{ gtk_notebook_stop_reorder (notebook);
priv->pressed_button = -1;
gtk_notebook_stop_reorder (notebook);
}
if (event->button == notebook->button) if (event->button == notebook->button)
{ {
@ -2834,7 +2833,6 @@ gtk_notebook_motion_notify (GtkWidget *widget,
if (!(event->state & GDK_BUTTON1_MASK) && if (!(event->state & GDK_BUTTON1_MASK) &&
priv->pressed_button != -1) priv->pressed_button != -1)
{ {
priv->pressed_button = -1;
gtk_notebook_stop_reorder (notebook); gtk_notebook_stop_reorder (notebook);
stop_scrolling (notebook); stop_scrolling (notebook);
} }
@ -2920,8 +2918,13 @@ static void
gtk_notebook_grab_notify (GtkWidget *widget, gtk_notebook_grab_notify (GtkWidget *widget,
gboolean was_grabbed) gboolean was_grabbed)
{ {
GtkNotebook *notebook = GTK_NOTEBOOK (widget);
if (!was_grabbed) if (!was_grabbed)
stop_scrolling (GTK_NOTEBOOK (widget)); {
gtk_notebook_stop_reorder (notebook);
stop_scrolling (notebook);
}
} }
static void static void
@ -3073,7 +3076,6 @@ gtk_notebook_drag_end (GtkWidget *widget,
{ {
GtkNotebookPrivate *priv = GTK_NOTEBOOK_GET_PRIVATE (widget); GtkNotebookPrivate *priv = GTK_NOTEBOOK_GET_PRIVATE (widget);
priv->pressed_button = -1;
gtk_notebook_stop_reorder (GTK_NOTEBOOK (widget)); gtk_notebook_stop_reorder (GTK_NOTEBOOK (widget));
GTK_BIN (priv->dnd_window)->child = NULL; GTK_BIN (priv->dnd_window)->child = NULL;