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
save_callback_ = callback;
    RunAsynchronous();
  }
  void RunOpenAsynchronous(const OpenDialogCallback& callback) {
    open_callback_ = callback;
    RunAsynchronous();
  }
  base::FilePath GetFileName() const {
    gchar* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog_));
    base::FilePath path = AddExtensionForFilename(filename);
    g_free(filename);
    return path;
  }
  std::vector<base::FilePath> GetFileNames() const {
    std::vector<base::FilePath> paths;
    GSList* filenames = gtk_file_chooser_get_filenames(
        GTK_FILE_CHOOSER(dialog_));
    for (GSList* iter = filenames; iter != NULL; iter = g_slist_next(iter)) {
      base::FilePath path = AddExtensionForFilename(
          static_cast<char*>(iter->data));
      g_free(iter->data);
      paths.push_back(path);
    }
    g_slist_free(filenames);
    return paths;
  }
  CHROMEGTK_CALLBACK_1(FileChooserDialog, void, OnFileDialogResponse, int);
  GtkWidget* dialog() const { return dialog_; }