From 9409c9a52be6de19d1a1ecb4517a4b7d1190217e Mon Sep 17 00:00:00 2001
From: Philipp Salvisberg <philipp.salvisberg@trivadis.com>
Date: Sat, 26 Feb 2022 10:13:51 +0100
Subject: [PATCH] fixes #138 - avoid exception during UI initialization, check
 if a row is selected

---
 .../java/org/utplsql/sqldev/ui/runner/RunnerPanel.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java
index e72dc59..74bc24e 100644
--- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java
+++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.java
@@ -834,10 +834,12 @@ private void showSelectedRow() {
         if (!showSuitesCheckBoxMenuItem.isSelected()) {
             // table
             final int rowIndex = testOverviewTable.getSelectedRow();
-            final int row = testOverviewTable.convertRowIndexToModel(rowIndex);
-            final Rectangle position = testOverviewTable
-                    .getCellRect(testOverviewTable.convertRowIndexToView(row), 0, true);
-            testOverviewTable.scrollRectToVisible(position);
+            if (rowIndex != -1) {
+                final int row = testOverviewTable.convertRowIndexToModel(rowIndex);
+                final Rectangle position = testOverviewTable
+                        .getCellRect(testOverviewTable.convertRowIndexToView(row), 0, true);
+                testOverviewTable.scrollRectToVisible(position);
+            }
         } else {
             // tree-table
             TreePath path = testOverviewTreeTable.getTree().getSelectionPath();