From 575ae579d3af110a555db7728c71c6b35fdd64c9 Mon Sep 17 00:00:00 2001 From: Manindra Moharana Date: Sun, 23 Jun 2013 22:52:11 +0530 Subject: [PATCH] Bad location exception while scrolling bug fix --- pdex/src/processing/mode/experimental/ASTNodeWrapper.java | 6 +++--- .../processing/mode/experimental/ErrorCheckerService.java | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java index 7f9779421..700c7c7d5 100644 --- a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java +++ b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java @@ -112,9 +112,9 @@ public class ASTNodeWrapper { } System.out.println("Altspos " + altStartPos); int pdeoffsets[] = getPDECodeOffsets(ecs); - String pdeCode = ecs.getPDECode(pdeoffsets[1] - 1).trim(); + String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim(); int vals[] = createOffsetMapping(pdeCode,nodeOffset - altStartPos,nodeLength); - if(vals != null) + if (vals != null) return new int[] { lineNumber, nodeOffset + vals[0] - altStartPos, vals[1] }; else @@ -337,7 +337,7 @@ public class ASTNodeWrapper { public int[][] getOffsetMapping(ErrorCheckerService ecs){ int pdeoffsets[] = getPDECodeOffsets(ecs); - String pdeCode = ecs.getPDECode(pdeoffsets[1] - 1).trim(); + String pdeCode = ecs.getPDECodeAtLine(pdeoffsets[0],pdeoffsets[1] - 1).trim(); return getOffsetMapping(pdeCode); } diff --git a/pdex/src/processing/mode/experimental/ErrorCheckerService.java b/pdex/src/processing/mode/experimental/ErrorCheckerService.java index 5f90a2bea..949f0eba6 100644 --- a/pdex/src/processing/mode/experimental/ErrorCheckerService.java +++ b/pdex/src/processing/mode/experimental/ErrorCheckerService.java @@ -810,7 +810,8 @@ public class ErrorCheckerService implements Runnable{ return new int[] { codeIndex, x }; } - public String getPDECode(int linenumber){ + public String getPDECodeAtLine(int tab, int linenumber){ + editor.getSketch().setCurrentCode(tab); return editor.ta.getLineText(linenumber); }