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

ActiveQt: Metaobject handling is broken

    XMLWordPrintable

    Details

    • Commits:
      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

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

            Activity

              People

              Assignee:
              e0348803 Miikka Heikkinen
              Reporter:
              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