mirror of
https://github.com/skylot/jadx.git
synced 2024-11-27 14:40:54 +00:00
* fix(gui): NullPointerException on project save * chore(gui): ensure MainWindow.project is never null * ensure `files` in `ProjectData` in not null Co-authored-by: Skylot <skylot@gmail.com>
This commit is contained in:
parent
1832f2aee3
commit
4586015fc0
@ -4,13 +4,14 @@ import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import jadx.api.data.impl.JadxCodeData;
|
||||
|
||||
public class ProjectData {
|
||||
|
||||
private int projectVersion = 1;
|
||||
private List<Path> files;
|
||||
private List<Path> files = new ArrayList<>();
|
||||
private List<String[]> treeExpansions = new ArrayList<>();
|
||||
private JadxCodeData codeData = new JadxCodeData();
|
||||
private List<TabViewState> openTabs = Collections.emptyList();
|
||||
@ -21,7 +22,7 @@ public class ProjectData {
|
||||
}
|
||||
|
||||
public void setFiles(List<Path> files) {
|
||||
this.files = files;
|
||||
this.files = Objects.requireNonNull(files);
|
||||
}
|
||||
|
||||
public List<String[]> getTreeExpansions() {
|
||||
|
@ -76,6 +76,7 @@ import javax.swing.tree.TreePath;
|
||||
import javax.swing.tree.TreeSelectionModel;
|
||||
|
||||
import org.fife.ui.rsyntaxtextarea.Theme;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -178,7 +179,8 @@ public class MainWindow extends JFrame {
|
||||
private final transient JadxSettings settings;
|
||||
private final transient CacheObject cacheObject;
|
||||
private final transient BackgroundExecutor backgroundExecutor;
|
||||
private transient JadxProject project;
|
||||
@NotNull
|
||||
private transient JadxProject project = new JadxProject();
|
||||
private transient Action newProjectAction;
|
||||
private transient Action saveProjectAction;
|
||||
|
||||
@ -516,7 +518,7 @@ public class MainWindow extends JFrame {
|
||||
return jadxProject.getFilePaths();
|
||||
}
|
||||
|
||||
public void updateProject(JadxProject jadxProject) {
|
||||
public void updateProject(@NotNull JadxProject jadxProject) {
|
||||
jadxProject.setSettings(settings);
|
||||
jadxProject.setMainWindow(this);
|
||||
this.project = jadxProject;
|
||||
|
Loading…
Reference in New Issue
Block a user