Fix: Support for Aggregate / Element Objects in the Object Viewer [5982] [1] Bug Number: 5982 Release notes (y/n): no For Release Nums: 7.1.0 (after two pre-releases) Deficiencies in the new Object Viewer's support for Aggregate Object Elements have been addressed. (1) The following two methods needed special provisions for the provided SimObj* being an Element Object on an Aggregate Object. In that circumstance, most operations need to operate on the containing Aggregate Object, rather than on the provided child Element Object. (a) OpenObjectDlg::selectObjTab (SimObj*); (b) Workspace::moveSimObjToViewer (SimObj*, OpenObjectDlg*); (2) Incorrect processing of Aggregate Object deletions (OBJECT_DELETED and WS_OBJECT_REMOVED callbacks) was sometimes resulting in a CRASH in method OpenObjectDlg::deleteInternals(), in the course of removing callbacks registered on Element objects. See the new _processSimObjDeletion_inProgress "flag" (actually, a SimObj pointer), and changes in the OpenObjectDlg:: deleteInternals() method. Note-1: I didn't remove the check and internal error reported in the OpenObjectDlg's 'selectObjTab' method, as suggested in Gnats 5982. That did, in fact, correctly detect and report a fundamental error, regardless of the fact that the GUI ultimately appeared to be operating correctly in that particular scenario. Note-2: In reviewing my changes, I came across some uninitialized and incorrectly initialized rwSetting fields in Sim/OutputCanvasConfig, and also some unchecked rwSetting pointer dereferences I was uncomfortable with. This commit includes changes to address those items. See Sim/OutputCanvasConfig.hpp and .cpp, and Q3GUI/Workspace.cpp. I did test these simple code changes. ---