handle no-window and regular widgets seperately.

2007-07-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktooltip.c (find_topmost_widget_coords_from_event): handle
	no-window and regular widgets seperately.

	* gtk/gtktreeview.c (gkt_tree_view_set_tooltip_cell): rect.x should
	be zero.


svn path=/trunk/; revision=18502
This commit is contained in:
Kristian Rietveld 2007-07-19 15:03:18 +00:00 committed by Kristian Rietveld
parent 7b2e82f5d0
commit 9719e5fb3c
3 changed files with 26 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2007-07-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtktooltip.c (find_topmost_widget_coords_from_event): handle
no-window and regular widgets seperately.
* gtk/gtktreeview.c (gkt_tree_view_set_tooltip_cell): rect.x should
be zero.
2007-07-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:

View File

@ -593,12 +593,25 @@ find_topmost_widget_coords_from_event (GdkEvent *event,
tmp = find_widget_under_pointer (event->any.window, &tx, &ty);
/* Make sure the pointer can actually be on the widget returned */
if (!tmp ||
tx < 0 || tx >= tmp->allocation.width ||
ty < 0 || ty >= tmp->allocation.height)
if (!tmp)
return NULL;
/* Make sure the pointer can actually be on the widget returned */
if (GTK_WIDGET_NO_WINDOW (tmp))
{
if (tx < tmp->allocation.x ||
tx >= tmp->allocation.x + tmp->allocation.width ||
ty < tmp->allocation.y ||
ty >= tmp->allocation.y + tmp->allocation.height)
return NULL;
}
else
{
if (tx < 0 || tx >= tmp->allocation.width ||
ty < 0 || ty >= tmp->allocation.height)
return NULL;
}
if (x)
*x = tx;
if (y)

View File

@ -15274,7 +15274,7 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view,
}
else
{
rect.x = GTK_WIDGET (tree_view)->allocation.x;
rect.x = 0;
rect.width = GTK_WIDGET (tree_view)->allocation.width;
}