Program: 45198
Project: 45198
Buggy source:
FolderPanel(MainFrame mainFrame,AbstractFile initialFolder,FileTableConfiguration conf){
  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,conf);
  chainedFileFilter=new AndFileFilter();
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_HIDDEN_FILES,MuConfiguration.DEFAULT_SHOW_HIDDEN_FILES))   chainedFileFilter.addFileFilter(new HiddenFileFilter());
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_DS_STORE_FILES,MuConfiguration.DEFAULT_SHOW_DS_STORE_FILES))   chainedFileFilter.addFileFilter(new DSStoreFileFilter());
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_SYSTEM_FOLDERS,MuConfiguration.DEFAULT_SHOW_SYSTEM_FOLDERS))   chainedFileFilter.addFileFilter(new SystemFileFilter());
  try {
    setCurrentFolder(initialFolder,initialFolder.ls(chainedFileFilter),null);
  }
 catch (  Exception e) {
    AbstractFile rootFolders[]=RootFolders.getRootFolders();
    for (int i=0; i < rootFolders.length; i++) {
      try {
        setCurrentFolder(rootFolders[i],rootFolders[i].ls(chainedFileFilter),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(new MutableLineBorder(unfocusedBorderColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_INACTIVE_BORDER_COLOR),1));
  borderColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_BORDER_COLOR);
  scrollPane.getViewport().setBackground(unfocusedBackgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_INACTIVE_BACKGROUND_COLOR));
  backgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_BACKGROUND_COLOR);
  unmatchedBackgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_UNMATCHED_BACKGROUND_COLOR);
  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);
  MuConfiguration.addConfigurationListener(this);
  ThemeManager.addCurrentThemeListener(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):
FolderPanel(MainFrame mainFrame,AbstractFile initialFolder,FileTableConfiguration conf){
  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,conf);
  chainedFileFilter=new AndFileFilter();
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_HIDDEN_FILES,MuConfiguration.DEFAULT_SHOW_HIDDEN_FILES))   chainedFileFilter.addFileFilter(new HiddenFileFilter());
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_DS_STORE_FILES,MuConfiguration.DEFAULT_SHOW_DS_STORE_FILES))   chainedFileFilter.addFileFilter(new DSStoreFileFilter());
  if (!MuConfiguration.getVariable(MuConfiguration.SHOW_SYSTEM_FOLDERS,MuConfiguration.DEFAULT_SHOW_SYSTEM_FOLDERS))   chainedFileFilter.addFileFilter(new SystemFileFilter());
  try {
    setCurrentFolder(initialFolder,initialFolder.ls(chainedFileFilter),null);
  }
 catch (  Exception e) {
    AbstractFile rootFolders[]=RootFolders.getRootFolders();
    for (int i=0; i < rootFolders.length; i++) {
      try {
        setCurrentFolder(rootFolders[i],rootFolders[i].ls(chainedFileFilter),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(new MutableLineBorder(unfocusedBorderColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_INACTIVE_BORDER_COLOR),1));
  borderColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_BORDER_COLOR);
  scrollPane.getViewport().setBackground(unfocusedBackgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_INACTIVE_BACKGROUND_COLOR));
  backgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_BACKGROUND_COLOR);
  unmatchedBackgroundColor=ThemeManager.getCurrentColor(Theme.FILE_TABLE_UNMATCHED_BACKGROUND_COLOR);
  scrollPane.addMouseListener(new MouseAdapter(){
    public void mousePressed(    MouseEvent e){
      if (PlatformManager.isLeftMouseButton(e)) {
        fileTable.requestFocus();
      }
 else       if (PlatformManager.isRightMouseButton(e)) {
        if (!fileTable.hasFocus())         fileTable.requestFocus();
        AbstractFile currentFolder=getCurrentFolder();
        new TablePopupMenu(FolderPanel.this.mainFrame,currentFolder,null,false,fileTable.getFileTableModel().getMarkedFiles()).show(scrollPane,e.getX(),e.getY());
      }
    }
  }
);
  add(scrollPane,BorderLayout.CENTER);
  MuConfiguration.addConfigurationListener(this);
  ThemeManager.addCurrentThemeListener(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));
}