I'm encountering a very weird issue, only in GNU/Linux.

Consider the following gist that shows an open dialog and presents the resulting filename in the screen: https://gist.github.com/jviotti/b8358165f1694228fbc31e400dbadab6, which you can run by `npm install && npm start`.

Now create a file with a `.img.gz` extension, like `foo.img.gz`. Using the `touch` command is enough.

Try to select it using the gist application. The `.img.gz` extension is replaced by `.zip` (or whatever is the first item of the extensions filter) for some strange reason.

The issue only seems reproducible with files containing multiple extensions, and when a dialog filter is present.
- Electron version: 1.2.5
- Operating system: GNU/Linux (Ubuntu 14.04 and Arch Linux)

atom/browser/ui/file_dialog_gtk.cc
private:
  void AddFilters(const Filters& filters);
  base::FilePath AddExtensionForFilename(const gchar* filename) const;
  atom::NativeWindowViews* parent_;
  atom::NativeWindow::DialogScope dialog_scope_;
  GtkWidget* dialog_;
  Filters filters_;
  SaveDialogCallback save_callback_;
  OpenDialogCallback open_callback_;
  DISALLOW_COPY_AND_ASSIGN(FileChooserDialog);
};
void FileChooserDialog::OnFileDialogResponse(GtkWidget* widget, int response) {
  gtk_widget_hide(dialog_);
  if (!save_callback_.is_null()) {
    if (response == GTK_RESPONSE_ACCEPT)
      save_callback_.Run(true, GetFileName());
    else
      save_callback_.Run(false, base::FilePath());
  } else if (!open_callback_.is_null()) {
    if (response == GTK_RESPONSE_ACCEPT)
      open_callback_.Run(true, GetFileNames());
    else
      open_callback_.Run(false, std::vector<base::FilePath>());
  }
  delete this;
}
void FileChooserDialog::AddFilters(const Filters& filters) {