fix(gui): resolve NPE with smali breakpoint (#2717) (PR #2718)

* fix(gui): resolve exception in search dialog on project reload (#2714)

* Revert "fix(gui): resolve exception in search dialog on project reload (#2714)"

This reverts commit 74c52a8884.

---------

Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
This commit is contained in:
RedArms
2025-12-04 20:25:45 +01:00
committed by GitHub
parent 74c52a8884
commit 27b15aeb1c
@@ -386,7 +386,7 @@ public final class SmaliArea extends AbstractCodeArea {
}
void remove() {
gutter.removeTrackingIcon(iconInfo);
safeRemoveTrackingIcon(iconInfo);
if (!this.disabled) {
removeLineHighlight(highlightTag);
}
@@ -395,7 +395,7 @@ public final class SmaliArea extends AbstractCodeArea {
void setDisabled(boolean disabled) {
if (disabled) {
if (!this.disabled) {
gutter.removeTrackingIcon(iconInfo);
safeRemoveTrackingIcon(iconInfo);
removeLineHighlight(highlightTag);
try {
iconInfo = gutter.addLineTrackingIcon(line, ICON_BREAKPOINT_DISABLED);
@@ -405,7 +405,7 @@ public final class SmaliArea extends AbstractCodeArea {
}
} else {
if (this.disabled) {
gutter.removeTrackingIcon(this.iconInfo);
safeRemoveTrackingIcon(this.iconInfo);
try {
iconInfo = gutter.addLineTrackingIcon(line, ICON_BREAKPOINT);
highlightTag = addLineHighlight(line, BREAKPOINT_LINE_COLOR);
@@ -417,6 +417,13 @@ public final class SmaliArea extends AbstractCodeArea {
this.disabled = disabled;
}
}
private void safeRemoveTrackingIcon(GutterIconInfo iconInfo) {
if (gutter != null && iconInfo != null) {
gutter.removeTrackingIcon(iconInfo);
}
}
}
@Override