]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/engine/RowBase.java
go
[Dictionary.git] / src / com / hughes / android / dictionary / engine / RowBase.java
index 5491b4e0f9a99026446d8bac53e2db233c74a55d..7ac86d0bc9e502dd59ba840891a2822937ea5d80 100644 (file)
@@ -41,6 +41,7 @@ public abstract class RowBase extends IndexedObject {
   public TokenRow getTokenRow(final boolean search) {
     if (tokenRow == null && search) {
       int r = index() - 1;
+      int rUp = index() + 1;
       while (r >= 0) {
         final RowBase row = index.rows.get(r);
         final TokenRow candidate = row.getTokenRow(false);
@@ -50,6 +51,17 @@ public abstract class RowBase extends IndexedObject {
           }
           break;
         }
+        if (rUp < index.rows.size()) {
+          final RowBase rowUp = index.rows.get(rUp);
+          final TokenRow candidateUp = rowUp.getTokenRow(false);
+          if (candidateUp != null) {
+            for (--rUp; rUp >= index(); --rUp) {
+              index.rows.get(rUp).setTokenRow(candidateUp);
+            }
+            break;
+          }
+          rUp++;
+        }
         --r;
       }
       assert tokenRow != null;