Program: 94944
Project: 94944
Buggy source:
ChatRoomTab(boolean withParticipantsList,CTabFolder parent,String name,KeyListener keyListener){
  withParticipants=withParticipantsList;
  tabItem=new CTabItem(parent,SWT.NULL);
  tabItem.setText(name);
  if (withParticipants) {
    fullChat=new SashForm(parent,SWT.HORIZONTAL);
    fullChat.setLayout(new FillLayout());
    Composite memberComp=new Composite(fullChat,SWT.NONE);
    memberComp.setLayout(new FillLayout());
    listViewer=new ListViewer(memberComp,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    listViewer.setSorter(new ViewerSorter());
    Composite rightComp=new Composite(fullChat,SWT.NONE);
    rightComp.setLayout(new FillLayout());
    rightSash=new SashForm(rightComp,SWT.VERTICAL);
  }
 else   rightSash=new SashForm(parent,SWT.VERTICAL);
  Composite readInlayComp=new Composite(rightSash,SWT.FILL);
  readInlayComp.setLayout(new GridLayout());
  readInlayComp.setLayoutData(new GridData(GridData.FILL_BOTH));
  SourceViewer result=new SourceViewer(readInlayComp,null,null,true,SWT.BORDER | SWT.WRAP | SWT.V_SCROLL| SWT.MULTI| SWT.H_SCROLL| SWT.READ_ONLY);
  result.configure(new TextSourceViewerConfiguration(EditorsUI.getPreferenceStore()));
  result.setDocument(new Document());
  outputText=result.getTextWidget();
  outputText.setEditable(false);
  outputText.setLayoutData(new GridData(GridData.FILL_BOTH));
  Composite writeComp=new Composite(rightSash,SWT.NONE);
  writeComp.setLayout(new FillLayout());
  inputText=new Text(writeComp,SWT.BORDER | SWT.MULTI | SWT.WRAP| SWT.V_SCROLL);
  if (keyListener != null)   inputText.addKeyListener(keyListener);
  rightSash.setWeights(new int[]{RATIO_READ_PANE,RATIO_WRITE_PANE});
  if (withParticipants) {
    fullChat.setWeights(new int[]{RATIO_PRESENCE_PANE,RATIO_READ_WRITE_PANE});
    tabItem.setControl(fullChat);
  }
 else   tabItem.setControl(rightSash);
  parent.setSelection(tabItem);
  makeActions();
  hookContextMenu();
}

Fixed version (ground truth):
ChatRoomTab(boolean withParticipantsList,CTabFolder parent,String name,KeyListener keyListener){
  withParticipants=withParticipantsList;
  tabItem=new CTabItem(parent,SWT.NULL);
  tabItem.setText(name);
  if (withParticipants) {
    fullChat=new SashForm(parent,SWT.HORIZONTAL);
    fullChat.setLayout(new FillLayout());
    Composite memberComp=new Composite(fullChat,SWT.NONE);
    memberComp.setLayout(new FillLayout());
    listViewer=new ListViewer(memberComp,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    listViewer.setSorter(new ViewerSorter());
    Composite rightComp=new Composite(fullChat,SWT.NONE);
    rightComp.setLayout(new FillLayout());
    rightSash=new SashForm(rightComp,SWT.VERTICAL);
  }
 else   rightSash=new SashForm(parent,SWT.VERTICAL);
  SourceViewer result=new SourceViewer(rightSash,null,null,true,SWT.BORDER | SWT.WRAP | SWT.V_SCROLL| SWT.MULTI| SWT.H_SCROLL| SWT.READ_ONLY);
  result.configure(new TextSourceViewerConfiguration(EditorsUI.getPreferenceStore()));
  result.setDocument(new Document());
  outputText=result.getTextWidget();
  outputText.setEditable(false);
  outputText.setLayoutData(new GridData(GridData.FILL_BOTH));
  inputText=new Text(rightSash,SWT.BORDER | SWT.MULTI | SWT.WRAP| SWT.V_SCROLL);
  if (keyListener != null)   inputText.addKeyListener(keyListener);
  rightSash.setWeights(new int[]{RATIO_READ_PANE,RATIO_WRITE_PANE});
  if (withParticipants) {
    fullChat.setWeights(new int[]{RATIO_PRESENCE_PANE,RATIO_READ_WRITE_PANE});
    tabItem.setControl(fullChat);
  }
 else   tabItem.setControl(rightSash);
  parent.setSelection(tabItem);
  makeActions();
  hookContextMenu();
}