]> git.mxchange.org Git - flightgear.git/commitdiff
Make sure FlightGear is initialized before using the PUI dialog box, dump the the...
authorErik Hofman <erik@ehofman.com>
Thu, 21 Jul 2016 11:42:09 +0000 (13:42 +0200)
committerRoland Haeder <roland@mxchange.org>
Thu, 22 Sep 2016 21:27:48 +0000 (23:27 +0200)
src/GUI/MessageBox.cxx

index 856e15a2755a90630a77ffb1cc87bb2e9bffd737..846752af859a8d6a03ab7f538acacff505302966 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "MessageBox.hxx"
 
+#include <Main/fg_props.hxx>
 #include <Main/globals.hxx>
 #include <Viewer/renderer.hxx>
 #include <GUI/new_gui.hxx>
@@ -132,12 +133,15 @@ MessageBoxResult modalMessageBox(const std::string& caption,
     if (!moreText.empty()) {
         s += "\n( " +  moreText + ")";
     }
-//  SG_LOG(SG_GENERAL, SG_ALERT, s);
 
-    NewGUI* _gui = (NewGUI *)globals->get_subsystem("gui");
-    SGPropertyNode_ptr dlg = _gui->getDialogProperties("popup");
-    dlg->setStringValue("text/label", s  );
-    _gui->showDialog("popup");
+    if (fgGetBool("/sim/initialized", false) == false) {
+        SG_LOG(SG_GENERAL, SG_ALERT, s);
+    } else {
+        NewGUI* _gui = (NewGUI *)globals->get_subsystem("gui");
+        SGPropertyNode_ptr dlg = _gui->getDialogProperties("popup");
+        dlg->setStringValue("text/label", s  );
+        _gui->showDialog("popup");
+    }
     return MSG_BOX_OK;
 #endif
 }
@@ -153,11 +157,18 @@ MessageBoxResult fatalMessageBox(const std::string& caption,
 #elif defined(HAVE_QT)
     return QtMessageBox(caption, msg, moreText, true);
 #else
-    std::cerr << "FATAL:" << msg << "\n";
+    std::string s = "FATAL: "+ msg;
     if (!moreText.empty()) {
-        std::cerr << "(" << moreText << ")";
+        s += "\n( " +  moreText + ")";
+    }
+    if (fgGetBool("/sim/initialized", false) == false) {
+        std::cerr << s << std::endl;
+    } else {
+        NewGUI* _gui = (NewGUI *)globals->get_subsystem("gui");
+        SGPropertyNode_ptr dlg = _gui->getDialogProperties("popup");
+        dlg->setStringValue("text/label", s  );
+        _gui->showDialog("popup");
     }
-    std::cerr << std::endl;
     return MSG_BOX_OK;
 #endif
 }