Message 1 of 5
Finding/deleting existing workspaceControl

Not applicable
01-09-2018
04:32 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I have a docking window implemented as a workspaceControl, subclassed from MayaQWidgetDockableMixin like this:
class ToolBrowserWindow(MayaQWidgetDockableMixin, base_class, form_class):
It may be called/recreated multiple times, so I want to delete any existing instances before creating the workspaceControl.
I'm currently doing this:
self.setObjectName(name) workspaceControlName = self.objectName() + 'WorkspaceControl' # Delete existing instance (error comes from here) if maya.cmds.workspaceControl(workspaceControlName, exists=True):
maya.cmds.workspaceControl(workspaceControlName, edit=True, close=True)
maya.cmds.deleteUI(workspaceControlName, control=True) self.show(dockable=True, area='right', floating=True) mayaWorkspaceControl = maya.cmds.workspaceControl(...)
Which appears to work, except I get this error printed:
# Exception RuntimeError: 'Internal C++ object (ToolBrowserWindow) already deleted.' in <bound method ToolBrowserWindow.__del__ of <toolBrowserWindow.ToolBrowserWindow object at 0x000000000C800388>> ignored
What am I doing wrong?