Cosa c'è di sbagliato nel codice che segue tale da provocare un segmentation fault?
codice:
void mywindow::languageSlot(boolChecked){
    QString x=text1.toPlainText();
    std::string tt=x.toUtf8().constData();
    ToTransliterate *r;
    if(Checked){
        this->language=sender()->property("language").toInt();
        switch(this->language){
            case 0: //Belarusian
                      r=new Belarusian();
                      break;
            case 1: //Bulgarian
                      r=new Bulgarian();
                      break;
            case 2: //Macedonian
                      r=new Macedonian();
                      break;
            case 3: //Russian
                      r=new Russian();
                      break;
            case 4: //Serbian
                      r=new Serbian();
                      break;
            case 5: //Ukrainian
                      r=new Ukrainian();
                      break;
        }
       text2.setPlainText(QString::fromStdString(r->Transliterate(tt)));
       delete r;
    }
}
Ho notato che togliendo tutti new il programma non da problemi.