Bug#974666: gnome-sound-recorder: The export file dialog disappears suddendly after a few seconds.

raster rastersoft at gmail.com
Fri Nov 13 14:11:42 GMT 2020


Package: gnome-sound-recorder
Version: 3.38.0-1
Severity: grave
Tags: patch
Justification: causes non-serious data loss
X-Debbugs-Cc: rastersoft at gmail.com

Dear Maintainer,

After doing a recording, pressing the "export" button shows, as expected, a
file dialog to choose where to export the file. The problem is that the
dialog disappears sudendly after some seconds (a variable number: sometimes
as soon as three-four seconds, others between ten and twelve seconds). To
trigger this bug, just press the "export" button and wait.

This is critical because if the user want to navigate to a folder and uses too
much time, the dialog closes before being able to do the operation.

This seems a problem with the garbage collector. I attach a patch that fixes
it.



-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.9.0-2-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages gnome-sound-recorder depends on:
ii  dconf-gsettings-backend [gsettings-backend]  0.38.0-1
ii  gir1.2-gdkpixbuf-2.0                         2.40.0+dfsg-5
ii  gir1.2-glib-2.0                              1.66.1-1
ii  gir1.2-gst-plugins-bad-1.0                   1.18.1-1
ii  gir1.2-gst-plugins-base-1.0                  1.18.1-1
ii  gir1.2-gstreamer-1.0                         1.18.1-1
ii  gir1.2-gtk-3.0                               3.24.23-2
ii  gir1.2-handy-1                               1.0.1-1
ii  gir1.2-pango-1.0                             1.46.2-3
ii  gjs                                          1.66.1-1
ii  gstreamer1.0-plugins-base                    1.18.1-1
ii  gstreamer1.0-plugins-good                    1.18.1-1
ii  gstreamer1.0-pulseaudio                      1.18.1-1

gnome-sound-recorder recommends no packages.

gnome-sound-recorder suggests no packages.

-- no debconf information
-------------- next part --------------
diff --git a/src/row.js b/src/row.js
index 154c0ef..743de63 100644
--- a/src/row.js
+++ b/src/row.js
@@ -68,16 +68,17 @@ var Row = GObject.registerClass({
         let exportAction = new Gio.SimpleAction({ name: 'export' });
         exportAction.connect('activate', () => {
             const window = Gio.Application.get_default().get_active_window();
-            const dialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
-            dialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
-            dialog.connect('response', (_dialog, response) => {
+            this.exportDialog = Gtk.FileChooserNative.new(_('Export Recording'), window, Gtk.FileChooserAction.SAVE, _('_Export'), _('_Cancel'));
+            this.exportDialog.set_current_name(`${this._recording.name}.${this._recording.extension}`);
+            this.exportDialog.connect('response', (_dialog, response) => {
                 if (response === Gtk.ResponseType.ACCEPT) {
-                    const dest = dialog.get_file();
+                    const dest = this.exportDialog.get_file();
                     this._recording.save(dest);
                 }
-                dialog.destroy();
+                this.exportDialog.destroy();
+                this.exportDialog = null;
             });
-            dialog.show();
+            this.exportDialog.show();
         });
         this.actionGroup.add_action(exportAction);
 


More information about the pkg-gnome-maintainers mailing list