Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Qt translation - Crashes in Mac

    General and Desktop
    2
    3
    998
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mpcarlos87 last edited by

      Hello,

      I have an application developed with Qt 5.2.1 and it works perfectly on Windows system . I'm trying to make it work on MacOS with XCode but* i got a crash when i'm installing a new translator into the qApp* for the translation (when the user selects another language).

      Debugging with XCode (which i have no idea), throws me an* EXC_BAD_ACCESS *just after installing the new translator and redirects me to the app.exec() to the main file.

      At the moment of installing the new translation , there is a previous one installed from the main when the program starts. The sequence is this:

      • Main-> set the default language ->Open MainWindow
      • MainWindow->User Changes the language (and i'm trying to access the qApp pointer from here to install the translator).

      Can someone help me with this? Thanks in advance :)

      PD: If i comment the line of the installtranslator method, the application works well but no translation is made hehe. Also the translator loads well the language before trying to install it.

      EDIT: Crash report
      @Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
      0 QtWidgets 0x0000000114036c57 QLabel::setText(QString const&) + 23
      1 QtWidgets 0x00000001140e0d12 QColorDialogPrivate::retranslateStrings() + 82
      2 QtWidgets 0x00000001140e16ce QColorDialog::changeEvent(QEvent*) + 30
      3 QtWidgets 0x0000000113f5592f QWidget::event(QEvent*) + 2799
      4 QtWidgets 0x0000000113f1cf2c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
      5 QtWidgets 0x0000000113f1fa1d QApplication::notify(QObject*, QEvent*) + 6157
      6 QtCore 0x000000010b9690b2 QCoreApplication::notifyInternal(QObject*, QEvent*) + 114
      7 QtWidgets 0x0000000113f55b7d QWidget::event(QEvent*) + 3389
      8 QtWidgets 0x0000000113f1cf2c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
      9 QtWidgets 0x0000000113f1fa1d QApplication::notify(QObject*, QEvent*) + 6157
      10 QtCore 0x000000010b9690b2 QCoreApplication::notifyInternal(QObject*, QEvent*) + 114
      11 QtWidgets 0x0000000113f55b7d QWidget::event(QEvent*) + 3389
      12 QtWidgets 0x0000000114049807 QMainWindow::event(QEvent*) + 935
      13 QtWidgets 0x0000000113f1cf2c QApplicationPrivate::notify_helper(QObject*, QEvent*) + 300
      14 QtWidgets 0x0000000113f1fa1d QApplication::notify(QObject*, QEvent*) + 6157
      15 QtCore 0x000000010b969c07 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + @

      1 Reply Last reply Reply Quote 0
      • Jeroentjehome
        Jeroentjehome last edited by

        Hi,
        What I use it this:
        @
        qApp->removeTranslator(&translator);
        QString strFullFileName(QString("%1/HD120_%2.qm").arg(m_langPath).arg(strLang));
        if (translator.load(strFullFileName) == true)
        {
        qApp->installTranslator(&translator);
        }
        @
        So maybe the removeTranslator and load function protect me from setting up a incorrect translator. It never crashes in my program.

        Greetz, Jeroen

        1 Reply Last reply Reply Quote 0
        • M
          mpcarlos87 last edited by

          Hi Jeroentje,

          Thanks for your answer.

          I'm checking like you the translation process (first removing the translator from the qApp pointer, and after it loading the new .qm file ,it loads the file well).

          In fact sometimes (not always) the change event of the language is thrown and i get it (just sometimes). Also the application is translated when i execute it again (I store it in QSettings).

          1 Reply Last reply Reply Quote 0
          • First post
            Last post