This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Qt5 eglError 300d & 12301 when opening QFileDialog

Hallo,

I am using Qt5 with linux in AM335x processor. Qt version is 5.0.2, compiled with relevant patches from prabindh - https://github.com/prabindh/qt-configs/

Basic QWidget based GUI is working. But, I am unable to call any dialogs / other windows from my Qt5 application. 

For Example:QFileDialog is shown okay when called from main GUI. Selecting a file and pressing OK / Cancel results in a frozen dialog screen. Any other touche input produces this error:

QEGLPlatformContext::makeCurrent: eglError: 300d, this: 0x41e15338

QEGLPlatformContext::swapBuffers(): eglError: 12301, this: 0x41e15338

Upon debugging I can see that the control returns from the FileDialog just  fine with the proper file name, but the main GUI is not being drawn anymore.

Also tried running the example applications that has dialogs/multiple windows and the result is same as above. And none of the windows / widgets /dialogs have any window borders / title bar even after setting windowflags to popup / window / subwindow

Can anyone help me with this ? Any points would be appreciated.

Thanks alot.

Ram

  • Temporary Workaround :

    Call any dialogs / Widgets with the main widget as parent and then repaint the main widget when the called widget / dialog returns.

    example filedialog:


    QFileDialog *f1 = new QFileDialog(this,Qt::FramelessWindowHint);

    f1->setFileMode(QFileDialog::AnyFile);
    f1->setNameFilter(tr("csv files(*.csv)"));
    f1->setViewMode(QFileDialog::Detail);

    if(f1->exec())

              qDebug()<<f1->selectedFiles().at(0);

    this->repaint();

    If anyone has a better solution please post here.