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;