mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-refactoring] Refactoring dialog: avoid updating var-type state on every updateControls()
It should be updated only on type change (which happens rarely, especially because in many cases, we do not allow to change the type at all) Fixes IDEA-360822 Introduce Variable: "Replace all occurrences" (Alt+A) triggers flood of exceptions Slow operations are still possible but should not cause 'flood'. Given that dialog mode in refactorings is rarely used (it's non-default), current fix looks good enough GitOrigin-RevId: 6ad7e2826b11e1f39598e991201ba05620acae84
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b1e1c9582d
commit
d7ed8a605b
+8
-5
@@ -234,7 +234,7 @@ class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariable
|
||||
@Override
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
if (e.getStateChange() == ItemEvent.SELECTED) {
|
||||
myCbVarType.setEnabled(Comparing.equal(myTypeSelector.getSelectedType(), CommonJavaRefactoringUtil.getTypeByExpressionWithExpectedType(myExpression)));
|
||||
updateVarType();
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -246,10 +246,17 @@ class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariable
|
||||
panel.add(myCbVarType, gbConstraints);
|
||||
|
||||
updateControls();
|
||||
updateVarType();
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
public void updateVarType() {
|
||||
if (myCbVarType != null) {
|
||||
myCbVarType.setEnabled(Comparing.equal(myTypeSelector.getSelectedType(), CommonJavaRefactoringUtil.getTypeByExpressionWithExpectedType(myExpression)));
|
||||
}
|
||||
}
|
||||
|
||||
private void updateControls() {
|
||||
if (myCbReplaceWrite != null) {
|
||||
if (myCbReplaceAll.isSelected()) {
|
||||
@@ -276,10 +283,6 @@ class IntroduceVariableDialog extends DialogWrapper implements IntroduceVariable
|
||||
myCbFinal.setEnabled(true);
|
||||
myCbFinal.setSelected(myCbFinalState);
|
||||
}
|
||||
|
||||
if (myCbVarType != null) {
|
||||
myCbVarType.setEnabled(Comparing.equal(myTypeSelector.getSelectedType(), myExpression.getType()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user