Merge remote-tracking branch 'origin/GP-460_jpleasu_fix_tablechooserdialog_stackoverflow--SQUASHED' into patch

This commit is contained in:
ghidravore 2020-12-02 15:34:44 -05:00
commit 2860511ec5
3 changed files with 12 additions and 6 deletions

View file

@ -35,8 +35,7 @@ public class HexNumbersAction extends CompositeEditorTableAction implements Togg
private boolean isSelected; private boolean isSelected;
public HexNumbersAction(CompositeEditorProvider provider) { public HexNumbersAction(CompositeEditorProvider provider) {
super(provider, EDIT_ACTION_PREFIX + ACTION_NAME, GROUP_NAME, PATH, PATH, super(provider, EDIT_ACTION_PREFIX + ACTION_NAME, GROUP_NAME, PATH, PATH, null);
null);
setDescription(DESCRIPTION); setDescription(DESCRIPTION);
setEnabled(true); setEnabled(true);
setSelected(model.isShowingNumbersInHex()); setSelected(model.isShowingNumbersInHex());
@ -59,6 +58,9 @@ public class HexNumbersAction extends CompositeEditorTableAction implements Togg
@Override @Override
public void setSelected(boolean newValue) { public void setSelected(boolean newValue) {
if (isSelected == newValue) {
return;
}
isSelected = newValue; isSelected = newValue;
firePropertyChanged(SELECTED_STATE_PROPERTY, !isSelected, isSelected); firePropertyChanged(SELECTED_STATE_PROPERTY, !isSelected, isSelected);
} }

View file

@ -444,8 +444,7 @@ public abstract class DockingAction implements DockingActionIf {
// menu path // menu path
if (menuBarData != null) { if (menuBarData != null) {
buffer.append(" MENU PATH: ") buffer.append(" MENU PATH: ")
.append( .append(menuBarData.getMenuPathAsString());
menuBarData.getMenuPathAsString());
buffer.append('\n'); buffer.append('\n');
buffer.append(" MENU GROUP: ").append(menuBarData.getMenuGroup()); buffer.append(" MENU GROUP: ").append(menuBarData.getMenuGroup());
buffer.append('\n'); buffer.append('\n');
@ -468,8 +467,7 @@ public abstract class DockingAction implements DockingActionIf {
// popup menu path // popup menu path
if (popupMenuData != null) { if (popupMenuData != null) {
buffer.append(" POPUP PATH: ") buffer.append(" POPUP PATH: ")
.append( .append(popupMenuData.getMenuPathAsString());
popupMenuData.getMenuPathAsString());
buffer.append('\n'); buffer.append('\n');
buffer.append(" POPUP GROUP: ").append(popupMenuData.getMenuGroup()); buffer.append(" POPUP GROUP: ").append(popupMenuData.getMenuGroup());
buffer.append('\n'); buffer.append('\n');
@ -535,6 +533,9 @@ public abstract class DockingAction implements DockingActionIf {
} }
public void firePropertyChanged(String propertyName, Object oldValue, Object newValue) { public void firePropertyChanged(String propertyName, Object oldValue, Object newValue) {
if (Objects.equals(oldValue, newValue)) {
return;
}
PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue); PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
for (PropertyChangeListener listener : propertyListeners) { for (PropertyChangeListener listener : propertyListeners) {
listener.propertyChange(event); listener.propertyChange(event);

View file

@ -43,6 +43,9 @@ public abstract class ToggleDockingAction extends DockingAction implements Toggl
@Override @Override
public void setSelected(boolean newValue) { public void setSelected(boolean newValue) {
if (isSelected == newValue) {
return;
}
isSelected = newValue; isSelected = newValue;
firePropertyChanged(SELECTED_STATE_PROPERTY, !isSelected, isSelected); firePropertyChanged(SELECTED_STATE_PROPERTY, !isSelected, isSelected);
} }