diff --git a/ChangeLog b/ChangeLog index 3833cbc98e..9d8ecb7b77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-06-20 Carlos Garnacho + + * 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 * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 3833cbc98e..9d8ecb7b77 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2006-06-20 Carlos Garnacho + + * 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 * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 68a672ea8a..a846aa29db 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -2592,6 +2592,8 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook) if (!page) return; + priv->pressed_button = -1; + if (page->reorderable || page->detachable) { if (!priv->during_detach) @@ -2646,10 +2648,7 @@ gtk_notebook_button_release (GtkWidget *widget, if (!priv->during_detach && page->reorderable && event->button == priv->pressed_button) - { - priv->pressed_button = -1; - gtk_notebook_stop_reorder (notebook); - } + gtk_notebook_stop_reorder (notebook); if (event->button == notebook->button) { @@ -2834,7 +2833,6 @@ gtk_notebook_motion_notify (GtkWidget *widget, if (!(event->state & GDK_BUTTON1_MASK) && priv->pressed_button != -1) { - priv->pressed_button = -1; gtk_notebook_stop_reorder (notebook); stop_scrolling (notebook); } @@ -2920,8 +2918,13 @@ static void gtk_notebook_grab_notify (GtkWidget *widget, gboolean was_grabbed) { + GtkNotebook *notebook = GTK_NOTEBOOK (widget); + if (!was_grabbed) - stop_scrolling (GTK_NOTEBOOK (widget)); + { + gtk_notebook_stop_reorder (notebook); + stop_scrolling (notebook); + } } static void @@ -3073,7 +3076,6 @@ gtk_notebook_drag_end (GtkWidget *widget, { GtkNotebookPrivate *priv = GTK_NOTEBOOK_GET_PRIVATE (widget); - priv->pressed_button = -1; gtk_notebook_stop_reorder (GTK_NOTEBOOK (widget)); GTK_BIN (priv->dnd_window)->child = NULL;