Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-30388

Freeze when debugging QComboBox->QLineEdit->editingFinished

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • Qt Creator 11.0.1, Qt Creator 12.0.2
    • Debugger
    • None
    • Linux OpenSuse 15.5
      The same is happening on both QT5 and QT6.6.1
      GCC 12.3
      gdb 12.1
    • Linux/X11

    Description

      Hi,
       
      I experience a graphics freeze when debugging a function connected to the QComboBox->QLineEdit->editingFinished signal:

      1. Connect the editingFinished signal of the lineedit of a non-empty combobox to a function (both a lambda and a member function gives the same problem).
      2. Set a breakpoint inside the connected function.
      3. Build and run the application in the debugger.
      4. Click the arrow of the combobox.
      5. The debugger stops at the breakpoint and the graphics session freezes. Only the Start button on the keyboard and the mouse cursor reacts to user input.
      6. I need to switch to a different graphics session to kill the gdb process, and switch back to be able to continue. The debugged app is also closed in the process.
       
      The freeze only seems to happen when clicking the arrow, not when pressing enter or tabbing away from the combobox. Then the debugger still stops, but doesn't freeze.
      And I dont see the same from a regular lineedit object.
       
      I saw the same behavior on QT5 and QT6.6.1, and I have tested on three similar Linux machines. Attached is a file with this simple main.cpp:

       

      #include <QApplication>
      #include <QDialog>
      #include <QVBoxLayout>
      #include <QComboBox>
      #include <QLineEdit>
       
      int main(int argc, char *argv[])
      {
          QApplication a(argc, argv);
          QDialog w;
       
          auto *layout = new QVBoxLayout(&w);
          auto *comboBox = new QComboBox{};
          comboBox->setEditable(true);
          comboBox->addItems({QT_VERSION_STR, "Qt Version"});
       
          QObject::connect(comboBox->lineEdit(), &QLineEdit::editingFinished, [&]()
      {         qDebug() << "hello";     }
      );
       
          layout->addWidget(comboBox);
          w.show();
          return a.exec();
      }
      

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            hjk hjk
            jonei Jon Eiesland
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes