Skip to content

Commit 209275d

Browse files
committed
fix: adding NPE check and equals to IdfInstalled
1 parent af8ad5c commit 209275d

File tree

2 files changed

+35
-11
lines changed

2 files changed

+35
-11
lines changed

bundles/com.espressif.idf.core/src/com/espressif/idf/core/tools/vo/IdfInstalled.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.espressif.idf.core.tools.vo;
22

3+
import java.util.Objects;
4+
35
import com.google.gson.annotations.Expose;
46

57
public class IdfInstalled
@@ -77,4 +79,21 @@ public void setPython(String python)
7779
this.python = python;
7880
}
7981

82+
@Override
83+
public boolean equals(Object obj)
84+
{
85+
if (this == obj)
86+
return true;
87+
if (obj == null || getClass() != obj.getClass())
88+
return false;
89+
IdfInstalled that = (IdfInstalled) obj;
90+
return Objects.equals(id, that.id);
91+
}
92+
93+
@Override
94+
public int hashCode()
95+
{
96+
return Objects.hash(id);
97+
}
98+
8099
}

bundles/com.espressif.idf.ui/src/com/espressif/idf/ui/tools/manager/pages/ESPIDFMainTablePage.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.eclipse.jface.viewers.ColumnLabelProvider;
1515
import org.eclipse.jface.viewers.ColumnWeightData;
1616
import org.eclipse.jface.viewers.IStructuredSelection;
17+
import org.eclipse.jface.viewers.StructuredSelection;
1718
import org.eclipse.jface.viewers.TableViewer;
1819
import org.eclipse.jface.viewers.TableViewerColumn;
1920
import org.eclipse.jface.viewers.Viewer;
@@ -430,20 +431,24 @@ public void refreshEditorUI()
430431
});
431432
}
432433

433-
434-
435434
public void setupInitialEspIdf()
436435
{
437-
if (tableViewer.getInput() instanceof List<?> list && !list.isEmpty()
438-
&& !prefs.getBoolean(EimConstants.INSTALL_TOOLS_FLAG, false))
439-
{
440-
Object first = list.get(0);
441-
if (first instanceof IdfRow selectedRaw)
442-
{
443-
performToolsSetup(selectedRaw.original());
444-
}
445-
}
436+
if (container == null || container.isDisposed() || tableViewer == null
437+
|| prefs.getBoolean(EimConstants.INSTALL_TOOLS_FLAG, false))
438+
{
439+
return;
440+
}
446441

442+
if (tableViewer.getTable().getItemCount() == 0)
443+
{
444+
return;
445+
}
446+
447+
if (tableViewer.getElementAt(0) instanceof IdfRow firstIdf)
448+
{
449+
tableViewer.setSelection(new StructuredSelection(firstIdf), true);
450+
performToolsSetup(firstIdf.original());
451+
}
447452
}
448453

449454
private MessageConsoleStream getConsoleStream(boolean errorStream)

0 commit comments

Comments
 (0)