X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fcom%2Fgooglecode%2Flanterna%2Fgui2%2FInteractableLookupMap.java;h=a200a302f40f6f51fbdd7953f0a8e48086794387;hb=d66e24cca3ce3d2dc683358b4bcc99593900e77f;hp=36d285ee56eb7c004191875b0adaa95f29979ec8;hpb=a3b510ab4bf89a7a2a05f3851ffe0f030b8a78f4;p=jvcard.git diff --git a/src/com/googlecode/lanterna/gui2/InteractableLookupMap.java b/src/com/googlecode/lanterna/gui2/InteractableLookupMap.java index 36d285e..a200a30 100644 --- a/src/com/googlecode/lanterna/gui2/InteractableLookupMap.java +++ b/src/com/googlecode/lanterna/gui2/InteractableLookupMap.java @@ -136,6 +136,10 @@ public class InteractableLookupMap { } } startPosition = interactable.toBasePane(startPosition); + if(startPosition == null) { + // The structure has changed, our interactable is no longer inside the base pane! + return null; + } Set disqualified = getDisqualifiedInteractables(startPosition, true); TerminalSize size = getSize(); int maxShiftLeft = interactable.toBasePane(TerminalPosition.TOP_LEFT_CORNER).getColumn(); @@ -212,6 +216,10 @@ public class InteractableLookupMap { } } startPosition = interactable.toBasePane(startPosition); + if(startPosition == null) { + // The structure has changed, our interactable is no longer inside the base pane! + return null; + } Set disqualified = getDisqualifiedInteractables(startPosition, false); TerminalSize size = getSize(); int maxShiftUp = interactable.toBasePane(TerminalPosition.TOP_LEFT_CORNER).getRow();