diff src/org/tn5250j/framework/tn5250/Screen5250.java @ 186:61a90cb1938d

setfield positions the cursor properly as if the characters were typed
author Carl Byington <carl@five-ten-sg.com>
date Wed, 02 Jul 2014 15:03:06 -0700
parents c51bcf9f0516
children 81f9ba83c0e9
line wrap: on
line diff
--- a/src/org/tn5250j/framework/tn5250/Screen5250.java	Wed Jul 02 14:46:16 2014 -0700
+++ b/src/org/tn5250j/framework/tn5250/Screen5250.java	Wed Jul 02 15:03:06 2014 -0700
@@ -2661,9 +2661,15 @@
 
         if (l >= 0) {
             int position = l * numCols + c;
-            isInField(position, true);
-            cf = screenFields.getCurrentField();
-            lastPos = cf.getStartPos();
+            if (!isInField(position, true)) {
+                gotoFieldNext();
+                isInField();
+                cf = screenFields.getCurrentField();
+                lastPos = cf.getStartPos();
+            }
+            else {
+                lastPos = position;
+            }
             setDirty(lastPos);
             fireCursorChanged();
         }