]> git.mxchange.org Git - flightgear.git/commitdiff
Always log message if going to segfault during notify logging.
authorRichard Harrison <rjh@zaretto.com>
Fri, 10 Apr 2015 21:49:50 +0000 (23:49 +0200)
committerRichard Harrison <rjh@zaretto.com>
Fri, 10 Apr 2015 21:51:32 +0000 (23:51 +0200)
src/Viewer/fg_os_osgviewer.cxx

index b925045aa42ecb12b37bd9cfc01d4a3ccb0fb292..498735fedc90bfdd85e55df1981dfedfdac60a29 100644 (file)
@@ -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)
   {