This seems like a duplicate of #1716982, but maybe it's a regression after that was fixed. Anyway, commenter ernstp identifies the cause in comment #12 [1]:
> Is it some global variable name conflict between the two extensions? "dockManager" perhaps?
You can edit /<email address hidden>/extension.js to check for a null dockManager in the disable() function. That is, change
dockManager.destroy()
to
if (dockManager != null) { dockManager.destroy();
}
and the dock disappears when the screen is locked, as expected.
I'm guessing the problem is that Dash To Dock sets dockManager to null after calling destroy(), and then Ubuntu Dock throws a TypeError when it tries to do the same, so Ubuntu Dock never reaches the ExtensionSystem.disconnect() call.
This seems like a duplicate of #1716982, but maybe it's a regression after that was fixed. Anyway, commenter ernstp identifies the cause in comment #12 [1]:
> Is it some global variable name conflict between the two extensions? "dockManager" perhaps?
You can edit /<email address hidden> /extension. js to check for a null dockManager in the disable() function. That is, change
dockManager .destroy( )
to
if (dockManager != null) {
dockManager. destroy( );
}
and the dock disappears when the screen is locked, as expected.
I'm guessing the problem is that Dash To Dock sets dockManager to null after calling destroy(), and then Ubuntu Dock throws a TypeError when it tries to do the same, so Ubuntu Dock never reaches the ExtensionSystem .disconnect( ) call.
[1] https:/ /bugs.launchpad .net/ubuntu/ +source/ gnome-shell- extension- ubuntu- dock/+bug/ 1716982/ comments/ 12