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

Reg->Qt 6/963c47aece12a0025707c76f6f8cb3de306752b8/MSVC2019/Windows: Crashes in property system

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • None
    • 6.0.0
    • Core: Object Model
    • None
    • Windows

    Description

      On Windows, Qt Designer crashes in QMetaProperty::read() ( qtbug82945.zip
      , qtbug82945_stack.txt) and

      Linux is valgrind-clean; MinGW WIndows also is not affected.

         QPushButton w(qVersion());
         auto mo = w.metaObject();
         int idx = mo->indexOfProperty("shortcut"); // QKeySequence from QtGui (!)
         qDebug() << idx;
         qDebug() << mo->property(idx).read(&w);
      

      I heard rumours that there is some lazy metatype registration or similar; is there some code that is run at library load time, which may work differently on Windows?

      Note: It works for QSizePolicy though, that is maybe it is related to the QKeySequence meta type registration changes due to the QAction split?

      See comment of 8.4.2020, it looks like some compiler bug that for some reason only manifests within widgets. It disappeared at some time in MSVC 2019 16.6, but unfortunately re-appeared in 16.6.

      Attachments

        1. qtbug82945_diag.diff
          1 kB
        2. qtbug82945_stack.txt
          6 kB
        3. qtbug82945_tpl_diag.diff
          5 kB
        4. qtbug82945_tpl_test.zip
          2 kB
        5. qtbug82945.zip
          3 kB

        Issue Links

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

          Activity

            People

              fabiankosmale Fabian Kosmale
              kleint Friedemann Kleint
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There is 1 open Gerrit change