Package: gnome-shell-extension-system-monitor
Version: 35-1
Followup-For: Bug #904442
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu cosmic ubuntu-patch

Dear Maintainer,

https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/issues/449
is the upstream bug for this issue, and the patch is:

https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/commit/0c95c03f0d434b9ce0b18b9a681a41fd8d366ac2

In Ubuntu, the attached patch was applied to achieve the following:

  * debian/patches/fix-object-gio.settings-has-already-been-deallocated.patch:
    Move initialization to enable(), and then properly disable() some objects.
    - LP: #1786608

Thanks for considering the patch. Please note:

* the problem seems to only occur after lock/unlock of your session
* the fix seems to only occur after logout/login of your session (after which
  lock/unlocking the screen no longer logs the errors.


-- System Information:
Debian Release: buster/sid
  APT prefers bionic-updates
  APT policy: (500, 'bionic-updates'), (500, 'bionic-security'), (500, 'bionic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0-29-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
gnome-shell-extension-system-monitor-35/debian/patches/fix-object-gio.settings-has-already-been-deallocated.patch
 
gnome-shell-extension-system-monitor-35/debian/patches/fix-object-gio.settings-has-already-been-deallocated.patch
--- 
gnome-shell-extension-system-monitor-35/debian/patches/fix-object-gio.settings-has-already-been-deallocated.patch
   1969-12-31 18:00:00.000000000 -0600
+++ 
gnome-shell-extension-system-monitor-35/debian/patches/fix-object-gio.settings-has-already-been-deallocated.patch
   2018-08-10 16:15:37.000000000 -0500
@@ -0,0 +1,57 @@
+Description: Move initialization to enable(), and then properly disable() some 
objects
+commit 0c95c03f0d434b9ce0b18b9a681a41fd8d366ac2
+Author: franglais125 <franglais...@gmail.com>
+Date:   Tue Jan 30 19:51:51 2018 -0500
+
+    Move initialization to enable(), and then properly disable() some
+    objects.
+
+    The inconsistency in the enable/disable handling was causing the Schema
+    to be deleted, and never created again when re-enabling.
+Bug: 
https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/issues/449
+Bug-Ubuntu: https://launchpad.net/bugs/1786608
+
+Index: 
gnome-shell-extension-system-monitor-35/system-moni...@paradoxxx.zero.gmail.com/extension.js
+===================================================================
+--- 
gnome-shell-extension-system-monitor-35.orig/system-moni...@paradoxxx.zero.gmail.com/extension.js
++++ 
gnome-shell-extension-system-monitor-35/system-moni...@paradoxxx.zero.gmail.com/extension.js
+@@ -2230,6 +2230,11 @@ var init = function () {
+         Locale = Locale.split('_')[0];
+     }
+ 
++    IconSize = Math.round(Panel.PANEL_ICON_SIZE * 4 / 5);
++};
++
++var enable = function () {
++    log('System monitor applet enabling');
+     Schema = Convenience.getSettings();
+ 
+     Style = new smStyleManager();
+@@ -2237,11 +2242,6 @@ var init = function () {
+ 
+     Background = color_from_string(Schema.get_string('background'));
+ 
+-    IconSize = Math.round(Panel.PANEL_ICON_SIZE * 4 / 5);
+-};
+-
+-var enable = function () {
+-    log('System monitor applet enabling');
+     if (!(smDepsGtop && smDepsNM)) {
+         Main.__sm = {
+             smdialog: new smDialog()
+@@ -2423,7 +2423,14 @@ var disable = function () {
+     //        Main.__sm.elts[i].hide_system_icon(false);
+     // }
+ 
+-    MountsMonitor.disconnect();
++    if (MountsMonitor) {
++        MountsMonitor.disconnect();
++        MountsMonitor = null;
++    }
++
++    if (Style) {
++        Style = null;
++    }
+ 
+     Schema.run_dispose();
+     for (let eltName in Main.__sm.elts) {
diff -Nru gnome-shell-extension-system-monitor-35/debian/patches/series 
gnome-shell-extension-system-monitor-35/debian/patches/series
--- gnome-shell-extension-system-monitor-35/debian/patches/series       
1969-12-31 18:00:00.000000000 -0600
+++ gnome-shell-extension-system-monitor-35/debian/patches/series       
2018-08-10 16:10:21.000000000 -0500
@@ -0,0 +1 @@
+fix-object-gio.settings-has-already-been-deallocated.patch

Reply via email to