From 1c8093b65e53d6d42dde500cfcd64f334cef9c63 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 18:29:36 +0900 Subject: [PATCH] Fixed some glitches in GtkCellAreaBox keynav from my last commit. --- gtk/gtkcellareabox.c | 10 +++++----- 1 file 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;