Merged from stable.

Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
	grab separate, the user might clear the tree in the focus-in
	callback. (Fixes #113086, testcase from Felipe Heidrich).
This commit is contained in:
Kristian Rietveld 2003-05-29 16:28:42 +00:00 committed by Kristian Rietveld
parent d718b97350
commit 763672696a
6 changed files with 52 additions and 4 deletions

View File

@ -1,3 +1,11 @@
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes #113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org> Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable. Merged from stable.

View File

@ -1,3 +1,11 @@
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes #113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org> Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable. Merged from stable.

View File

@ -1,3 +1,11 @@
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes #113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org> Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable. Merged from stable.

View File

@ -1,3 +1,11 @@
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes #113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org> Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable. Merged from stable.

View File

@ -1,3 +1,11 @@
Thu May 29 18:23:01 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
grab separate, the user might clear the tree in the focus-in
callback. (Fixes #113086, testcase from Felipe Heidrich).
Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org> Thu May 29 18:06:26 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable. Merged from stable.

View File

@ -1897,6 +1897,18 @@ gtk_tree_view_button_press (GtkWidget *widget,
"horizontal_separator", &horizontal_separator, "horizontal_separator", &horizontal_separator,
NULL); NULL);
/* put this separate, because the user might remove the latest
* treeview node in the focus-in-event callback. If so, the code
* flow won't enter the second if.
*/
if (event->window == tree_view->priv->bin_window &&
tree_view->priv->tree != NULL)
{
if (!GTK_WIDGET_HAS_FOCUS (widget))
gtk_widget_grab_focus (widget);
GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
}
if (event->window == tree_view->priv->bin_window && if (event->window == tree_view->priv->bin_window &&
tree_view->priv->tree != NULL) tree_view->priv->tree != NULL)
{ {
@ -1915,10 +1927,6 @@ gtk_tree_view_button_press (GtkWidget *widget,
gboolean emit_row_activated = FALSE; gboolean emit_row_activated = FALSE;
gboolean rtl; gboolean rtl;
if (!GTK_WIDGET_HAS_FOCUS (widget))
gtk_widget_grab_focus (widget);
GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
/* are we in an arrow? */ /* are we in an arrow? */
if (tree_view->priv->prelight_node && if (tree_view->priv->prelight_node &&
GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT)) GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT))