Program: 45244
Project: 45244
Buggy source:
public FolderPanel(MainFrame mainFrame,AbstractFile initialFolder){
  super(new BorderLayout());
  if (com.mucommander.Debug.ON)   com.mucommander.Debug.trace("String_Node_Str" + initialFolder);
  this.mainFrame=mainFrame;
  setBorder(null);
  JPanel locationPanel=new JPanel(new GridBagLayout());
  GridBagConstraints c=new GridBagConstraints();
  c.fill=GridBagConstraints.HORIZONTAL;
  c.gridy=0;
  this.driveButton=new DrivePopupButton(this);
  c.weightx=0;
  c.gridx=0;
  locationPanel.add(driveButton,c);
  this.locationComboBox=new LocationComboBox(this);
  this.locationField=(ProgressTextField)locationComboBox.getTextField();
  c.weightx=1;
  c.gridx=1;
  c.insets=new Insets(0,4,0,0);
  locationPanel.add(locationComboBox,c);
  add(locationPanel,BorderLayout.NORTH);
  fileTable=new FileTable(mainFrame,this);
  try {
    setCurrentFolder(initialFolder,applyFilters(initialFolder.ls()),null);
  }
 catch (  Exception e) {
    AbstractFile rootFolders[]=RootFolders.getRootFolders();
    for (int i=0; i < rootFolders.length; i++) {
      try {
        setCurrentFolder(rootFolders[i],applyFilters(rootFolders[i].ls()),null);
        break;
      }
 catch (      IOException e2) {
        if (i == rootFolders.length - 1) {
          throw new RuntimeException("String_Node_Str");
        }
      }
    }
  }
  folderChangeMonitor=new FolderChangeMonitor(this);
  scrollPane=new JScrollPane(fileTable,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  scrollPane.setBorder(BorderFactory.createLineBorder(ThemeManager.getCurrentColor(Theme.FILE_TABLE_BORDER),1));
  scrollPane.getViewport().setBackground(ThemeManager.getCurrentColor(Theme.FILE_BACKGROUND));
  scrollPane.addMouseListener(new MouseAdapter(){
    public void mousePressed(    MouseEvent e){
      int modifiers=e.getModifiers();
      if (PlatformManager.isRightMouseButton(e)) {
        AbstractFile currentFolder=getCurrentFolder();
        new TablePopupMenu(FolderPanel.this.mainFrame,currentFolder,null,false,fileTable.getFileTableModel().getMarkedFiles()).show(scrollPane,e.getX(),e.getY());
      }
    }
  }
);
  add(scrollPane,BorderLayout.CENTER);
  ConfigurationManager.addConfigurationListener(this);
  ThemeManager.addThemeListener(this);
  fileTable.addFocusListener(this);
  locationField.addFocusListener(this);
  this.fileDragSourceListener=new FileDragSourceListener(this);
  fileDragSourceListener.enableDrag(fileTable);
  FileDropTargetListener dropTargetListener=new FileDropTargetListener(this,false);
  fileTable.setDropTarget(new DropTarget(fileTable,dropTargetListener));
  scrollPane.setDropTarget(new DropTarget(scrollPane,dropTargetListener));
  dropTargetListener=new FileDropTargetListener(this,true);
  locationField.setDropTarget(new DropTarget(locationField,dropTargetListener));
  driveButton.setDropTarget(new DropTarget(driveButton,dropTargetListener));
}

Fixed version (ground truth):
public FolderPanel(MainFrame mainFrame,AbstractFile initialFolder){
  super(new BorderLayout());
  if (com.mucommander.Debug.ON)   com.mucommander.Debug.trace("String_Node_Str" + initialFolder);
  this.mainFrame=mainFrame;
  setBorder(null);
  JPanel locationPanel=new JPanel(new GridBagLayout());
  GridBagConstraints c=new GridBagConstraints();
  c.fill=GridBagConstraints.HORIZONTAL;
  c.gridy=0;
  this.driveButton=new DrivePopupButton(this);
  c.weightx=0;
  c.gridx=0;
  locationPanel.add(driveButton,c);
  this.locationComboBox=new LocationComboBox(this);
  this.locationField=(ProgressTextField)locationComboBox.getTextField();
  c.weightx=1;
  c.gridx=1;
  c.insets=new Insets(0,4,0,0);
  locationPanel.add(locationComboBox,c);
  add(locationPanel,BorderLayout.NORTH);
  fileTable=new FileTable(mainFrame,this);
  try {
    setCurrentFolder(initialFolder,applyFilters(initialFolder.ls()),null);
  }
 catch (  Exception e) {
    AbstractFile rootFolders[]=RootFolders.getRootFolders();
    for (int i=0; i < rootFolders.length; i++) {
      try {
        setCurrentFolder(rootFolders[i],applyFilters(rootFolders[i].ls()),null);
        break;
      }
 catch (      IOException e2) {
        if (i == rootFolders.length - 1) {
          throw new RuntimeException("String_Node_Str");
        }
      }
    }
  }
  folderChangeMonitor=new FolderChangeMonitor(this);
  scrollPane=new JScrollPane(fileTable,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  scrollPane.setBorder(BorderFactory.createLineBorder(ThemeManager.getCurrentColor(Theme.FILE_TABLE_BORDER),1));
  scrollPane.getViewport().setBackground(ThemeManager.getCurrentColor(Theme.FILE_BACKGROUND));
  scrollPane.addMouseListener(new MouseAdapter(){
    public void mousePressed(    MouseEvent e){
      if (PlatformManager.isLeftMouseButton(e)) {
        fileTable.requestFocus();
      }
 else       if (PlatformManager.isRightMouseButton(e)) {
        AbstractFile currentFolder=getCurrentFolder();
        new TablePopupMenu(FolderPanel.this.mainFrame,currentFolder,null,false,fileTable.getFileTableModel().getMarkedFiles()).show(scrollPane,e.getX(),e.getY());
      }
    }
  }
);
  add(scrollPane,BorderLayout.CENTER);
  ConfigurationManager.addConfigurationListener(this);
  ThemeManager.addThemeListener(this);
  fileTable.addFocusListener(this);
  locationField.addFocusListener(this);
  this.fileDragSourceListener=new FileDragSourceListener(this);
  fileDragSourceListener.enableDrag(fileTable);
  FileDropTargetListener dropTargetListener=new FileDropTargetListener(this,false);
  fileTable.setDropTarget(new DropTarget(fileTable,dropTargetListener));
  scrollPane.setDropTarget(new DropTarget(scrollPane,dropTargetListener));
  dropTargetListener=new FileDropTargetListener(this,true);
  locationField.setDropTarget(new DropTarget(locationField,dropTargetListener));
  driveButton.setDropTarget(new DropTarget(driveButton,dropTargetListener));
}