예제 #1
0
    ~Pimpl()
    {
        std::for_each(mSigcConnections.begin(), mSigcConnections.end(),
                      DisconnectSignal());

        if (mDialog) {
            mDialog->hide();
        }
    }
예제 #2
0
void ConnectionManagerImpl::UnregisterSignal(const int type, const QObject *obj, const QString &signal)
{
    Q_ASSERT(obj != NULL);
    Q_ASSERT(!signal.isEmpty());
    if(obj == NULL || signal.isEmpty())
    {
        return;
    }

    connection_locker_.lock();
    DisconnectSignal(type, obj, signal);
    DeleteSignal(type, obj, signal);
    connection_locker_.unlock();
}