I've spent about 4 hours now trying to figure this out... I have a Popup that's been removed using PopupManager.removePopup(..) but is still lingering around. Using the profiler, I've found that it has 4 Object Reference Paths:
1) Popup > Class (focusedContainer) > Object (ContainerGlobals)
2) Popup > PopupSkin > TextInputSkin > RichEditableText > CSSTextLayoutFormat > Dictionary > Class (computedFormatCache) > Object (HostFormatHelper)
3) Popup > PopupSkin > Label > Dictionary > Class (cachedFontsForObjects) > Object (IEmbeddedFontRegistry) > Class (classMap) > Object (Singleton)
4) Popup > PopupSkin > Label > Dictionary > Class (cachedFontsForObjects) > Object (EmbeddedFontRegistry)
Why would any of these keep my popup from going away? I can force the garbage collector to run, and it's still around. Any help would be appreciated- I have no idea what to do next to troubleshoot this.
Before someone links me to them, yes, I have read:
The first one. In theory, the framework should have set focus back to
whereever it was when the popup was first created and then focusedContainer
would point to that thing instead of the popup. If the popup was created at
startup time, you may have to set focus to some component in the main app.
That was exactly it- thanks. The popup was created at startup, but oddly enough wasn't getting cleaned up even after clicking around the app... I guess a textinput or other component that naturally draws focus would have to be activated to do it?
Yeah focus has to go to another focusable control