diff options
author | Kristian Rietveld <kris@imendio.com> | 2006-07-18 12:33:25 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2006-07-18 12:33:25 +0000 |
commit | 61f4d77d55fa871e6e1044c9a9ea0ab6401cc3a9 (patch) | |
tree | dcd5d2e4776b530c2b0e666277ad2913b4c3b625 | |
parent | 6ca1b1e68570c903330d47f869d623db3d2eca21 (diff) | |
download | gtk+-61f4d77d55fa871e6e1044c9a9ea0ab6401cc3a9.tar.gz |
Another fix for #164884.
2006-07-18 Kristian Rietveld <kris@imendio.com>
Another fix for #164884.
* gtk/gtktreeprivate.h: add in_grab field.
* gtk/gtktreeview.c (gtk_tree_view_button_press): only save press
to possibly begin a drag when there's no grab pending,
(gtk_tree_view_grab_notify): toggle in_grab field.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 10 | ||||
-rw-r--r-- | gtk/gtktreeprivate.h | 2 | ||||
-rw-r--r-- | gtk/gtktreeview.c | 3 |
4 files changed, 25 insertions, 0 deletions
@@ -1,5 +1,15 @@ 2006-07-18 Kristian Rietveld <kris@imendio.com> + Another fix for #164884. + + * gtk/gtktreeprivate.h: add in_grab field. + + * gtk/gtktreeview.c (gtk_tree_view_button_press): only save press + to possibly begin a drag when there's no grab pending, + (gtk_tree_view_grab_notify): toggle in_grab field. + +2006-07-18 Kristian Rietveld <kris@imendio.com> + * gtk/gtktreeview.c (gtk_tree_view_realize): use MAX priv->width, alloc.width when allocating the bin_window, (gtk_tree_view_bin_expose): don't overrun bin_window when drawing diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 84059dcfe6..757c7e6063 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,15 @@ 2006-07-18 Kristian Rietveld <kris@imendio.com> + Another fix for #164884. + + * gtk/gtktreeprivate.h: add in_grab field. + + * gtk/gtktreeview.c (gtk_tree_view_button_press): only save press + to possibly begin a drag when there's no grab pending, + (gtk_tree_view_grab_notify): toggle in_grab field. + +2006-07-18 Kristian Rietveld <kris@imendio.com> + * gtk/gtktreeview.c (gtk_tree_view_realize): use MAX priv->width, alloc.width when allocating the bin_window, (gtk_tree_view_bin_expose): don't overrun bin_window when drawing diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 9e7b591c03..0d3b3e0a61 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -231,6 +231,8 @@ struct _GtkTreeViewPrivate guint rubber_banding_enable : 1; + guint in_grab : 1; + /* Auto expand/collapse timeout in hover mode */ guint auto_expand_timeout; diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index ff278f487f..733a3cf79c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2613,6 +2613,7 @@ gtk_tree_view_button_press (GtkWidget *widget, /* Save press to possibly begin a drag */ if (!column_handled_click && + !tree_view->priv->in_grab && tree_view->priv->pressed_button < 0) { tree_view->priv->pressed_button = event->button; @@ -14513,6 +14514,8 @@ gtk_tree_view_grab_notify (GtkWidget *widget, { GtkTreeView *tree_view = GTK_TREE_VIEW (widget); + tree_view->priv->in_grab = !was_grabbed; + if (!was_grabbed) tree_view->priv->pressed_button = -1; } |