X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fcom%2Fgooglecode%2Flanterna%2Fgui2%2FInteractableLookupMap.java;h=a200a302f40f6f51fbdd7953f0a8e48086794387;hp=36d285ee56eb7c004191875b0adaa95f29979ec8;hb=b71d13681b087eb23f02f406cb542af7915f9399;hpb=f04d8b1c4c3ed29d4d23cc076f307ef455b2dcb6 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();