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

ActiveQt: Metaobject handling is broken

    XMLWordPrintable

Details

    • 21aa7ac4d14243996606a91a4ad462389aa5c7f1

    Description

      1) Due to changes to metaobjects, QAxBase::qt_static_metacall has replaced a direct qt_metacall use in ActiveQt. The qt_static_metacall function offsets the method id, which seems to be necessary when slots are invoked via Qt, but breaks when invocation comes via COM interface.
      Fix is to correct the offset where necessary.

      2) In MetaObjectGenerator::metaObject() function (qaxbase.cpp), the assert Q_ASSERT(!typeName.isEmpty()) is wrong, as empty typename is a valid result here.
      Fix is to remove the assert.

      3) The type_map in qaxserver.cpp needs "void" -> "void" mapping, as QMetaMethod::typeName() no longer returns empty string for void.

      Attachments

        Issue Links

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

          Activity

            People

              e0348803 Miikka Heikkinen
              e0348803 Miikka Heikkinen
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes