Lenard Lindstrom wrote:
However, after a bit of experimenting I find a window can have both a renderer and a display surface.
In that case, I'd suggest the Window object should have 'renderer' and 'surface' attributes. If the Renderer or Surface keeps a reference back to the window, it should probably be a weak reference, so that they won't keep each other alive. If code that uses the Renderer or Surface obtains it from the Window when needed and doesn't store a reference to it long-term, then dropping the Window will cause the whole lot to disappear. -- Greg