Question

I have the following Qt code:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    ChoosingDialog cdlg;

    if(!startWin.exec())
    {
        // nothing chosen
        return 0;
    }

    if(cdlg.firstWindowSelected)
    {
        CFirstWindow win;
        win.show();

        return app.exec();
    }
    else
    {
        CSecondWindow win;
        win.show();

        return app.exec();
    }

}

this seems to work but it's giving me an error on "event dispatcher cleanup" in some asm line. I tried to trick a bit and I saw that the problem is related to the app.exec() calling.

Update: if I add these lines to the ChoosingDialog (this is a simple blank class auto-generated by Qt Creator)

void ChoosingDialog ::closeEvent(QCloseEvent *)
{
    exit(1);
}

I receive no errors

Was it helpful?

Solution

Turns out I was using the "singleapplication" class before the QApplication.. and something went wrong on the shared memory lock.

As soon as I restarted my system the exception disappeared... bof.. do you believe in magic?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top