JMarc,

I have fixed things in my tree here so that this should be pretty easy. All 
insets with dialogs are now derived from withDialog, so:

#include "frontends/DialogBase.h"
#include <sigc++/signal_system.h>

class withDialog {
public:
        virtual ~withDialog()
        {
                if (connected())
                        hideDialog_();
        }
        bool connected() const
        {
                return hideConnection_.connected();
        }
        void disconnect()
        {
                hideConnection_.disconnect();
        }
        void connect(DialogBase & dialog)
        {
                hideConnection_ =
                        hideDialog_.connect(SigC::slot(&dialog, &DialogBase::hide));
        }

private:
        ///
        SigC::Signal0<void> hideDialog_;
        ///
        SigC::Connection hideConnection_;
};


That is, the all important SigC::Connection has been moved from the 
controllers to the inset, where it really belongs.

Remind me again about the LFUNs and how they are to be used.

Angus

Reply via email to