From 38d6008229e44b6f1f6a3acd8c954dc6220cbee1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 6 Apr 2005 16:46:18 +0000 Subject: [PATCH] Avoid a few unnecessary calls to gdk_window_get_pointer(). (#168015, Billy 2005-04-06 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column) (gtk_tree_view_bin_expose): Avoid a few unnecessary calls to gdk_window_get_pointer(). (#168015, Billy Biggs) --- ChangeLog | 4 ++++ ChangeLog.pre-2-10 | 4 ++++ ChangeLog.pre-2-8 | 4 ++++ gtk/gtktreeview.c | 21 ++++++++++++--------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4a4335a0ec..c45a401c56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-04-06 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column) + (gtk_tree_view_bin_expose): Avoid a few unnecessary calls + to gdk_window_get_pointer(). (#168015, Billy Biggs) + * gtk/gtkwindow.c (gtk_window_set_keep_below): Fix the EWMH link, noticed by Kristof Vansant. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4a4335a0ec..c45a401c56 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,9 @@ 2005-04-06 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column) + (gtk_tree_view_bin_expose): Avoid a few unnecessary calls + to gdk_window_get_pointer(). (#168015, Billy Biggs) + * gtk/gtkwindow.c (gtk_window_set_keep_below): Fix the EWMH link, noticed by Kristof Vansant. diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4a4335a0ec..c45a401c56 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,9 @@ 2005-04-06 Matthias Clasen + * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column) + (gtk_tree_view_bin_expose): Avoid a few unnecessary calls + to gdk_window_get_pointer(). (#168015, Billy Biggs) + * gtk/gtkwindow.c (gtk_window_set_keep_below): Fix the EWMH link, noticed by Kristof Vansant. diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 77428d8ff8..56f267e2a3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2591,15 +2591,12 @@ gtk_tree_view_button_release_column_resize (GtkWidget *widget, { GtkTreeView *tree_view; gpointer drag_data; - gint x; - gint i; tree_view = GTK_TREE_VIEW (widget); - i = tree_view->priv->drag_pos; tree_view->priv->drag_pos = -1; - /* unblock attached dnd signal handler */ + /* unblock attached dnd signal handler */ drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data"); if (drag_data) g_signal_handlers_unblock_matched (widget, @@ -2608,7 +2605,6 @@ gtk_tree_view_button_release_column_resize (GtkWidget *widget, drag_data); GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE); - gtk_widget_get_pointer (widget, &x, NULL); gtk_grab_remove (widget); gdk_display_pointer_ungrab (gdk_drawable_get_display (event->window), event->time); @@ -3443,6 +3439,8 @@ gtk_tree_view_bin_expose (GtkWidget *widget, gboolean has_special_cell; gboolean rtl; gint n_visible_columns; + gint pointer_x, pointer_y; + gboolean got_pointer = FALSE; g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE); @@ -3704,12 +3702,17 @@ gtk_tree_view_bin_expose (GtkWidget *widget, flags); if ((node->flags & GTK_RBNODE_IS_PARENT) == GTK_RBNODE_IS_PARENT) { - gint x, y; - gdk_window_get_pointer (tree_view->priv->bin_window, &x, &y, NULL); + if (!got_pointer) + { + gdk_window_get_pointer (tree_view->priv->bin_window, + &pointer_x, &pointer_y, NULL); + got_pointer = TRUE; + } + gtk_tree_view_draw_arrow (GTK_TREE_VIEW (widget), - tree, + tree, node, - x, y); + pointer_x, pointer_y); } } else