diff options
Diffstat (limited to 'src/Fl_Sys_Menu_Bar.cxx')
| -rw-r--r-- | src/Fl_Sys_Menu_Bar.cxx | 34 |
1 files changed, 15 insertions, 19 deletions
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$". // |
