Program: 167210
Project: 167210
Buggy source:
/** 
 * Creates new form ScrUpdateAlert
 * @param verbose run in verbose mode
 * @param curVersion current version of PolyGlot
 * @throws java.lang.Exception if unable to connect
 */
public ScrUpdateAlert(boolean verbose,String curVersion) throws Exception {
  initComponents();
  jTextPane1.setContentType("String_Node_Str");
  Document doc=WebInterface.checkForUpdates(curVersion);
  final Window parent=this;
  Node ver=doc.getElementsByTagName("String_Node_Str").item(0);
  Node message=doc.getElementsByTagName("String_Node_Str").item(0);
  Node buttons=doc.getElementsByTagName("String_Node_Str").item(0);
  for (Node curButton=buttons.getFirstChild(); curButton != null; curButton=curButton.getNextSibling()) {
    Node nameNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    Node linkNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    buttonMap.put(nameNode.getTextContent(),linkNode.getTextContent());
    JButton newButton=new JButton();
    newButton.addActionListener(new ActionListener(){
      @Override public void actionPerformed(      ActionEvent e){
        JButton thisButton=(JButton)e.getSource();
        String link=buttonMap.get(thisButton.getText());
        URI uri;
        try {
          uri=new URI(link);
          uri.normalize();
          java.awt.Desktop.getDesktop().browse(uri);
        }
 catch (        IOException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,parent);
        }
catch (        URISyntaxException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,parent);
        }
      }
    }
);
    newButton.setText(nameNode.getTextContent());
    newButton.setSize(jTextPane1.getSize().width,30);
    jPanel1.add(newButton);
    newButton.setLocation(0,this.getSize().height - 30);
    this.setSize(this.getHeight(),this.getHeight() + newButton.getHeight());
  }
  this.setTitle("String_Node_Str" + ver.getTextContent() + "String_Node_Str");
  jTextPane1.setText(message.getTextContent());
  txtVersion.setText("String_Node_Str" + ver.getTextContent());
  if (ver.getTextContent().equals(curVersion)) {
    if (verbose) {
      InfoBox.info("String_Node_Str","String_Node_Str" + curVersion + "String_Node_Str",this);
    }
    this.setVisible(false);
    this.dispose();
  }
 else {
    setVisible(true);
  }
}

Fixed version (ground truth):
/** 
 * Creates new form ScrUpdateAlert
 * @param verbose run in verbose mode
 * @param curVersion current version of PolyGlot
 * @throws java.lang.Exception if unable to connect
 */
public ScrUpdateAlert(boolean verbose,String curVersion) throws Exception {
  setupKeyStrokes();
  initComponents();
  jTextPane1.setContentType("String_Node_Str");
  Document doc=WebInterface.checkForUpdates(curVersion);
  final Window parent=this;
  Node ver=doc.getElementsByTagName("String_Node_Str").item(0);
  Node message=doc.getElementsByTagName("String_Node_Str").item(0);
  Node buttons=doc.getElementsByTagName("String_Node_Str").item(0);
  for (Node curButton=buttons.getFirstChild(); curButton != null; curButton=curButton.getNextSibling()) {
    Node nameNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    Node linkNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    buttonMap.put(nameNode.getTextContent(),linkNode.getTextContent());
    JButton newButton=new JButton();
    newButton.addActionListener(new ActionListener(){
      @Override public void actionPerformed(      ActionEvent e){
        JButton thisButton=(JButton)e.getSource();
        String link=buttonMap.get(thisButton.getText());
        URI uri;
        try {
          uri=new URI(link);
          uri.normalize();
          java.awt.Desktop.getDesktop().browse(uri);
        }
 catch (        IOException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,parent);
        }
catch (        URISyntaxException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,parent);
        }
      }
    }
);
    newButton.setText(nameNode.getTextContent());
    newButton.setSize(jTextPane1.getSize().width,30);
    jPanel1.add(newButton);
    newButton.setLocation(0,this.getSize().height - 30);
    this.setSize(this.getHeight(),this.getHeight() + newButton.getHeight());
  }
  this.setTitle("String_Node_Str" + ver.getTextContent() + "String_Node_Str");
  jTextPane1.setText(message.getTextContent());
  txtVersion.setText("String_Node_Str" + ver.getTextContent());
  if (ver.getTextContent().equals(curVersion)) {
    if (verbose) {
      InfoBox.info("String_Node_Str","String_Node_Str" + curVersion + "String_Node_Str",this);
    }
    this.setVisible(false);
    this.dispose();
  }
 else {
    setVisible(true);
  }
}