Program: 69036
Project: 69036
Buggy source:
protected Composite getComponent(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.POPUP_AXIS_GRIDLINES);
  GridLayout glContent=new GridLayout();
  glContent.numColumns=2;
  glContent.horizontalSpacing=5;
  glContent.verticalSpacing=5;
  glContent.marginHeight=7;
  glContent.marginWidth=7;
  GridLayout glGeneral=new GridLayout();
  glGeneral.numColumns=10;
  glGeneral.horizontalSpacing=5;
  glGeneral.verticalSpacing=5;
  glGeneral.marginHeight=4;
  glGeneral.marginWidth=4;
  FillLayout flMajor=new FillLayout();
  cmpContent=new Composite(parent,SWT.NONE);
  cmpContent.setLayout(glContent);
  Composite choiceComposite=new Composite(cmpContent,SWT.NONE);
  GridData gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=2;
  choiceComposite.setLayoutData(gd);
  choiceComposite.setLayout(new GridLayout(2,true));
  cbHidden=new Button(choiceComposite,SWT.CHECK);
  cbHidden.setLayoutData(new GridData(GridData.FILL_BOTH));
  cbHidden.setText(Messages.getString("String_Node_Str"));
  cbHidden.setSelection(!axis.getLineAttributes().isVisible());
  cbHidden.addSelectionListener(this);
  cbTickBetweenCategory=new Button(choiceComposite,SWT.CHECK);
  cbTickBetweenCategory.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  cbTickBetweenCategory.setText(Messages.getString("String_Node_Str"));
  cbTickBetweenCategory.setSelection(axis.getScale().isTickBetweenCategories());
  cbTickBetweenCategory.addSelectionListener(this);
  cbTickBetweenCategory.setEnabled(axis.isCategoryAxis());
  cbTickBetweenCategory.setVisible((angleType == AngleType.X) && axis.isCategoryAxis());
  cmpGeneral=new Composite(cmpContent,SWT.NONE);
  GridData gdCMPGeneral=new GridData(GridData.FILL_BOTH);
  gdCMPGeneral.horizontalSpan=2;
  gdCMPGeneral.grabExcessVerticalSpace=false;
  cmpGeneral.setLayoutData(gdCMPGeneral);
  cmpGeneral.setLayout(glGeneral);
  Label lblColor=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLColor=new GridData(GridData.FILL);
  lblColor.setLayoutData(gdLBLColor);
  lblColor.setText(Messages.getString("String_Node_Str"));
  ColorDefinition clrCurrent=null;
  if (axis.eIsSet(ComponentPackage.eINSTANCE.getAxis_LineAttributes())) {
    clrCurrent=axis.getLineAttributes().getColor();
  }
  fccLine=new FillChooserComposite(cmpGeneral,SWT.NONE,getContext(),clrCurrent,false,false);
  GridData gdFCCLine=new GridData(GridData.FILL_BOTH);
  gdFCCLine.horizontalSpan=9;
  gdFCCLine.heightHint=fccLine.getPreferredSize().y;
  gdFCCLine.grabExcessVerticalSpace=false;
  fccLine.setLayoutData(gdFCCLine);
  fccLine.addListener(this);
  lblGridStepNum=new Label(cmpGeneral,SWT.NONE);
  GridData gdLblGridStepNum=new GridData(GridData.FILL);
  lblGridStepNum.setLayoutData(gdLblGridStepNum);
  lblGridStepNum.setText(Messages.getString("String_Node_Str"));
  majGridStNum=new Spinner(cmpGeneral,SWT.BORDER);
{
    gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=4;
    majGridStNum.setLayoutData(gd);
    majGridStNum.setMinimum(1);
    majGridStNum.setSelection(getAxisForProcessing().getScale().getMajorGridsStepNumber());
    majGridStNum.addSelectionListener(this);
  }
  lblGridCount=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLGridCount=new GridData();
  lblGridCount.setLayoutData(gdLBLGridCount);
  lblGridCount.setText(Messages.getString("String_Node_Str"));
  iscGridCount=new Spinner(cmpGeneral,SWT.BORDER);
{
    gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=4;
    iscGridCount.setLayoutData(gd);
    iscGridCount.setMinimum(1);
    iscGridCount.setSelection(getAxisForProcessing().getScale().getMinorGridsPerUnit());
    iscGridCount.addSelectionListener(this);
  }
  grpMajor=new Group(cmpContent,SWT.NONE);
  GridData gdGRPMajor=new GridData(GridData.FILL_HORIZONTAL);
  grpMajor.setLayoutData(gdGRPMajor);
  grpMajor.setText(Messages.getString("String_Node_Str"));
  grpMajor.setLayout(flMajor);
  gacMajor=new GridAttributesComposite(grpMajor,SWT.NONE,getContext(),axis.getMajorGrid(),axis.getOrientation().getValue());
  gacMajor.addListener(this);
  grpMinor=new Group(cmpContent,SWT.NONE);
{
    grpMinor.setLayout(new FillLayout());
    GridData gdGRPMinor=new GridData(GridData.FILL_HORIZONTAL);
    grpMinor.setLayoutData(gdGRPMinor);
    grpMinor.setText(Messages.getString("String_Node_Str"));
  }
  gacMinor=new GridAttributesComposite(grpMinor,SWT.NONE,getContext(),axis.getMinorGrid(),axis.getOrientation().getValue());
  gacMinor.addListener(this);
  setStateOfMajorGrid();
  setStateOfMinorGrid();
  return cmpContent;
}

Fixed version (ground truth):
protected Composite getComponent(Composite parent){
  ChartUIUtil.bindHelp(parent,ChartHelpContextIds.POPUP_AXIS_GRIDLINES);
  GridLayout glContent=new GridLayout();
  glContent.numColumns=2;
  glContent.horizontalSpacing=5;
  glContent.verticalSpacing=5;
  glContent.marginHeight=7;
  glContent.marginWidth=7;
  GridLayout glGeneral=new GridLayout();
  glGeneral.numColumns=10;
  glGeneral.horizontalSpacing=5;
  glGeneral.verticalSpacing=5;
  glGeneral.marginHeight=4;
  glGeneral.marginWidth=4;
  FillLayout flMajor=new FillLayout();
  cmpContent=new Composite(parent,SWT.NONE);
  cmpContent.setLayout(glContent);
  Composite choiceComposite=new Composite(cmpContent,SWT.NONE);
  GridData gd=new GridData(GridData.FILL_HORIZONTAL);
  gd.horizontalSpan=2;
  choiceComposite.setLayoutData(gd);
  choiceComposite.setLayout(new GridLayout(2,true));
  cbHidden=new Button(choiceComposite,SWT.CHECK);
  cbHidden.setLayoutData(new GridData(GridData.FILL_BOTH));
  cbHidden.setText(Messages.getString("String_Node_Str"));
  cbHidden.setSelection(!axis.getLineAttributes().isVisible());
  cbHidden.addSelectionListener(this);
  cbTickBetweenCategory=new Button(choiceComposite,SWT.CHECK);
  cbTickBetweenCategory.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  cbTickBetweenCategory.setText(Messages.getString("String_Node_Str"));
  cbTickBetweenCategory.setSelection(axis.getScale().isTickBetweenCategories());
  cbTickBetweenCategory.addSelectionListener(this);
  cbTickBetweenCategory.setEnabled(axis.isCategoryAxis());
  cbTickBetweenCategory.setVisible((angleType == AngleType.X) && axis.isCategoryAxis());
  cmpGeneral=new Composite(cmpContent,SWT.NONE);
  GridData gdCMPGeneral=new GridData(GridData.FILL_BOTH);
  gdCMPGeneral.horizontalSpan=2;
  gdCMPGeneral.grabExcessVerticalSpace=false;
  cmpGeneral.setLayoutData(gdCMPGeneral);
  cmpGeneral.setLayout(glGeneral);
  Label lblColor=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLColor=new GridData(GridData.FILL);
  lblColor.setLayoutData(gdLBLColor);
  lblColor.setText(Messages.getString("String_Node_Str"));
  ColorDefinition clrCurrent=null;
  if (axis.eIsSet(ComponentPackage.eINSTANCE.getAxis_LineAttributes())) {
    clrCurrent=axis.getLineAttributes().getColor();
  }
  fccLine=new FillChooserComposite(cmpGeneral,SWT.NONE,getContext(),clrCurrent,false,false,true,true,false);
  GridData gdFCCLine=new GridData(GridData.FILL_BOTH);
  gdFCCLine.horizontalSpan=9;
  gdFCCLine.heightHint=fccLine.getPreferredSize().y;
  gdFCCLine.grabExcessVerticalSpace=false;
  fccLine.setLayoutData(gdFCCLine);
  fccLine.addListener(this);
  lblGridStepNum=new Label(cmpGeneral,SWT.NONE);
  GridData gdLblGridStepNum=new GridData(GridData.FILL);
  lblGridStepNum.setLayoutData(gdLblGridStepNum);
  lblGridStepNum.setText(Messages.getString("String_Node_Str"));
  majGridStNum=new Spinner(cmpGeneral,SWT.BORDER);
{
    gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=4;
    majGridStNum.setLayoutData(gd);
    majGridStNum.setMinimum(1);
    majGridStNum.setSelection(getAxisForProcessing().getScale().getMajorGridsStepNumber());
    majGridStNum.addSelectionListener(this);
  }
  lblGridCount=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLGridCount=new GridData();
  lblGridCount.setLayoutData(gdLBLGridCount);
  lblGridCount.setText(Messages.getString("String_Node_Str"));
  iscGridCount=new Spinner(cmpGeneral,SWT.BORDER);
{
    gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=4;
    iscGridCount.setLayoutData(gd);
    iscGridCount.setMinimum(1);
    iscGridCount.setSelection(getAxisForProcessing().getScale().getMinorGridsPerUnit());
    iscGridCount.addSelectionListener(this);
  }
  grpMajor=new Group(cmpContent,SWT.NONE);
  GridData gdGRPMajor=new GridData(GridData.FILL_HORIZONTAL);
  grpMajor.setLayoutData(gdGRPMajor);
  grpMajor.setText(Messages.getString("String_Node_Str"));
  grpMajor.setLayout(flMajor);
  gacMajor=new GridAttributesComposite(grpMajor,SWT.NONE,getContext(),axis.getMajorGrid(),axis.getOrientation().getValue());
  gacMajor.addListener(this);
  grpMinor=new Group(cmpContent,SWT.NONE);
{
    grpMinor.setLayout(new FillLayout());
    GridData gdGRPMinor=new GridData(GridData.FILL_HORIZONTAL);
    grpMinor.setLayoutData(gdGRPMinor);
    grpMinor.setText(Messages.getString("String_Node_Str"));
  }
  gacMinor=new GridAttributesComposite(grpMinor,SWT.NONE,getContext(),axis.getMinorGrid(),axis.getOrientation().getValue());
  gacMinor.addListener(this);
  setStateOfMajorGrid();
  setStateOfMinorGrid();
  return cmpContent;
}