Делаю сигнал-солот соединение и вылетает на нем
Не могу понять, вроде все правильно сделал.
C++ (Qt)
void MainWindow::createMenu()
{
    QMenu *menuFile = ui->menuBar->addMenu("Файл");
    QAction *actExit = menuFile->addAction("Выход");
    connect(actExit,SIGNAL(triggered()),this,SLOT(close()));
 
    QMenu *menuSettings = ui->menuBar->addMenu("Настройки");
    a = new ActionSettings(&connection,"Соединение");
    connect(a,SIGNAL(changeDataConnection(QString)),leStatusAddress,SLOT(setText(QString)));//ВЫЛЕТАЕТ
    menuSettings->addAction((QAction*)a);
}
 
ActionSettings::ActionSettings(connection_data *connection, const QString &str, QObject *parent):
    QAction(str,parent),
    c_d(connection),
    name(str)
{
    connect(this,SIGNAL(triggered()),this,SLOT(showDialogSettings()));
}
 
ActionSettings::~ActionSettings()
{
}
 
void ActionSettings::showDialogSettings()
{
    QString str_addr;
    int port;
    DialogSettings *dialog = new DialogSettings(name,c_d->addr,c_d->port);
    if(dialog->exec() == QDialog::Accepted){
        str_addr = dialog->getAddress().toString();
        port = dialog->getPortNumber();
    }
    else{
        str_addr = dialog->setDefaultAddress().toString();
        port = dialog->setDefaultPortNumber();
    }
    c_d->addr.setAddress(str_addr);
    c_d->port = port;
    str  = "адресс: " + c_d->addr.toString() + "  порт: " + QString("%1").arg(c_d->port);
    //qDebug()<<"адресс: "<<c_d->addr.toString()<<"  порт: "<< QString("%1").arg(c_d->port);
    delete dialog;
 
    changeDataConnection(str);
}
 
Подскажите в чем может быть баг 
