qapp->translate Seg Fault

Alles zur Entwicklung von KDE - Anwendungen
Antworten
mase
Beiträge: 39
Registriert: 8. Mai 2007 00:17

qapp->translate Seg Fault

Beitrag von mase »

Hallo!
Ich habe meine ersten Versuche mit QT3 und KDE gestartet.
Mein Projekt habe ich in Kdevelop erstellt.
Jedoch gibt es Probleme mit der tr()-Funktion.
Folgende Codestelle:

Code: Alles auswählen

 NewAct = new QAction(tr("&New"), tr("Ctrl+N"), this);
 NewAct->setIconSet(QPixmap::QPixmap("images/new.png"));
 NewAct->setStatusTip(tr("Create a new Project"));
 connect(NewAct, SIGNAL(activated()), this, SLOT(newProject()));
ergibt einen Seg Fault.
Beim Debuggen hab ich festgestellt, dass es an der return Anweisung
von

Code: Alles auswählen

if ( qApp )
return qApp->translate( "cMainwindow", s, c, QApplication::DefaultCodec );
else
return QString::fromLatin1( s );
scheitert. Ich habe eine einfache KDE-Anwendung (Automake based)
erstellt.
Ich hab noch keine Übersetzungsdateien erstellt, ich will die Anwendung
nur dafür vorbereiten.
Weiss jemand Rat?
Ich verwende Debian Etch mit Kdevelop-3.4.0.
mase
Beiträge: 39
Registriert: 8. Mai 2007 00:17

Beitrag von mase »

In der Anweisung

Code: Alles auswählen

return qApp->translate( "cMainwindow", s, c, QApplication::DefaultCodec ); 
zeigt der Debugger für s die Adresse 0x8057f37 und den Wert "&New"
an. Scheint ja ok.
Doch c weist auf 0x0.
mase
Beiträge: 39
Registriert: 8. Mai 2007 00:17

Beitrag von mase »

Ich hab's gelöst!
Ich habe den Menüs Actions hinzugefügt, die zu diesem Zeitpunkt noch
gar nicht existieren. Ich hab sie ja noch gar nicht implementiert.
Wie blöd!
Doch der Debugger hat sich auch seltsam verhalten, weil er mir den
Seg Fault immer an einer anderen Stelle ausgegeben hat.
Antworten