X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FMultiBackend.java;h=9166e1c19bec44817a21297d87d949cb27b1a1f2;hb=3e0743556d1f31723a11a6019b5c2b018b4b2104;hp=a397c65510749d101cdc007f1727453328c12914;hpb=d79f1f31b1c036712b4e7f0bbfde980f212c3a3a;p=fanfix.git diff --git a/src/jexer/backend/MultiBackend.java b/src/jexer/backend/MultiBackend.java index a397c65..9166e1c 100644 --- a/src/jexer/backend/MultiBackend.java +++ b/src/jexer/backend/MultiBackend.java @@ -56,7 +56,11 @@ public class MultiBackend implements Backend { */ public MultiBackend(final Backend backend) { backends.add(backend); - multiScreen = new MultiScreen(backend.getScreen()); + if (backend instanceof TWindowBackend) { + multiScreen = new MultiScreen(((TWindowBackend) backend).getOtherScreen()); + } else { + multiScreen = new MultiScreen(backend.getScreen()); + } } /** @@ -66,7 +70,11 @@ public class MultiBackend implements Backend { */ public void addBackend(final Backend backend) { backends.add(backend); - multiScreen.addScreen(backend.getScreen()); + if (backend instanceof TWindowBackend) { + multiScreen.addScreen(((TWindowBackend) backend).getOtherScreen()); + } else { + multiScreen.addScreen(backend.getScreen()); + } } /** @@ -76,7 +84,11 @@ public class MultiBackend implements Backend { */ public void removeBackend(final Backend backend) { if (backends.size() > 1) { - multiScreen.removeScreen(backend.getScreen()); + if (backend instanceof TWindowBackend) { + multiScreen.removeScreen(((TWindowBackend) backend).getOtherScreen()); + } else { + multiScreen.removeScreen(backend.getScreen()); + } backends.remove(backend); } } @@ -86,7 +98,7 @@ public class MultiBackend implements Backend { * * @return the SessionInfo */ - public final SessionInfo getSessionInfo() { + public SessionInfo getSessionInfo() { return backends.get(0).getSessionInfo(); } @@ -95,7 +107,7 @@ public class MultiBackend implements Backend { * * @return the Screen */ - public final Screen getScreen() { + public Screen getScreen() { return multiScreen; }