do not move cursor to start of inner element before moving further up
Signed-off-by: Florian Thienel <florian@thienel.org>
diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/cursor/MoveUp.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/cursor/MoveUp.java
index ab1ff17..fd77da9 100644
--- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/cursor/MoveUp.java
+++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/cursor/MoveUp.java
@@ -148,7 +148,22 @@
final IContentBox childAbove = findClosestContentBoxChildAbove(parent, x, y);
if (childAbove == null) {
- return parent;
+ return parent.accept(new BaseBoxVisitorWithResult<IContentBox>() {
+ @Override
+ public IContentBox visit(final StructuralNodeReference box) {
+ return parent;
+ }
+
+ @Override
+ public IContentBox visit(final InlineNodeReference box) {
+ return findNextContentBoxAbove(parent, x, y);
+ }
+
+ @Override
+ public IContentBox visit(final TextContent box) {
+ return findNextContentBoxAbove(parent, x, y);
+ }
+ });
}
return childAbove;