diff --git a/gclc-swt/src/main/java/fr/bigeon/gclc/swt/AOutputForwardRunnable.java b/gclc-swt/src/main/java/fr/bigeon/gclc/swt/AOutputForwardRunnable.java index d164d95..a3fbdf8 100644 --- a/gclc-swt/src/main/java/fr/bigeon/gclc/swt/AOutputForwardRunnable.java +++ b/gclc-swt/src/main/java/fr/bigeon/gclc/swt/AOutputForwardRunnable.java @@ -1,3 +1,37 @@ +/* + * Copyright E. Bigeon (2015) + * + * emmanuel@bigeon.fr + * + * This software is a computer program whose purpose is to + * provide a swt window for console applications. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ /** * gclc:fr.bigeon.gclc.tools.AOutputForwardRunnable.java * Created on: Dec 1, 2016 diff --git a/gclc-swt/src/main/java/fr/bigeon/gclc/swt/SWTConsole.java b/gclc-swt/src/main/java/fr/bigeon/gclc/swt/SWTConsole.java index f6232a0..db076c6 100644 --- a/gclc-swt/src/main/java/fr/bigeon/gclc/swt/SWTConsole.java +++ b/gclc-swt/src/main/java/fr/bigeon/gclc/swt/SWTConsole.java @@ -175,7 +175,9 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - consoleOutput.append(text); + if (!consoleOutput.isDisposed()) { + consoleOutput.append(text); + } } }); } @@ -188,7 +190,9 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - consoleOutput.append(System.lineSeparator()); + if (!consoleOutput.isDisposed()) { + consoleOutput.append(System.lineSeparator()); + } } }); } @@ -201,7 +205,9 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - consoleOutput.append(message + System.lineSeparator()); + if (!consoleOutput.isDisposed()) { + consoleOutput.append(message + System.lineSeparator()); + } } }); @@ -220,8 +226,10 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - consoleInput.setEnabled(true); - consoleInput.setFocus(); + if (!consoleInput.isDisposed()) { + consoleInput.setEnabled(true); + consoleInput.setFocus(); + } } }); prompting = true; @@ -252,11 +260,13 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - lblPromptlabel.setText(message); - // relayout - SWTConsole.this.layout(); - consoleInput.setEnabled(true); - consoleInput.setFocus(); + if (!consoleOutput.isDisposed()) { + lblPromptlabel.setText(message); + // relayout + SWTConsole.this.layout(); + consoleInput.setEnabled(true); + consoleInput.setFocus(); + } } }); prompting = true; @@ -273,9 +283,11 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - lblPromptlabel.setText(prompt); - // relayout - SWTConsole.this.layout(); + if (!consoleOutput.isDisposed()) { + lblPromptlabel.setText(prompt); + // relayout + SWTConsole.this.layout(); + } } }); } @@ -299,9 +311,11 @@ public class SWTConsole extends Composite @SuppressWarnings("synthetic-access") @Override public void run() { - lblPromptlabel.setText(prompt); - // relayout - SWTConsole.this.layout(); + if (!consoleOutput.isDisposed()) { + lblPromptlabel.setText(prompt); + // relayout + SWTConsole.this.layout(); + } } }); }