diff --git a/src/Viewer/fg_os_osgviewer.cxx b/src/Viewer/fg_os_osgviewer.cxx index b925045aa..498735fed 100644 --- a/src/Viewer/fg_os_osgviewer.cxx +++ b/src/Viewer/fg_os_osgviewer.cxx @@ -190,18 +190,19 @@ public: // that internally, so we simply pass the message on. virtual void notify(osg::NotifySeverity severity, const char *message) { - SG_LOG(SG_GL, translateSeverity(severity), message); - // Detect whether a osg::Reference derived object is deleted with a non-zero // reference count. In this case trigger a segfault to get a stack trace. if( strstr(message, "the final reference count was") ) { - + // as this is going to segfault ignore the translation of severity and always output the message. + SG_LOG(SG_GL, SG_ALERT, message); int* trigger_segfault = 0; *trigger_segfault = 0; + return; } + SG_LOG(SG_GL, translateSeverity(severity), message); } - + private: sgDebugPriority translateSeverity(osg::NotifySeverity severity) {