From 86420140f45f4ca13d76d479d1c6ad0fafe27855 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 10 Feb 2015 07:30:24 +0100 Subject: [PATCH] Terminal: Fix findbugs warnings --- .../terminal/control/impl/TerminalPlugin.java | 22 ++++++++++++++++--- .../terminal/emulator/VT100Emulator.java | 9 +++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java index d76858230e4..b5a371b145b 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java @@ -26,9 +26,10 @@ import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.internal.terminal.control.actions.ImageConsts; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; public class TerminalPlugin extends AbstractUIPlugin { - protected static TerminalPlugin fDefault; + private static TerminalPlugin plugin; public static final String PLUGIN_ID = "org.eclipse.tm.terminal"; //$NON-NLS-1$ public static final String HELP_VIEW = PLUGIN_ID + ".terminal_view"; //$NON-NLS-1$ @@ -36,13 +37,28 @@ public class TerminalPlugin extends AbstractUIPlugin { * The constructor. */ public TerminalPlugin() { - fDefault = this; } /** * Returns the shared instance. */ public static TerminalPlugin getDefault() { - return fDefault; + return plugin; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); } public static boolean isLogInfoEnabled() { diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index eba03390cbe..2d75c086a8c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -987,12 +987,19 @@ public class VT100Emulator implements ControlListener { String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ + OutputStreamWriter streamWriter = null; try { - OutputStreamWriter streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ + streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ streamWriter.write(positionReport, 0, positionReport.length()); streamWriter.flush(); } catch (IOException ex) { Logger.log("Caught IOException!"); //$NON-NLS-1$ + } finally { + if (streamWriter != null) { + try { + streamWriter.close(); + } catch (IOException e) { /* ignored on purpose */ } + } } }