It's a bug in the gnome-shell extension manager.

I made DING print traces of when it receives enable(). Notice we get two
calls, first from extensionSystem.js:739:18, then from
extensionSystem.js:736:18

Feb 13 09:48:24 ubuntu gnome-shell[2776]: Trace
  
enable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/gnomeShellOverr>
  
innerEnable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/extension.>
  
enable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/extension.js:84>
  _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:267:38
  
async*_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js>
  _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:736:18
  
createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
  enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:290:29
  EnableExtension@resource:///org/gnome/shell/ui/shellDBus.js:453:38
  
_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:329:38
  _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
  @resource:///org/gnome/shell/ui/init.js:21:20

Feb 13 09:48:25 ubuntu gnome-shell[2776]: Trace
  
enable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/gnomeShellOverr>
  
innerEnable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/extension.>
  
enable@file:///usr/share/gnome-shell/extensions/d...@rastersoft.com/extension.js:84>
  _callExtensionEnable@resource:///org/gnome/shell/ui/extensionSystem.js:267:38
  
async*_onEnabledExtensionsChanged@resource:///org/gnome/shell/ui/extensionSystem.js>
  _loadExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:739:18
  
createCheckedMethod/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:730:46
  enableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:285:29
  EnableExtension@resource:///org/gnome/shell/ui/shellDBus.js:453:38
  
_handleMethodCall@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:329:38
  _wrapJSObject/<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:408:34
  @resource:///org/gnome/shell/ui/init.js:21:20


In the live session, DING is initially disabled via dconf:
$ gsettings get org.gnome.shell disabled-extensions
['d...@rastersoft.com']

Then, when ubuntu-desktop-bootstrap exits it calls `gnome-extensions
enable d...@rastersoft.com`, which removes it from the `disabled-
extensions` list, and adds it to the `enabled-extensions` list.
Sometimes (why only sometimes?) this two-step process makes it call
enable() twice.

DING could be made more robust against getting enabled twice, but gnome-
shell should not be doing this.

** Changed in: gnome-shell (Ubuntu)
       Status: Incomplete => Confirmed

** Changed in: gnome-shell-extension-desktop-icons-ng (Ubuntu)
       Status: Incomplete => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gnome-shell in Ubuntu.
https://bugs.launchpad.net/bugs/2098102

Title:
  Desktop switching shows windows from previous desktop

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2098102/+subscriptions


-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to