From 31774edd4ae434f7d6c2d730511020f88d97b91b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 30 Nov 2008 06:05:23 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20554453=20=E2=80=93=20"typeahead=20find"?= =?UTF-8?q?=20widget=20of=20GtkTreeView=20appears=20on=20wrong?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2008-11-29 Matthias Clasen Bug 554453 – "typeahead find" widget of GtkTreeView appears on wrong monitor in a multi-head environment * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory): Make sure the typeahead window follows screen changes of the treeview. Noticed by Rainer Stransky svn path=/trunk/; revision=21835 --- ChangeLog | 9 +++++++++ gtk/gtktreeview.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index ebe98eff6d..2da18d3a9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-11-29 Matthias Clasen + + Bug 554453 – "typeahead find" widget of GtkTreeView appears on + wrong monitor in a multi-head environment + + * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory): + Make sure the typeahead window follows screen changes of the + treeview. Noticed by Rainer Stransky + 2008-11-30 Christian Dywan Bug 559622 – GdkDevice test segfaults diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 451500b39f..bff4ae851b 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10297,11 +10297,13 @@ static void gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view) { GtkWidget *frame, *vbox, *toplevel; + GdkScreen *screen; if (tree_view->priv->search_custom_entry_set) return; toplevel = gtk_widget_get_toplevel (GTK_WIDGET (tree_view)); + screen = gtk_widget_get_screen (tree_view); if (tree_view->priv->search_window != NULL) { @@ -10311,10 +10313,12 @@ gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view) else if (GTK_WINDOW (tree_view->priv->search_window)->group) gtk_window_group_remove_window (GTK_WINDOW (tree_view->priv->search_window)->group, GTK_WINDOW (tree_view->priv->search_window)); + gtk_window_set_screen (GTK_WINDOW (tree_view->priv->search_window), screen); return; } tree_view->priv->search_window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_window_set_screen (GTK_WINDOW (tree_view->priv->search_window), screen); if (GTK_WINDOW (toplevel)->group) gtk_window_group_add_window (GTK_WINDOW (toplevel)->group,