/** * \file Dialogs.C * Copyright 1995-2002 The LyX Team. * See the file COPYING. * \author Angus Leeming * * Common to all frontends' Dialogs */ #include #ifdef __GNUG__ #pragma implementation #endif #include "Dialogs.h" // Note that static boost signals break some compilers, so this wrapper // initialises the signal dynamically when it is first invoked. template class BugfixSignal { public: Signal & operator()() { return thesignal(); } Signal const & operator()() const { return thesignal(); } private: Signal & thesignal() const { if (!signal_.get()) signal_.reset(new Signal); return *signal_; } mutable boost::scoped_ptr signal_; }; boost::signal0 & Dialogs::redrawGUI() { static BugfixSignal > thesignal; return thesignal(); }