<div dir="ltr"><div dir="ltr">Hi Chris,<br></div><div><br></div><div>I've reviewed the CompositeViewer::addView()/removeView() and then both look fine, for the general case I don't see anything obvious that needs adding.  Calling releaseGLObjecs() isn't something I would add to removeView() as you can have multiple views sharing the same window and sharing the same scene graph so if you did call releaseGLObjects() you only have to recreate them.  If the View has a GraphicsWindow/GraphicsContext of it's own when the window gets closed it should be able to do the clean up then.<br></div><div><br></div><div class="gmail_quote">Would there be any value in making CompositeViewer::addView/removeView() virtual?  So you can subclass from CompositeViewer and override them?</div><div class="gmail_quote"><br></div><div class="gmail_quote">Robert.<br></div></div>