Program: 148164
Project: 148164
Buggy source:
@Override protected Control createDialogArea(Composite parent){
  parent.getShell().setText(this.title);
  Composite composite=(Composite)super.createDialogArea(parent);
  composite.setLayout(new GridLayout(2,false));
  columns=new ComplexTableViewerColumn[]{new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.XPATH_STYLE,new String[]{},0),new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.COMBO_STYLE,IConstants.VIEW_CONDITION_OPERATORS,0),new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.XPATH_STYLE,new String[]{},0),new ComplexTableViewerColumn("String_Node_Str",true,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.COMBO_STYLE,IConstants.PREDICATES,0)};
  columns[0].setColumnWidth(200);
  columns[1].setColumnWidth(140);
  columns[2].setColumnWidth(200);
  columns[3].setColumnWidth(140);
  viewer=new TisTableViewer(Arrays.asList(columns),WidgetFactory.getWidgetFactory(),composite);
  viewer.setXpath(true);
  viewer.create();
  viewer.setHeight(140);
  viewer.setWidth(680);
  viewer.getMainComposite().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,2,3));
  Group customFiltersGroup=new Group(composite,SWT.NONE);
  customFiltersGroup.setVisible(true);
  customFiltersGroup.setText("String_Node_Str");
  customFiltersGroup.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false,2,1));
  customFiltersGroup.setLayout(new GridLayout(1,false));
  customFiltersText=new Text(customFiltersGroup,SWT.MULTI | SWT.BORDER | SWT.WRAP| SWT.V_SCROLL);
  customFiltersText.setEditable(true);
  GridData customFiltersTextGridData=new GridData(SWT.FILL,SWT.FILL,true,true,1,1);
  customFiltersTextGridData.heightHint=50;
  customFiltersText.setLayoutData(customFiltersTextGridData);
  parent.getShell().addDisposeListener(new DisposeListener(){
    public void widgetDisposed(    DisposeEvent e){
      XpathSelectDialog.setContext(null);
    }
  }
);
  parseRules();
  return composite;
}

Fixed version (ground truth):
@Override protected Control createDialogArea(Composite parent){
  parent.getShell().setText(this.title);
  Composite composite=(Composite)super.createDialogArea(parent);
  composite.setLayout(new GridLayout(2,false));
  columns=new ComplexTableViewerColumn[]{new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.XPATH_STYLE,new String[]{},0),new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.COMBO_STYLE,IConstants.VIEW_CONDITION_OPERATORS,0),new ComplexTableViewerColumn("String_Node_Str",false,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.XPATH_STYLE,new String[]{},0),new ComplexTableViewerColumn("String_Node_Str",true,"String_Node_Str","String_Node_Str","String_Node_Str",ComplexTableViewerColumn.COMBO_STYLE,IConstants.PREDICATES,0)};
  columns[0].setColumnWidth(200);
  columns[1].setColumnWidth(140);
  columns[2].setColumnWidth(200);
  columns[3].setColumnWidth(140);
  viewer=new TisTableViewer(Arrays.asList(columns),WidgetFactory.getWidgetFactory(),composite);
  viewer.setXpath(true);
  TreeParent treeParent=(TreeParent)page.getAdapter(TreeParent.class);
  viewer.setTreeParent(treeParent);
  viewer.create();
  viewer.setHeight(140);
  viewer.setWidth(680);
  viewer.getMainComposite().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,2,3));
  Group customFiltersGroup=new Group(composite,SWT.NONE);
  customFiltersGroup.setVisible(true);
  customFiltersGroup.setText("String_Node_Str");
  customFiltersGroup.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false,2,1));
  customFiltersGroup.setLayout(new GridLayout(1,false));
  customFiltersText=new Text(customFiltersGroup,SWT.MULTI | SWT.BORDER | SWT.WRAP| SWT.V_SCROLL);
  customFiltersText.setEditable(true);
  GridData customFiltersTextGridData=new GridData(SWT.FILL,SWT.FILL,true,true,1,1);
  customFiltersTextGridData.heightHint=50;
  customFiltersText.setLayoutData(customFiltersTextGridData);
  parent.getShell().addDisposeListener(new DisposeListener(){
    public void widgetDisposed(    DisposeEvent e){
      XpathSelectDialog.setContext(null);
    }
  }
);
  parseRules();
  return composite;
}