As I suspected... when calling enable() twice, the old pointers to the previous methods are overwritten with the new function pointer; and that's why disabling the extension won't restore them.
A quick workaround is to keep track of the current status, and just ignore any enable() called when the extension has already been enabled. I can do it quickly. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to 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 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs