I’ve run into a strange issue in Rhino 6 where I get repeated exceptions when certain forms are closed or reopened. This was occurring with an Eto plugin I’m working on, but I’ve been able to recreate it with the _PluginManager.
Important: I haven’t been able to reproduce this on my second machine, so I assume it’s environment specific. However I have reinstalled Rhino to no avail.
The exception being thrown is:
Exception thrown: 'System.ComponentModel.Win32Exception' in WindowsBase.dll
with the string
'Invalid window handle'
at MS.Win32.UnsafeNativeMethods.GetWindowText(HandleRef hWnd, StringBuilder lpString, Int32 nMaxCount)
My steps to reproduce are:
- Install fresh Rhino 6
- Launch Rhino
- Ensure no 3rd party plugins are loaded or even referenced in PluginManager
- Attach VS debugger
- Open _PluginManager
- Observe that everything is fine.
- Close _PluginManager
- Re-open _PluginManager
- Select an plugin
- Click OK to close _PluginManager
- Open _PluginManager again
- Observe that lots of Win32Exceptions are being thrown
- Mouseover any control, observe that more exceptions are thrown as new controls are are moused-over.
To reproduce with my Eto plugin, the steps are similar but are triggered when closing/reopening the panel, which is also triggered by opening a new document.
These exceptions are very nondescript hence why I’m after some advice as to what in my environment might be causing this, given that I’m not able to reproduce on my second machine. The effects also appear to be negligible, except that the load times for the windows are significantly slower due to all the exceptions.
The diagnostic output and system information is here.