Program: 161896
Project: 161896
Buggy source:
public void start(){
  view=new LawenaView();
  new StartLogger("String_Node_Str").toTextComponent(settings.getLogUiLevel(),view.getTextAreaLog());
  new StartLogger("String_Node_Str").toLabel(Level.FINE,view.getLblStatus());
  log.fine("String_Node_Str" + version + "String_Node_Str"+ build);
  log.fine("String_Node_Str" + settings.getTfPath());
  log.fine("String_Node_Str" + cl.getSteamPath());
  log.fine("String_Node_Str" + settings.getMoviePath());
  log.fine("String_Node_Str" + Paths.get("String_Node_Str").toAbsolutePath());
  view.setTitle("String_Node_Str" + shortver());
  try {
    view.setIconImage(new ImageIcon(Lawena.class.getClassLoader().getResource("String_Node_Str")).getImage());
  }
 catch (  Exception e) {
  }
  view.addWindowListener(new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      saveAndExit();
    }
  }
);
  view.getMntmAbout().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      if (dialog == null) {
        dialog=new AboutDialog(version,build);
        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        dialog.setModalityType(ModalityType.APPLICATION_MODAL);
        dialog.getBtnUpdater().addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            updater.showSwitchUpdateChannelDialog();
          }
        }
);
      }
      dialog.setVisible(true);
    }
  }
);
  view.getMntmSelectEnhancedParticles().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      startParticlesDialog();
    }
  }
);
  view.getMntmAddCustomSettings().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JTextArea custom=getCustomSettingsTextArea();
      String previous=custom.getText();
      int result=JOptionPane.showConfirmDialog(view,getCustomSettingsScrollPane(),"String_Node_Str",JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);
      if (result == JOptionPane.OK_OPTION) {
        log.info("String_Node_Str" + custom.getText());
        saveSettings();
      }
 else {
        custom.setText(previous);
      }
    }
  }
);
  final JTable table=view.getTableCustomContent();
  table.setModel(customPaths);
  table.getColumnModel().getColumn(0).setMaxWidth(20);
  table.getColumnModel().getColumn(2).setMaxWidth(50);
  table.setDefaultRenderer(CustomPath.class,new TooltipRenderer(settings));
  table.getModel().addTableModelListener(new TableModelListener(){
    @Override public void tableChanged(    TableModelEvent e){
      if (e.getColumn() == CustomPathList.Column.SELECTED.ordinal()) {
        int row=e.getFirstRow();
        TableModel model=(TableModel)e.getSource();
        CustomPath cp=(CustomPath)model.getValueAt(row,CustomPathList.Column.PATH.ordinal());
        checkCustomHud(cp);
        if (cp == CustomPathList.particles && cp.isSelected()) {
          startParticlesDialog();
        }
      }
    }
  }
);
  table.setDropTarget(new DropTarget(){
    private static final long serialVersionUID=1L;
    @Override public synchronized void dragOver(    DropTargetDragEvent dtde){
      Point point=dtde.getLocation();
      int row=table.rowAtPoint(point);
      if (row < 0) {
        table.clearSelection();
      }
 else {
        table.setRowSelectionInterval(row,row);
      }
      dtde.acceptDrag(DnDConstants.ACTION_COPY);
    }
    @Override public synchronized void drop(    DropTargetDropEvent dtde){
      if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
        dtde.acceptDrop(DnDConstants.ACTION_COPY);
        Transferable t=dtde.getTransferable();
        List<?> fileList=null;
        try {
          fileList=(List<?>)t.getTransferData(DataFlavor.javaFileListFlavor);
          if (fileList.size() > 0) {
            table.clearSelection();
            for (            Object value : fileList) {
              if (value instanceof File) {
                File f=(File)value;
                log.info("String_Node_Str" + f.toPath());
                new PathCopyTask(f.toPath()).execute();
              }
            }
          }
        }
 catch (        UnsupportedFlavorException e) {
          log.log(Level.FINE,"String_Node_Str",e);
        }
catch (        IOException e) {
          log.log(Level.FINE,"String_Node_Str",e);
        }
      }
 else {
        dtde.rejectDrop();
      }
    }
  }
);
  TableRowSorter<CustomPathList> sorter=new TableRowSorter<>(customPaths);
  table.setRowSorter(sorter);
  RowFilter<CustomPathList,Object> filter=new RowFilter<CustomPathList,Object>(){
    public boolean include(    Entry<? extends CustomPathList,? extends Object> entry){
      CustomPath cp=(CustomPath)entry.getValue(CustomPathList.Column.PATH.ordinal());
      return !cp.getContents().contains(PathContents.READONLY);
    }
  }
;
  sorter.setRowFilter(filter);
  new PathScanTask().execute();
  new SwingWorker<Void,Void>(){
    @Override protected Void doInBackground() throws Exception {
      try {
        configureSkyboxes(view.getCmbSkybox());
      }
 catch (      Exception e) {
        log.log(Level.INFO,"String_Node_Str",e);
      }
      return null;
    }
    @Override protected void done(){
      selectSkyboxFromSettings();
    }
  }
.execute();
  loadSettings();
  view.getMntmChangeTfDirectory().addActionListener(new Tf2FolderChange());
  view.getMntmChangeMovieDirectory().addActionListener(new MovieFolderChange());
  view.getMntmRevertToDefault().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Path movies=settings.getMoviePath();
      settings.loadDefaults();
      settings.setMoviePath(movies);
      loadSettings();
      customPaths.loadResourceSettings();
      loadHudComboState();
      saveSettings();
    }
  }
);
  view.getMntmExit().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      saveAndExit();
    }
  }
);
  view.getMntmSaveSettings().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      saveSettings();
    }
  }
);
  view.getBtnStartTf().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new StartTfTask().execute();
    }
  }
);
  view.getBtnClearMovieFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      startSegmentsDialog();
    }
  }
);
  view.getMntmOpenMovieFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new SwingWorker<Void,Void>(){
        protected Void doInBackground() throws Exception {
          try {
            Desktop.getDesktop().open(settings.getMoviePath().toFile());
          }
 catch (          IOException ex) {
            log.log(Level.FINE,"String_Node_Str",ex);
          }
          return null;
        }
      }
.execute();
    }
  }
);
  view.getMntmOpenCustomFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new SwingWorker<Void,Void>(){
        protected Void doInBackground() throws Exception {
          try {
            Desktop.getDesktop().open(Paths.get("String_Node_Str").toFile());
          }
 catch (          IOException ex) {
            log.log(Level.FINE,"String_Node_Str",ex);
          }
          return null;
        }
      }
.execute();
    }
  }
);
  view.getChckbxmntmInsecure().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      settings.setInsecure(view.getChckbxmntmInsecure().isSelected());
    }
  }
);
  view.getMntmLaunchTimeout().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Object answer=JOptionPane.showInputDialog(view,"String_Node_Str" + "String_Node_Str" + "String_Node_Str","String_Node_Str",JOptionPane.PLAIN_MESSAGE,null,null,settings.getLaunchTimeout());
      if (answer != null) {
        try {
          int value=Integer.parseInt(answer.toString());
          settings.setLaunchTimeout(value);
        }
 catch (        IllegalArgumentException ex) {
          JOptionPane.showMessageDialog(view,"String_Node_Str","String_Node_Str",JOptionPane.WARNING_MESSAGE);
        }
      }
    }
  }
);
  view.getCustomLaunchOptionsMenuItem().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      if (launchOptionsDialog == null) {
        launchOptionsDialog=new LaunchOptionsDialog();
      }
      launchOptionsDialog.getOptionsTextField().setText(settings.getString(Key.LaunchOptions));
      int result=launchOptionsDialog.showDialog();
      if (result == JOptionPane.YES_OPTION) {
        String launchOptions=launchOptionsDialog.getOptionsTextField().getText();
        settings.setString(Key.LaunchOptions,launchOptions);
      }
 else       if (result == 1) {
        settings.setString(Key.LaunchOptions,(String)Key.LaunchOptions.defValue());
      }
    }
  }
);
  view.getCmbViewmodel().addItemListener(new ItemListener(){
    @Override public void itemStateChanged(    ItemEvent e){
      if (e.getStateChange() == ItemEvent.SELECTED) {
        checkViewmodelState();
      }
    }
  }
);
  view.getCmbSourceVideoFormat().addItemListener(new ItemListener(){
    @Override public void itemStateChanged(    ItemEvent e){
      if (e.getStateChange() == ItemEvent.SELECTED) {
        checkFrameFormatState();
      }
    }
  }
);
  view.getTabbedPane().addTab("String_Node_Str",null,vdm.start());
  view.setVisible(true);
}

Fixed version (ground truth):
public void start(){
  view=new LawenaView();
  new StartLogger("String_Node_Str").toTextComponent(settings.getLogUiLevel(),view.getTextAreaLog());
  new StartLogger("String_Node_Str").toLabel(Level.FINE,view.getLblStatus());
  log.fine("String_Node_Str" + version + "String_Node_Str"+ build);
  log.fine("String_Node_Str" + settings.getTfPath());
  log.fine("String_Node_Str" + cl.getSteamPath());
  log.fine("String_Node_Str" + settings.getMoviePath());
  log.fine("String_Node_Str" + Paths.get("String_Node_Str").toAbsolutePath());
  view.setTitle("String_Node_Str" + shortver());
  try {
    view.setIconImage(new ImageIcon(Lawena.class.getClassLoader().getResource("String_Node_Str")).getImage());
  }
 catch (  Exception e) {
  }
  view.addWindowListener(new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      saveAndExit();
    }
  }
);
  view.getMntmAbout().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      if (dialog == null) {
        dialog=new AboutDialog(version,build);
        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        dialog.setModalityType(ModalityType.APPLICATION_MODAL);
        dialog.getBtnUpdater().addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            updater.showSwitchUpdateChannelDialog();
          }
        }
);
      }
      dialog.setVisible(true);
    }
  }
);
  view.getMntmSelectEnhancedParticles().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      startParticlesDialog();
    }
  }
);
  view.getMntmAddCustomSettings().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JTextArea custom=getCustomSettingsTextArea();
      String previous=custom.getText();
      int result=JOptionPane.showConfirmDialog(view,getCustomSettingsScrollPane(),"String_Node_Str",JOptionPane.OK_CANCEL_OPTION,JOptionPane.PLAIN_MESSAGE);
      if (result == JOptionPane.OK_OPTION) {
        log.info("String_Node_Str" + custom.getText());
        saveSettings();
      }
 else {
        custom.setText(previous);
      }
    }
  }
);
  final JTable table=view.getTableCustomContent();
  table.setModel(customPaths);
  table.getColumnModel().getColumn(0).setMaxWidth(20);
  table.getColumnModel().getColumn(2).setMaxWidth(50);
  table.setDefaultRenderer(CustomPath.class,new TooltipRenderer(settings));
  table.getModel().addTableModelListener(new TableModelListener(){
    @Override public void tableChanged(    TableModelEvent e){
      if (e.getColumn() == CustomPathList.Column.SELECTED.ordinal()) {
        int row=e.getFirstRow();
        TableModel model=(TableModel)e.getSource();
        CustomPath cp=(CustomPath)model.getValueAt(row,CustomPathList.Column.PATH.ordinal());
        checkCustomHud(cp);
        if (cp == CustomPathList.particles && cp.isSelected()) {
          startParticlesDialog();
        }
      }
    }
  }
);
  table.setDropTarget(new DropTarget(){
    private static final long serialVersionUID=1L;
    @Override public synchronized void dragOver(    DropTargetDragEvent dtde){
      Point point=dtde.getLocation();
      int row=table.rowAtPoint(point);
      if (row < 0) {
        table.clearSelection();
      }
 else {
        table.setRowSelectionInterval(row,row);
      }
      dtde.acceptDrag(DnDConstants.ACTION_COPY);
    }
    @Override public synchronized void drop(    DropTargetDropEvent dtde){
      if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
        dtde.acceptDrop(DnDConstants.ACTION_COPY);
        Transferable t=dtde.getTransferable();
        List<?> fileList=null;
        try {
          fileList=(List<?>)t.getTransferData(DataFlavor.javaFileListFlavor);
          if (fileList.size() > 0) {
            table.clearSelection();
            for (            Object value : fileList) {
              if (value instanceof File) {
                File f=(File)value;
                log.info("String_Node_Str" + f.toPath());
                new PathCopyTask(f.toPath()).execute();
              }
            }
          }
        }
 catch (        UnsupportedFlavorException e) {
          log.log(Level.FINE,"String_Node_Str",e);
        }
catch (        IOException e) {
          log.log(Level.FINE,"String_Node_Str",e);
        }
      }
 else {
        dtde.rejectDrop();
      }
    }
  }
);
  TableRowSorter<CustomPathList> sorter=new TableRowSorter<>(customPaths);
  table.setRowSorter(sorter);
  RowFilter<CustomPathList,Object> filter=new RowFilter<CustomPathList,Object>(){
    public boolean include(    Entry<? extends CustomPathList,? extends Object> entry){
      CustomPath cp=(CustomPath)entry.getValue(CustomPathList.Column.PATH.ordinal());
      return !cp.getContents().contains(PathContents.READONLY);
    }
  }
;
  sorter.setRowFilter(filter);
  SwingWorker<Void,Void> scannerTask=new PathScanTask();
  SwingWorker<Void,Void> skySetupTask=new SwingWorker<Void,Void>(){
    @Override protected Void doInBackground() throws Exception {
      try {
        configureSkyboxes(view.getCmbSkybox());
      }
 catch (      Exception e) {
        log.log(Level.INFO,"String_Node_Str",e);
      }
      return null;
    }
    @Override protected void done(){
      selectSkyboxFromSettings();
    }
  }
;
  scannerTask.execute();
  skySetupTask.execute();
  waitForTask(scannerTask);
  waitForTask(skySetupTask);
  loadSettings();
  view.getMntmChangeTfDirectory().addActionListener(new Tf2FolderChange());
  view.getMntmChangeMovieDirectory().addActionListener(new MovieFolderChange());
  view.getMntmRevertToDefault().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Path movies=settings.getMoviePath();
      settings.loadDefaults();
      settings.setMoviePath(movies);
      loadSettings();
      customPaths.loadResourceSettings();
      loadHudComboState();
      saveSettings();
    }
  }
);
  view.getMntmExit().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      saveAndExit();
    }
  }
);
  view.getMntmSaveSettings().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      saveSettings();
    }
  }
);
  view.getBtnStartTf().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new StartTfTask().execute();
    }
  }
);
  view.getBtnClearMovieFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      startSegmentsDialog();
    }
  }
);
  view.getMntmOpenMovieFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new SwingWorker<Void,Void>(){
        protected Void doInBackground() throws Exception {
          try {
            Desktop.getDesktop().open(settings.getMoviePath().toFile());
          }
 catch (          IOException ex) {
            log.log(Level.FINE,"String_Node_Str",ex);
          }
          return null;
        }
      }
.execute();
    }
  }
);
  view.getMntmOpenCustomFolder().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      new SwingWorker<Void,Void>(){
        protected Void doInBackground() throws Exception {
          try {
            Desktop.getDesktop().open(Paths.get("String_Node_Str").toFile());
          }
 catch (          IOException ex) {
            log.log(Level.FINE,"String_Node_Str",ex);
          }
          return null;
        }
      }
.execute();
    }
  }
);
  view.getChckbxmntmInsecure().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      settings.setInsecure(view.getChckbxmntmInsecure().isSelected());
    }
  }
);
  view.getMntmLaunchTimeout().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Object answer=JOptionPane.showInputDialog(view,"String_Node_Str" + "String_Node_Str" + "String_Node_Str","String_Node_Str",JOptionPane.PLAIN_MESSAGE,null,null,settings.getLaunchTimeout());
      if (answer != null) {
        try {
          int value=Integer.parseInt(answer.toString());
          settings.setLaunchTimeout(value);
        }
 catch (        IllegalArgumentException ex) {
          JOptionPane.showMessageDialog(view,"String_Node_Str","String_Node_Str",JOptionPane.WARNING_MESSAGE);
        }
      }
    }
  }
);
  view.getCustomLaunchOptionsMenuItem().addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      if (launchOptionsDialog == null) {
        launchOptionsDialog=new LaunchOptionsDialog();
      }
      launchOptionsDialog.getOptionsTextField().setText(settings.getString(Key.LaunchOptions));
      int result=launchOptionsDialog.showDialog();
      if (result == JOptionPane.YES_OPTION) {
        String launchOptions=launchOptionsDialog.getOptionsTextField().getText();
        settings.setString(Key.LaunchOptions,launchOptions);
      }
 else       if (result == 1) {
        settings.setString(Key.LaunchOptions,(String)Key.LaunchOptions.defValue());
      }
    }
  }
);
  view.getCmbViewmodel().addItemListener(new ItemListener(){
    @Override public void itemStateChanged(    ItemEvent e){
      if (e.getStateChange() == ItemEvent.SELECTED) {
        checkViewmodelState();
      }
    }
  }
);
  view.getCmbSourceVideoFormat().addItemListener(new ItemListener(){
    @Override public void itemStateChanged(    ItemEvent e){
      if (e.getStateChange() == ItemEvent.SELECTED) {
        checkFrameFormatState();
      }
    }
  }
);
  view.getTabbedPane().addTab("String_Node_Str",null,vdm.start());
  view.setVisible(true);
}