From 20e13bcd589f4a8fd2a8c3cb635fe582c8b3be3e Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Wed, 22 Apr 2009 21:47:32 +0000 Subject: [PATCH] [267609] Fixed problem with array out of bounds exception occuring when terminal view is not active at launching new terminal. --- .../rse/internal/terminals/ui/views/TerminalViewTab.java | 5 +++++ .../rse/internal/terminals/ui/views/TerminalViewer.java | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java index 6c6cb1e2d54..1aa256892b8 100644 --- a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java +++ b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewTab.java @@ -20,6 +20,7 @@ * Michael Scharf (Wind River) - [236203] [rseterminal] Potentially UI blocking code in TerminalViewTab.createTabItem * Anna Dushistova (MontaVista) - [244437] [rseterminal] Possible race condition when multiple Terminals are launched after each other * Martin Oberhuber (Wind River) - [247700] Terminal uses ugly fonts in JEE package + * Anna Dushistova (MontaVista) - [267609] [rseterminal] The first "Launch Terminal" command creates no terminal tab ********************************************************************************/ package org.eclipse.rse.internal.terminals.ui.views; @@ -151,6 +152,10 @@ public class TerminalViewTab extends Composite { } + public int getItemCount(){ + return tabFolder.getItemCount(); + } + public CTabItem getSelectedTab() { if (tabFolder.getItemCount() > 0) { int index = tabFolder.getSelectionIndex(); diff --git a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewer.java b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewer.java index a82cf091ab7..2e6bd6f57e7 100644 --- a/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewer.java +++ b/rse/plugins/org.eclipse.rse.terminals.ui/src/org/eclipse/rse/internal/terminals/ui/views/TerminalViewer.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -25,6 +25,7 @@ * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl * Anna Dushistova (MontaVista) - [238257] Request a help text when no tab is open in "Remote Shell", "Remote Monitor" and "Terminals" views * Anna Dushistova (MontaVista) - [235097] [rseterminal] Cannot activate RSE Terminals View with the keyboard + * Anna Dushistova (MontaVista) - [267609] [rseterminal] The first "Launch Terminal" command creates no terminal tab *********************************************************************************/ package org.eclipse.rse.internal.terminals.ui.views; @@ -125,7 +126,7 @@ public class TerminalViewer extends ViewPart implements ISelectionListener, tabFolder.disposePageFor(((TerminalElement) source).getName()); } }else if(event.getType() == ISystemResourceChangeEvents.EVENT_REFRESH){ - if(tabFolder.getSelectedTab()==null) + if(tabFolder.getItemCount() == 0) showEmptyPage(); else showTabsPage();