Extension windows are frozen when app is closed (not quit) and reopened.
I create Illustrator extensions for our internal users and one of the users reported an issue with the extensions being frozen.
I looked into the issue and determined its an issue that effects all Illustrator extensions and out of my control. When a user has an extension loaded and closes the window but leaves the app running with no windows open, when they go open another file the extensions are reloaded but are frozen.
Reproduction Steps:
1. Open Illustrator
2. Window >> Extensions >> Select an extension
3. Perform an action in the extension (example: scrolling)
4. Close the Illustrator window (application still running but with no windows open)
5. Open a file in Illustrator
6. Try to perform actions in extension
Actual Behavior: The extension UI is frozen and actions like scrolling or opening tabs don't work, however if you click on something that performs an action the action is performed so its just the UI painting that isn't working.
Expected Behavior: Everything works as it did before.
Some Additional information from my troubleshooting efforts:
This appears to be an issue with the CEF renderer inside Illustrator. When a CEP Panel is opened it runs inside the existing CEF renderer process or creates a new one. The render processes visual output is composited into a NSWindow owned by Illustrator. Closing the last window destroys the NSWindow even though Illustrator remains running. When a new window is opened a a new NSWindow is created and reestablishes existing connections to it. The connection is established which is why the JavaScript runs but the composited NSWindow is stuck on what was painted when the connection closed.