Program: 37679
Project: 37679
Buggy source:
public RopeFrame(){
  this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  addWindowListener(this);
  addFocusListener(this);
  if (packFrame) {
    this.pack();
  }
 else {
    this.validate();
  }
  Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
  Dimension frameSize=new Dimension(screenSize.width - 10,screenSize.height - (RopeHelper.isMac ? 80 : 50));
  this.setSize(frameSize);
  this.setLocation((screenSize.width - frameSize.width) / 2,10);
  this.setTitle(MessageFormat.format(RopeResources.getString("String_Node_Str"),RopeResources.getString("String_Node_Str")));
  JPanel contentPanel=(JPanel)this.getContentPane();
  contentPanel.add(desktop);
  desktop.setBackground(new Color(215,215,255));
  setupMenus();
  Dimension ropeFrameSize=getSize();
  editFrame=new EditFrame(this);
  Point editLocation=new Point(0,0);
  Dimension editSize=new Dimension(editFrame.getSize());
  Integer editSplitter=editFrame.splitPane.getDividerLocation();
  editLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",editLocation.toString()));
  editSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",editSize.toString()));
  editSplitter=userPrefs.getInt("String_Node_Str",editSplitter);
  verifyFrameLocation(editLocation);
  verifyFrameSize(editSize,editSplitter);
  editFrame.setLocation(editLocation);
  editFrame.setSize(editSize);
  editFrame.setMinimumSize(new Dimension(480,240));
  editFrame.splitPane.setDividerLocation(editSplitter);
  editFrame.setVisible(true);
  desktop.add(editFrame);
  execFrame=new ExecFrame(this);
  Point execLocation=new Point(ropeFrameSize.width / 2,0);
  Dimension execSize=new Dimension(execFrame.getSize());
  Integer execSplitter=execFrame.splitPane.getDividerLocation();
  execLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",execLocation.toString()));
  execSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",execSize.toString()));
  execSplitter=userPrefs.getInt("String_Node_Str",execSplitter);
  verifyFrameLocation(execLocation);
  verifyFrameSize(execSize,execSplitter);
  execFrame.setLocation(execLocation);
  execFrame.setSize(execSize);
  execFrame.setMinimumSize(new Dimension(480,240));
  execFrame.splitPane.setDividerLocation(execSplitter);
  execFrame.setVisible(false);
  desktop.add(execFrame);
  printoutFrame=new PrintoutFrame(this);
  Point printoutLocation=new Point(printoutFrame.getLocation());
  Dimension printoutSize=new Dimension(printoutFrame.getSize());
  printoutLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",printoutLocation.toString()));
  printoutSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",printoutSize.toString()));
  verifyFrameLocation(printoutLocation);
  verifyFrameSize(printoutSize,null);
  printoutFrame.setLocation(printoutLocation);
  printoutFrame.setSize(printoutSize);
  printoutFrame.setVisible(false);
  desktop.add(printoutFrame);
  currentChildFrame=editFrame;
  setVisible(true);
  clipboardListener=new ClipboardListener(this);
}

Fixed version (ground truth):
public RopeFrame(){
  this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  addWindowListener(this);
  addFocusListener(this);
  if (packFrame) {
    this.pack();
  }
 else {
    this.validate();
  }
  Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
  Dimension frameSize=new Dimension(screenSize.width - 10,screenSize.height - (RopeHelper.isMac ? 80 : 50));
  this.setSize(frameSize);
  this.setLocation((screenSize.width - frameSize.width) / 2,10);
  this.setTitle(MessageFormat.format(RopeResources.getString("String_Node_Str"),RopeResources.getString("String_Node_Str")));
  JPanel contentPanel=(JPanel)this.getContentPane();
  contentPanel.add(desktop);
  desktop.setBackground(new Color(215,215,255));
  setupMenus();
  Dimension ropeFrameSize=getSize();
  editFrame=new EditFrame(this);
  Point editLocation=new Point(0,0);
  Dimension editSize=new Dimension(editFrame.getSize());
  Integer editSplitter=editFrame.splitPane.getDividerLocation();
  editLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",editLocation.toString()));
  editSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",editSize.toString()));
  editSplitter=userPrefs.getInt("String_Node_Str",editSplitter);
  verifyFrameLocation(editLocation);
  verifyFrameSize(editSize,editSplitter);
  editFrame.setLocation(editLocation);
  editFrame.setSize(editSize);
  editFrame.setMinimumSize(new Dimension(480,240));
  editFrame.splitPane.setDividerLocation(editSplitter);
  editFrame.setVisible(true);
  desktop.add(editFrame);
  execFrame=new ExecFrame(this);
  Point execLocation=new Point(ropeFrameSize.width / 2,0);
  Dimension execSize=new Dimension(execFrame.getSize());
  Integer execSplitter=execFrame.splitPane.getDividerLocation();
  execLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",execLocation.toString()));
  execSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",execSize.toString()));
  execSplitter=userPrefs.getInt("String_Node_Str",execSplitter);
  verifyFrameLocation(execLocation);
  verifyFrameSize(execSize,execSplitter);
  execFrame.setLocation(execLocation);
  execFrame.setSize(execSize);
  execFrame.setMinimumSize(new Dimension(480,240));
  execFrame.splitPane.setDividerLocation(execSplitter);
  execFrame.setVisible(false);
  desktop.add(execFrame);
  printoutFrame=new PrintoutFrame(this);
  Point printoutLocation=new Point(printoutFrame.getLocation());
  Dimension printoutSize=new Dimension(printoutFrame.getSize());
  printoutLocation=RopeHelper.parsePoint(userPrefs.get("String_Node_Str",printoutLocation.toString()));
  printoutSize=RopeHelper.parseDimension(userPrefs.get("String_Node_Str",printoutSize.toString()));
  verifyFrameLocation(printoutLocation);
  verifyFrameSize(printoutSize,null);
  printoutFrame.setLocation(printoutLocation);
  printoutFrame.setSize(printoutSize);
  printoutFrame.setVisible(false);
  desktop.add(printoutFrame);
  setVisible(true);
  clipboardListener=new ClipboardListener(this);
}