Skip to content

Some operations on Core Build Settings pages apply immediately instead of waiting until OK is pressed #1057

Open
@jonahgraham

Description

  1. Open the CMake Build Settings tab
  2. Check (or uncheck) "Use these settings"
  3. Press Cancel
  4. Re-open CMake Build Settings tab

Expectation is that the change in 2. is not persisted.

The change is persisted because each modification in a launch tab calls updateLaunchConfigurationDialog (fairly standard thing to do, not core build specific).updateLaunchConfigurationDialog eventually calls ILaunchConfigurationDialog.updateButtons() which for the launch bar does this:

@Override
public void updateButtons() {
// Lots of tabs want to be applied when this is called
if (!initing) {
ILaunchConfigurationTab[] tabs = getTabs();
if (tabFolder != null && tabs != null) {
int pageIndex = tabFolder.getSelectionIndex();
if (pageIndex >= 0) {
tabs[pageIndex].performApply(workingCopy);
}
}
}
}

which causes apply to be pressed on every page.

This means that basically any edit in the launch configuration causes every page to apply its changes immediately instead of waiting for the user to press OK.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions