Program: 76737
Project: 76737
Buggy source:
protected Composite getComponent(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.POPUP_AXIS_SCALE);
  Composite cmpContent=new Composite(parent,SWT.NONE);
{
    GridLayout glContent=new GridLayout(4,false);
    glContent.marginHeight=10;
    glContent.marginWidth=10;
    glContent.horizontalSpacing=5;
    glContent.verticalSpacing=10;
    cmpContent.setLayout(glContent);
  }
  Group grpScale=new Group(cmpContent,SWT.NONE);
{
    GridData gdGRPScale=new GridData(GridData.FILL_BOTH);
    gdGRPScale.horizontalSpan=4;
    grpScale.setLayoutData(gdGRPScale);
    GridLayout glScale=new GridLayout();
    glScale.numColumns=4;
    glScale.horizontalSpacing=5;
    glScale.verticalSpacing=5;
    glScale.marginHeight=2;
    glScale.marginWidth=7;
    grpScale.setLayout(glScale);
    grpScale.setText(Messages.getString("String_Node_Str"));
  }
  btnStepAuto=new Button(grpScale,SWT.RADIO);
{
    GridData gd=new GridData();
    gd.horizontalSpan=4;
    btnStepAuto.setLayoutData(gd);
    btnStepAuto.setText(Messages.getString("String_Node_Str"));
    btnStepAuto.setSelection(!getScale().isSetStep() && (!getScale().isSetStepNumber() || getValueType() != TextEditorComposite.TYPE_NUMBERIC));
    btnStepAuto.addListener(SWT.Selection,this);
  }
  btnStepSize=new Button(grpScale,SWT.RADIO);
{
    btnStepSize.setText(Messages.getString("String_Node_Str"));
    btnStepSize.setSelection(getScale().isSetStep());
    btnStepSize.addListener(SWT.Selection,this);
  }
  txtStepSize=new TextEditorComposite(grpScale,SWT.BORDER | SWT.SINGLE,TextEditorComposite.TYPE_NUMBERIC);
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=100;
    txtStepSize.setLayoutData(gd);
    String str="String_Node_Str";
    if (getScale().isSetStep()) {
      str=String.valueOf(getScale().getStep());
    }
    txtStepSize.setText(str);
    txtStepSize.addListener(this);
    txtStepSize.addListener(SWT.Modify,this);
    txtStepSize.setDefaultValue("String_Node_Str");
  }
  lblUnit=new Label(grpScale,SWT.NONE);
{
    lblUnit.setText(Messages.getString("String_Node_Str"));
  }
  cmbScaleUnit=new Combo(grpScale,SWT.DROP_DOWN | SWT.READ_ONLY);
{
    GridData gdCMBScaleUnit=new GridData(GridData.FILL_HORIZONTAL);
    cmbScaleUnit.setLayoutData(gdCMBScaleUnit);
    cmbScaleUnit.addListener(SWT.Selection,this);
    NameSet ns=LiteralHelper.scaleUnitTypeSet;
    cmbScaleUnit.setItems(ns.getDisplayNames());
    cmbScaleUnit.select(ns.getSafeNameIndex(getScale().getUnit().getName()));
  }
  btnStepNumber=new Button(grpScale,SWT.RADIO);
{
    btnStepNumber.setText(Messages.getString("String_Node_Str"));
    btnStepNumber.setSelection(getScale().isSetStepNumber());
    btnStepNumber.addListener(SWT.Selection,this);
  }
  spnStepNumber=new Spinner(grpScale,SWT.BORDER);
{
    spnStepNumber.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    spnStepNumber.setMinimum(2);
    spnStepNumber.setMaximum(100);
    spnStepNumber.setSelection(getScale().getStepNumber());
    spnStepNumber.addListener(SWT.Selection,this);
  }
  new Label(grpScale,SWT.NONE);
  new Label(grpScale,SWT.NONE);
  lblMin=new Label(cmpContent,SWT.NONE);
  lblMin.setText(Messages.getString("String_Node_Str"));
  txtScaleMin=new TextEditorComposite(cmpContent,SWT.BORDER | SWT.SINGLE,getValueType());
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=80;
    txtScaleMin.setLayoutData(gd);
    txtScaleMin.setText(getValue(getScale().getMin()));
    txtScaleMin.addListener(this);
    txtScaleMin.setDefaultValue("String_Node_Str");
  }
  lblMax=new Label(cmpContent,SWT.NONE);
  lblMax.setText(Messages.getString("String_Node_Str"));
  txtScaleMax=new TextEditorComposite(cmpContent,SWT.BORDER | SWT.SINGLE,getValueType());
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=80;
    txtScaleMax.setLayoutData(gd);
    txtScaleMax.setText(getValue(getScale().getMax()));
    txtScaleMax.addListener(this);
    txtScaleMax.setDefaultValue("String_Node_Str");
  }
  setState();
  return cmpContent;
}

Fixed version (ground truth):
protected Composite getComponent(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.POPUP_AXIS_SCALE);
  Composite cmpContent=new Composite(parent,SWT.NONE);
{
    GridLayout glContent=new GridLayout(4,false);
    glContent.marginHeight=10;
    glContent.marginWidth=10;
    glContent.horizontalSpacing=5;
    glContent.verticalSpacing=10;
    cmpContent.setLayout(glContent);
  }
  Group grpScale=new Group(cmpContent,SWT.NONE);
{
    GridData gdGRPScale=new GridData(GridData.FILL_BOTH);
    gdGRPScale.horizontalSpan=4;
    grpScale.setLayoutData(gdGRPScale);
    GridLayout glScale=new GridLayout();
    glScale.numColumns=4;
    glScale.horizontalSpacing=5;
    glScale.verticalSpacing=5;
    glScale.marginHeight=2;
    glScale.marginWidth=7;
    grpScale.setLayout(glScale);
    grpScale.setText(Messages.getString("String_Node_Str"));
  }
  btnStepAuto=new Button(grpScale,SWT.RADIO);
{
    GridData gd=new GridData();
    gd.horizontalSpan=4;
    btnStepAuto.setLayoutData(gd);
    btnStepAuto.setText(Messages.getString("String_Node_Str"));
    btnStepAuto.addListener(SWT.Selection,this);
  }
  btnStepSize=new Button(grpScale,SWT.RADIO);
{
    btnStepSize.setText(Messages.getString("String_Node_Str"));
    btnStepSize.addListener(SWT.Selection,this);
  }
  txtStepSize=new TextEditorComposite(grpScale,SWT.BORDER | SWT.SINGLE,TextEditorComposite.TYPE_NUMBERIC);
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=100;
    txtStepSize.setLayoutData(gd);
    String str="String_Node_Str";
    if (getScale().isSetStep()) {
      str=String.valueOf(getScale().getStep());
    }
    txtStepSize.setText(str);
    txtStepSize.addListener(this);
    txtStepSize.addListener(SWT.Modify,this);
    txtStepSize.setDefaultValue("String_Node_Str");
  }
  lblUnit=new Label(grpScale,SWT.NONE);
{
    lblUnit.setText(Messages.getString("String_Node_Str"));
  }
  cmbScaleUnit=new Combo(grpScale,SWT.DROP_DOWN | SWT.READ_ONLY);
{
    GridData gdCMBScaleUnit=new GridData(GridData.FILL_HORIZONTAL);
    cmbScaleUnit.setLayoutData(gdCMBScaleUnit);
    cmbScaleUnit.addListener(SWT.Selection,this);
    NameSet ns=LiteralHelper.scaleUnitTypeSet;
    cmbScaleUnit.setItems(ns.getDisplayNames());
    cmbScaleUnit.select(ns.getSafeNameIndex(getScale().getUnit().getName()));
  }
  btnStepNumber=new Button(grpScale,SWT.RADIO);
{
    btnStepNumber.setText(Messages.getString("String_Node_Str"));
    btnStepNumber.addListener(SWT.Selection,this);
  }
  spnStepNumber=new Spinner(grpScale,SWT.BORDER);
{
    spnStepNumber.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    spnStepNumber.setMinimum(2);
    spnStepNumber.setMaximum(100);
    spnStepNumber.setSelection(getScale().getStepNumber());
    spnStepNumber.addListener(SWT.Selection,this);
  }
  new Label(grpScale,SWT.NONE);
  new Label(grpScale,SWT.NONE);
  lblMin=new Label(cmpContent,SWT.NONE);
  lblMin.setText(Messages.getString("String_Node_Str"));
  txtScaleMin=new TextEditorComposite(cmpContent,SWT.BORDER | SWT.SINGLE,getValueType());
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=80;
    txtScaleMin.setLayoutData(gd);
    txtScaleMin.setText(getValue(getScale().getMin()));
    txtScaleMin.addListener(this);
    txtScaleMin.setDefaultValue("String_Node_Str");
  }
  lblMax=new Label(cmpContent,SWT.NONE);
  lblMax.setText(Messages.getString("String_Node_Str"));
  txtScaleMax=new TextEditorComposite(cmpContent,SWT.BORDER | SWT.SINGLE,getValueType());
{
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint=80;
    txtScaleMax.setLayoutData(gd);
    txtScaleMax.setText(getValue(getScale().getMax()));
    txtScaleMax.addListener(this);
    txtScaleMax.setDefaultValue("String_Node_Str");
  }
  btnStepSize.setSelection(getScale().isSetStep());
  if (!btnStepSize.getSelection()) {
    if (getValueType() != TextEditorComposite.TYPE_NUMBERIC) {
      btnStepAuto.setSelection(true);
    }
 else {
      btnStepNumber.setSelection(getScale().isSetStepNumber());
      btnStepAuto.setSelection(!getScale().isSetStep() && !getScale().isSetStepNumber());
    }
  }
  setState();
  return cmpContent;
}