Program: 20110
Project: 20110
Buggy source:
public AndroidScaleImporter(final Project project,Module module){
  super(project,true);
  this.project=project;
  setTitle("String_Node_Str");
  setResizable(false);
  AndroidResourcesHelper.initResourceBrowser(project,module,"String_Node_Str",resRoot);
  final FileChooserDescriptor imageDescriptor=FileChooserDescriptorFactory.createSingleFileDescriptor(ImageFileTypeManager.getInstance().getImageFileType());
  String title1="String_Node_Str";
  imageDescriptor.setTitle(title1);
  assetBrowser.addBrowseFolderListener(title1,null,project,imageDescriptor);
  assetBrowser.addBrowseFolderListener(new TextBrowseFolderListener(imageDescriptor){
    @Override protected void onFileChosen(    @NotNull VirtualFile chosenFile){
      super.onFileChosen(chosenFile);
      selectedImage=chosenFile;
      isNinePatch=chosenFile.getName().endsWith("String_Node_Str");
      updateImage();
      fillImageInformation();
    }
  }
);
  new FileDrop(assetBrowser.getTextField(),new FileDrop.Target(){
    @Override public FileChooserDescriptor getDescriptor(){
      return imageDescriptor;
    }
    @Override public boolean isHiddenShown(){
      return false;
    }
    @Override public void dropFiles(    java.util.List<VirtualFile> virtualFiles){
      if (virtualFiles != null) {
        if (virtualFiles.size() == 1) {
          VirtualFile chosenFile=virtualFiles.get(0);
          assetBrowser.setText(chosenFile.getCanonicalPath());
          selectedImage=chosenFile;
          isNinePatch=chosenFile.getName().endsWith("String_Node_Str");
          updateImage();
          fillImageInformation();
        }
      }
    }
  }
);
  assetResolutionSpinner.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      String selectedItem=(String)assetResolutionSpinner.getSelectedItem();
      boolean setEnabled=selectedItem.equalsIgnoreCase("String_Node_Str");
      targetResolutionSpinner.setEnabled(setEnabled);
      targetWidth.setEnabled(setEnabled);
      targetHeight.setEnabled(setEnabled);
      if (!setEnabled) {
        updateScaleFactors();
        updateNewSizes();
      }
    }
  }
);
  assetResolutionSpinner.setSelectedIndex(3);
  targetResolutionSpinner.setSelectedIndex(3);
  targetResolutionSpinner.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      updateScaleFactors();
      updateNewSizes();
    }
  }
);
  targetHeight.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent keyEvent){
      super.keyReleased(keyEvent);
      updateNewSizes();
    }
  }
);
  targetWidth.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent keyEvent){
      super.keyReleased(keyEvent);
      updateNewSizes();
    }
  }
);
  init();
}

Fixed version (ground truth):
public AndroidScaleImporter(final Project project,Module module){
  super(project,true);
  this.project=project;
  setTitle("String_Node_Str");
  setResizable(false);
  AndroidResourcesHelper.initResourceBrowser(project,module,"String_Node_Str",resRoot);
  final FileChooserDescriptor imageDescriptor=FileChooserDescriptorFactory.createSingleFileDescriptor(ImageFileTypeManager.getInstance().getImageFileType());
  String title1="String_Node_Str";
  imageDescriptor.setTitle(title1);
  assetBrowser.addBrowseFolderListener(title1,null,project,imageDescriptor);
  assetBrowser.addBrowseFolderListener(new TextBrowseFolderListener(imageDescriptor){
    @Override protected void onFileChoosen(    @NotNull VirtualFile chosenFile){
      super.onFileChoosen(chosenFile);
      updateImageInformation(chosenFile);
    }
  }
);
  new FileDrop(assetBrowser.getTextField(),new FileDrop.Target(){
    @Override public FileChooserDescriptor getDescriptor(){
      return imageDescriptor;
    }
    @Override public boolean isHiddenShown(){
      return false;
    }
    @Override public void dropFiles(    java.util.List<VirtualFile> virtualFiles){
      if (virtualFiles != null) {
        if (virtualFiles.size() == 1) {
          VirtualFile chosenFile=virtualFiles.get(0);
          assetBrowser.setText(chosenFile.getCanonicalPath());
          updateImageInformation(chosenFile);
        }
      }
    }
  }
);
  assetResolutionSpinner.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      String selectedItem=(String)assetResolutionSpinner.getSelectedItem();
      boolean setEnabled=selectedItem.equalsIgnoreCase("String_Node_Str");
      targetResolutionSpinner.setEnabled(setEnabled);
      targetWidth.setEnabled(setEnabled);
      targetHeight.setEnabled(setEnabled);
      if (!setEnabled) {
        updateScaleFactors();
        updateNewSizes();
      }
    }
  }
);
  assetResolutionSpinner.setSelectedIndex(3);
  targetResolutionSpinner.setSelectedIndex(3);
  targetResolutionSpinner.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      updateScaleFactors();
      updateNewSizes();
    }
  }
);
  targetHeight.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent keyEvent){
      super.keyReleased(keyEvent);
      updateNewSizes();
    }
  }
);
  targetWidth.addKeyListener(new KeyAdapter(){
    @Override public void keyReleased(    KeyEvent keyEvent){
      super.keyReleased(keyEvent);
      updateNewSizes();
    }
  }
);
  init();
}