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

ActiveQt fails to handle VT_UNKNOWN

    XMLWordPrintable

Details

    • Windows
    • f735057e8b (qt/qtactiveqt/dev) e2edd90ab1 (qt/qtactiveqt/6.4) e2edd90ab1 (qt/tqtc-qtactiveqt/6.4) f735057e8b (qt/tqtc-qtactiveqt/dev) e2edd90ab1 (qt/qtactiveqt/6.4.1) e2edd90ab1 (qt/tqtc-qtactiveqt/6.4.1) e2edd90ab1 (qt/tqtc-qtactiveqt/tqtc/qtinsight-6.4)

    Description

      ActiveQt fails to handle VT_UNKNOWN the same way it does VT_DISPATCH, as a result, ActiveQt fails to recover wrapped IID_IAxServerBase objects.

      This ActiveQt bug was exposed by another bug in pywin32:
      https://github.com/mhammond/pywin32/issues/1934

      When doing something like this in Python:
      foo = server.getFoo()
      server.doSomething(foo)

      If "foo" is created by ActiveQt, then pywin32 passes the object as a VT_UNKNOWN, instead of a VT_DISPATCH, so ActiveQt fails to recover the object.

      ActiveQt should do the same for both VT_DISPATCH and VT_UNKNOWN and attempt to Query Interface for IID_IAxServerBase in order to unwrap it and retrieve the correct object.

      Attachments

        Issue Links

          Activity

            People

              kleint Friedemann Kleint
              nagrohn Nahomi Gröhn (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: