[solved] Translation on the fly crashes
-
@qApp->installTranslator(translator);@ this line causes the segmentation fault apparently..
-
Are you sure translator is valid ?
-
@MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
translator = new QTranslator(0);@I can translate the whole program while being on MainWindow. As soon as I go into a widget, I can no longer translate the program. It crashes :s
-
That's in the MainWindow, how do you do it in your widget ?
-
I emit a signal from the widget which is then caught by the main window :
WIDGET :
@void ui_sys_settings::languageToEn()
{
emit toEnglish();
}void ui_sys_settings::languageToFr()
{
emit toFrench();
}@MAINWINDOW :
@connect(sysSettings,SIGNAL(toEnglish()),this,SLOT(changeToEnglish()));
connect(sysSettings,SIGNAL(toFrench()),this,SLOT(changeToFrench()));void MainWindow::changeToFrench()
{
if(!translator->isEmpty())
qApp->removeTranslator(translator);
}void MainWindow::changeToEnglish()
{
if(!translator->isEmpty())
qApp->removeTranslator(translator);translator->load("dcl_en",QApplication::applicationDirPath()); qApp->installTranslator(translator);
}@
-
Are you sure you need to re-install the translator ?
-
I only install it when I load the english language file. It is never installed otherwise
-
Strange...
Could you post/share a minimal compilable example that shows the problem ? -
hmmm. post an example from my own program ?
-
Rather the minimal code that reproduce the crash
-
Oh. The code that produce the crash is the code I have posted above.
If I take the instruction " qApp->installTranslator(translator);" off, then it doesn't crash. But I have nothing translated lol
-
Indeed, but with only pieces of code, I can't try to reproduce the crash.
-
oh. Do you want the full code of the class ?
-
Or I can send you the source files by email if you want. Maybe it could be easier for you to see what's wrong
-
You can also use a service like "pastbin":http://pastebin.com/
-
Should I paste all my code with pastbin SGalst ?
-
Only what is needed to build and trigger the crash
-
It is a graphic application. You would need the images files to be able to hit the button.
Any way I can give it to you ?
-
What do you mean by "images files to be able to hit the button" ?
-
In order to trigger the crash, you have to run the application then hit a button to load a widget. Then you have to hit another button to start the translation. (and then it crashes).
If you want to trigger the crash yourself, you would need the whole program I think. (I have got too many classes ad I don't really know what is the minimal stuff you would need to be able to compile it)