Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-108908

closing QComboBox popup with Escape key also closes QDialog on macOS

    XMLWordPrintable

Details

    • macOS
    • a87408750 (dev), f8b151891 (6.4), 7107b4ae5 (6.4), c95de359b (dev)

    Description

      Escape key press is somehow propagated to parent dialog when combo box popup is closed with it. As a result, the dialog gets closed.

      Consider this code.

      #include <QApplication>
      #include <QComboBox>
      #include <QDialog>
      #include <QVBoxLayout>
      
      int main(int argc, char *argv[])
      {
          QApplication a(argc, argv);
          QDialog w;
          auto vbox = new QVBoxLayout();
          w.setLayout(vbox);
          auto combo = new QComboBox();
          vbox->addWidget(combo);
          combo->addItems({"A", "B", "C"});
          w.open();
          return a.exec();
      }
      

      Steps to reproduce:
      1) run the code
      2) click the combo box to open the popup
      3) press Escape to close the popup

      Actual behavior:

      • Dialog is closed.

      Expected behavior:

      • Only popup is closed but not dialog.

      This bug seems to exist only on macOS, everything seems to work well on Windows and Linux.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-108908
          # Subject Branch Project Status CR V

          Activity

            People

              vhilshei Volker Hilsheimer
              vladimir.kraus Vladimir Kraus
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: