summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_MacOS_Sys_Menu_Bar.mm12
-rw-r--r--src/Fl_Sys_Menu_Bar.cxx34
2 files changed, 21 insertions, 25 deletions
diff --git a/src/Fl_MacOS_Sys_Menu_Bar.mm b/src/Fl_MacOS_Sys_Menu_Bar.mm
index 93182d36f..4d1799812 100644
--- a/src/Fl_MacOS_Sys_Menu_Bar.mm
+++ b/src/Fl_MacOS_Sys_Menu_Bar.mm
@@ -25,13 +25,13 @@
Fl_MacOS_Sys_Menu_Bar_Driver* Fl_MacOS_Sys_Menu_Bar_Driver::new_driver() {
static Fl_MacOS_Sys_Menu_Bar_Driver *once = new Fl_MacOS_Sys_Menu_Bar_Driver();
- if (Fl_Sys_Menu_Bar_Driver::driver_ != once) {
- if (Fl_Sys_Menu_Bar_Driver::driver_) {
- once->bar = Fl_Sys_Menu_Bar_Driver::driver_->bar;
- delete Fl_Sys_Menu_Bar_Driver::driver_;
+ if (driver_ != once) {
+ if (driver_) {
+ once->bar = driver_->bar;
+ delete driver_;
}
- Fl_Sys_Menu_Bar_Driver::driver_ = once;
- if (Fl_Sys_Menu_Bar_Driver::driver_->bar) Fl_Sys_Menu_Bar_Driver::driver_->bar->update();
+ driver_ = once;
+ if (driver_->bar) driver_->update();
}
return once;
}
diff --git a/src/Fl_Sys_Menu_Bar.cxx b/src/Fl_Sys_Menu_Bar.cxx
index 71613dd0b..044b85b1b 100644
--- a/src/Fl_Sys_Menu_Bar.cxx
+++ b/src/Fl_Sys_Menu_Bar.cxx
@@ -23,21 +23,6 @@
Fl_Sys_Menu_Bar *fl_sys_menu_bar = 0;
-// initialize this static variable if it was not initialized previously
-Fl_Sys_Menu_Bar_Driver* Fl_Sys_Menu_Bar_Driver::new_driver() {
- if (!driver_) { // initialize this static variable if it was not initialized previously
- static Fl_Sys_Menu_Bar_Driver *once = new Fl_Sys_Menu_Bar_Driver();
- driver_ = once;
- }
- return driver_;
-}
-
-inline Fl_Sys_Menu_Bar_Driver *Fl_Sys_Menu_Bar::driver() {
- return Fl_Sys_Menu_Bar_Driver::new_driver();
-}
-
-Fl_Sys_Menu_Bar_Driver *Fl_Sys_Menu_Bar_Driver::driver_ = Fl_Sys_Menu_Bar_Driver::new_driver();
-
/**
The constructor.
On Mac OS X, all arguments are unused. On other platforms they are used as by Fl_Menu_Bar::Fl_Menu_Bar().
@@ -57,10 +42,6 @@ Fl_Sys_Menu_Bar::~Fl_Sys_Menu_Bar()
clear();
}
-Fl_Sys_Menu_Bar_Driver::Fl_Sys_Menu_Bar_Driver() {bar = NULL;}
-
-Fl_Sys_Menu_Bar_Driver::~Fl_Sys_Menu_Bar_Driver() {}
-
void Fl_Sys_Menu_Bar::update() {
driver()->update();
}
@@ -192,6 +173,21 @@ void Fl_Sys_Menu_Bar::draw() {
driver()->draw();
}
+#if !defined(FL_DOXYGEN)
+Fl_Sys_Menu_Bar_Driver *Fl_Sys_Menu_Bar::driver() {
+ if (!Fl_Sys_Menu_Bar_Driver::driver_) { // initialize this static variable if it was not initialized previously
+ Fl_Sys_Menu_Bar_Driver::driver_ = new Fl_Sys_Menu_Bar_Driver();
+ }
+ return Fl_Sys_Menu_Bar_Driver::driver_;
+}
+
+Fl_Sys_Menu_Bar_Driver *Fl_Sys_Menu_Bar_Driver::driver_ = Fl_Sys_Menu_Bar::driver();
+
+Fl_Sys_Menu_Bar_Driver::Fl_Sys_Menu_Bar_Driver() {bar = NULL;}
+
+Fl_Sys_Menu_Bar_Driver::~Fl_Sys_Menu_Bar_Driver() {}
+#endif // !defined(FL_DOXYGEN)
+
//
// End of "$Id$".
//