Program: 76632
Project: 76632
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;
  GridLayout glGapWidth=new GridLayout();
  glGapWidth.numColumns=8;
  glGapWidth.horizontalSpacing=5;
  glGapWidth.marginHeight=2;
  glGapWidth.marginWidth=2;
  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(3,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);
  cbCategory=new Button(choiceComposite,SWT.CHECK);
  cbCategory.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  cbCategory.setText(Messages.getString("String_Node_Str"));
  cbCategory.setSelection(axis.isCategoryAxis());
  cbCategory.addSelectionListener(this);
  cbCategory.setEnabled(!AxisType.TEXT_LITERAL.equals(axis.getType()));
  cbCategory.setVisible(angleType == AngleType.X);
  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);
  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.widthHint=260;
  gdFCCLine.heightHint=fccLine.getPreferredSize().y;
  gdFCCLine.grabExcessVerticalSpace=false;
  fccLine.setLayoutData(gdFCCLine);
  fccLine.addListener(this);
  Label lblOrientation=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLOrientation=new GridData(GridData.FILL);
  gdLBLOrientation.widthHint=90;
  gdLBLOrientation.grabExcessVerticalSpace=false;
  lblOrientation.setLayoutData(gdLBLOrientation);
  lblOrientation.setText(Messages.getString("String_Node_Str"));
  cmbOrientation=new Label(cmpGeneral,SWT.SINGLE);
  GridData gdCMBOrientation=new GridData(GridData.FILL_HORIZONTAL);
  gdCMBOrientation.horizontalSpan=4;
  gdCMBOrientation.widthHint=120;
  cmbOrientation.setLayoutData(gdCMBOrientation);
  cmbOrientation.setText(LiteralHelper.orientationSet.getDisplayNameByName(getAxisForProcessing().getOrientation().getName()));
  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=3;
    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);
  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;
  GridLayout glGapWidth=new GridLayout();
  glGapWidth.numColumns=8;
  glGapWidth.horizontalSpacing=5;
  glGapWidth.marginHeight=2;
  glGapWidth.marginWidth=2;
  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(3,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);
  cbCategory=new Button(choiceComposite,SWT.CHECK);
  cbCategory.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
  cbCategory.setText(Messages.getString("String_Node_Str"));
  cbCategory.setSelection(axis.isCategoryAxis());
  cbCategory.addSelectionListener(this);
  cbCategory.setEnabled(!AxisType.TEXT_LITERAL.equals(axis.getType()) && !BarChart.TYPE_LITERAL.equals(getChart().getType()) && !StockChart.TYPE_LITERAL.equals(getChart().getType()));
  cbCategory.setVisible(angleType == AngleType.X);
  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);
  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.widthHint=260;
  gdFCCLine.heightHint=fccLine.getPreferredSize().y;
  gdFCCLine.grabExcessVerticalSpace=false;
  fccLine.setLayoutData(gdFCCLine);
  fccLine.addListener(this);
  Label lblOrientation=new Label(cmpGeneral,SWT.NONE);
  GridData gdLBLOrientation=new GridData(GridData.FILL);
  gdLBLOrientation.widthHint=90;
  gdLBLOrientation.grabExcessVerticalSpace=false;
  lblOrientation.setLayoutData(gdLBLOrientation);
  lblOrientation.setText(Messages.getString("String_Node_Str"));
  cmbOrientation=new Label(cmpGeneral,SWT.SINGLE);
  GridData gdCMBOrientation=new GridData(GridData.FILL_HORIZONTAL);
  gdCMBOrientation.horizontalSpan=4;
  gdCMBOrientation.widthHint=120;
  cmbOrientation.setLayoutData(gdCMBOrientation);
  cmbOrientation.setText(LiteralHelper.orientationSet.getDisplayNameByName(getAxisForProcessing().getOrientation().getName()));
  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=3;
    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);
  setStateOfMinorGrid();
  return cmpContent;
}