Added special clause to GtkCellAreaBox focus navigation.

If the area has no activatable cells and has focus when
focus should be cycled, immediately focus out of the area
(because focus in that case is given to the entire area).
This commit is contained in:
Tristan Van Berkom 2010-12-01 15:18:40 +09:00
parent b39521dcf7
commit 26ac551b74

View File

@ -1826,6 +1826,16 @@ gtk_cell_area_box_focus (GtkCellArea *area,
focus_cell = gtk_cell_area_get_focus_cell (area);
/* Special case, when there is no activatable cell, focus
* is painted around the entire area... in this case we
* let focus leave the area directly.
*/
if (focus_cell && !gtk_cell_area_is_activatable (area))
{
gtk_cell_area_set_focus_cell (area, NULL);
return FALSE;
}
switch (direction)
{
case GTK_DIR_TAB_FORWARD: