]> git.mxchange.org Git - flightgear.git/blobdiff - src/GUI/new_gui.cxx
Fix shared library build for metar executable
[flightgear.git] / src / GUI / new_gui.cxx
index a374b2912ae3e0e23609137b8b5b7505fb6b45c6..c13456068ba39ca860d08ff393669c0e021a3b4c 100644 (file)
 #include "GL/glx.h"
 #endif
 
-#include "menubar.hxx"
+#include "FGPUIMenuBar.hxx"
+
+#if defined(SG_MAC)
+#include "FGCocoaMenuBar.hxx"
+#endif
+
 #include "FGPUIDialog.hxx"
 #include "FGFontCache.hxx"
 #include "FGColor.hxx"
@@ -40,15 +45,18 @@ using std::string;
 
 
 
-NewGUI::NewGUI ()
-    : _menubar(new FGMenuBar),
-      _active_dialog(0)
+NewGUI::NewGUI () :
+  _active_dialog(0)
 {
+#if defined(SG_MAC)
+  _menubar.reset(new FGCocoaMenuBar);
+#else
+  _menubar.reset(new FGPUIMenuBar);
+#endif
 }
 
 NewGUI::~NewGUI ()
 {
-    delete _menubar;
     _dialog_props.clear();
     for (_itt_t it = _colors.begin(); it != _colors.end(); ++it)
         delete it->second;
@@ -92,8 +100,9 @@ NewGUI::reset (bool reload)
     setStyle();
 
     unbind();
-    delete _menubar;
-    _menubar = new FGMenuBar;
+#if !defined(SG_MAC)
+    _menubar.reset(new FGPUIMenuBar);
+#endif
 
     if (reload) {
         _dialog_props.clear();
@@ -214,7 +223,7 @@ NewGUI::getActiveDialog ()
 FGMenuBar *
 NewGUI::getMenuBar ()
 {
-    return _menubar;
+    return _menubar.get();
 }
 
 bool