summaryrefslogtreecommitdiff
path: root/gtk/gtkcellareabox.c
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2010-12-09 18:29:36 +0900
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2010-12-12 20:40:34 +0900
commit1c8093b65e53d6d42dde500cfcd64f334cef9c63 (patch)
tree08675ee0e60a81cb9b1034c71a2a3c86cf220a65 /gtk/gtkcellareabox.c
parent89b3700b78f94d5a877d435bccfd9f5b449d7a4b (diff)
downloadgtk+-1c8093b65e53d6d42dde500cfcd64f334cef9c63.tar.gz
Fixed some glitches in GtkCellAreaBox keynav from my last commit.
Diffstat (limited to 'gtk/gtkcellareabox.c')
-rw-r--r--gtk/gtkcellareabox.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c
index 8199fcc7e1..286c67096d 100644
--- a/gtk/gtkcellareabox.c
+++ b/gtk/gtkcellareabox.c
@@ -1779,25 +1779,25 @@ gtk_cell_area_box_focus (GtkCellArea *area,
cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV;
break;
case GTK_DIR_UP:
- if (priv->orientation == GTK_ORIENTATION_VERTICAL)
+ if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell)
cycle = FOCUS_PREV;
else if (!focus_cell)
cycle = FOCUS_LAST_CELL;
break;
case GTK_DIR_DOWN:
- if (priv->orientation == GTK_ORIENTATION_VERTICAL)
- cycle = FOCUS_PREV;
+ if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell)
+ cycle = FOCUS_NEXT;
else if (!focus_cell)
cycle = FOCUS_LAST_CELL;
break;
case GTK_DIR_LEFT:
- if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
+ if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell)
cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV;
else if (!focus_cell)
cycle = FOCUS_LAST_CELL;
break;
case GTK_DIR_RIGHT:
- if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
+ if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell)
cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT;
else if (!focus_cell)
cycle = FOCUS_LAST_CELL;