Seeing the code, I think that the problem is that `_onEnabledExtensionsChanged()` is called both when the list of enabled extensions change, and when the list of disabled extensions change. The problem is that it is an async function, and the call in the callback doesn't wait it to finish, so it can result in a race condition. Specifically, it calls asynchronously to `_callExtensionEnable()`, which I think is what can result in the problem.
I think that this patch should fix the problem (and also fix other async calls being done synchronously), but have no way of testing it... ** Patch added: "fix-double-call.patch" https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2098102/+attachment/5857419/+files/fix-double-call.patch -- 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